@latticexyz/explorer 2.2.24-c51b045b2fcc364fa55495dd758071c24f01f94b → 2.2.24-feeadcd5131f2e3452a108d3838dcd42c39c05e8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.next/standalone/packages/explorer/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/explorer/.next/app-build-manifest.json +55 -55
  3. package/.next/standalone/packages/explorer/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/packages/explorer/.next/build-manifest.json +5 -5
  5. package/.next/standalone/packages/explorer/.next/prerender-manifest.json +1 -1
  6. package/.next/standalone/packages/explorer/.next/react-loadable-manifest.json +1 -1
  7. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/decode/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/packages/explorer/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/packages/explorer/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/packages/explorer/.next/server/app/_not-found.rsc +1 -1
  18. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.html +1 -1
  20. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.rsc +1 -1
  21. package/.next/standalone/packages/explorer/.next/server/app-paths-manifest.json +4 -4
  22. package/.next/standalone/packages/explorer/.next/server/chunks/2482.js +1 -1
  23. package/.next/standalone/packages/explorer/.next/server/chunks/3556.js +1 -1
  24. package/.next/standalone/packages/explorer/.next/server/chunks/8266.js +2 -2
  25. package/.next/standalone/packages/explorer/.next/server/middleware-build-manifest.js +1 -1
  26. package/.next/standalone/packages/explorer/.next/server/middleware-react-loadable-manifest.js +1 -1
  27. package/.next/standalone/packages/explorer/.next/server/pages/404.html +1 -1
  28. package/.next/standalone/packages/explorer/.next/server/pages/500.html +1 -1
  29. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.js +1 -1
  30. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.json +1 -1
  31. package/.next/standalone/packages/explorer/.next/static/chunks/102.80c8ee0ae4f37c36.js +1 -0
  32. package/.next/standalone/packages/explorer/.next/static/chunks/170.9429fa7b277a0053.js +1 -0
  33. package/.next/standalone/packages/explorer/.next/static/chunks/{5820.3e93ce514a5a2039.js → 5820.8ab8d986b8e1df69.js} +1 -1
  34. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/{page-3aa583846ba9ff0c.js → page-a3c60de8ddab8fef.js} +1 -1
  35. package/.next/standalone/packages/explorer/.next/static/chunks/{webpack-69226089b4d94757.js → webpack-780f2e070446a913.js} +1 -1
  36. package/package.json +10 -10
  37. package/.next/standalone/packages/explorer/.next/static/chunks/102.24ed6e4d0d32b0ec.js +0 -1
  38. package/.next/standalone/packages/explorer/.next/static/chunks/170.26a06a99ec2cba44.js +0 -1
  39. /package/.next/standalone/packages/explorer/.next/static/{Rhe6_OD6TtQQdQZz_orZh → q4WB7F6OcuQbjb0LYPWbV}/_buildManifest.js +0 -0
  40. /package/.next/standalone/packages/explorer/.next/static/{Rhe6_OD6TtQQdQZz_orZh → q4WB7F6OcuQbjb0LYPWbV}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=3556,exports.ids=[3556],exports.modules={4933:(e,t,a)=>{Promise.resolve().then(a.bind(a,60732))},69217:(e,t,a)=>{Promise.resolve().then(a.bind(a,17666))},60732:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var r=a(71890),s=a(79133),n=a(50913);a(7731);var i=a(19174),l=a(84329);let c=new i.S;function d({children:e}){return r.jsx(l.aH,{client:c,children:e})}function o({params:{chainName:e},children:t}){let a=(0,s.usePathname)(),i=(0,s.useSearchParams)();if(!(0,n.oK)(e)){let t=Number(e);if((0,n.JW)(t)){let r=n.is[t],l=a.replace(e,r);if(a!==l){let e=i.toString(),t=e?`${l}?${e}`:`${l}`;return(0,s.redirect)(t)}}return(0,s.notFound)()}return r.jsx(d,{children:t})}},17666:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eN});var r=a(71890),s=a(79133),n=a(50913),i=a(35488),l=a(51740),c=a(27347),d=a(42482),o=a(84105),u=a(10596),p=a(60740),f=a(8768),h=a(64305),m=a(47750);function x(){let{id:e}=(0,d.A)(),{data:t}=(0,h.O)({watch:!0,chainId:e,query:{refetchInterval:1e3}});return r.jsx("div",{className:"inline-block w-[80px]",children:t?(0,r.jsxs)("div",{className:"flex items-center justify-end gap-x-2 text-xs font-extrabold text-green-600",children:[r.jsx("span",{className:"inline-block h-[8px] w-[8px] animate-pulse rounded-full bg-success"}),r.jsx("span",{className:"opacity-70",children:t.toString()})]}):r.jsx(m.O,{className:"h-[10px]"})})}var b=a(7545),y=a(13601),g=a(67686),w=a(71424),j=a(73766),v=a(12868),N=a(34011),k=a(65637),C=a(91646),S=a(89834),E=a(63410),z=a(82473),P=a(39779),O=a(87112),T=a(29754),U=a(50716);let _=["0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80","0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d","0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a","0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6","0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a","0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba","0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e","0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356","0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97","0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6"].map(e=>(0,T.L)(e)),I=e=>{let t=e!==v.O.id;return _.map((e,a)=>(function({id:e,name:t,accounts:a,disabled:r}){if(!a.length)throw Error("missing accounts");let s=!1;return(0,U.K)(()=>({id:e,name:t,type:"anvil",accounts:a,connect:async()=>(s=!0,{accounts:a.map(e=>e.address),chainId:v.O.id}),async disconnect(){s=!1},getAccounts:async()=>a.map(e=>e.address),getChainId:async()=>v.O.id,getProvider:async()=>(0,O.d)()({chain:v.O}),async isAuthorized(){return!r&&!!s&&!!(await this.getAccounts()).length},async onAccountsChanged(){},async onDisconnect(){},onChainChanged(){}}))})({id:`anvil-${a}`,name:`Anvil #${a+1}`,accounts:[e],disabled:t}))};function $(e){return"anvil"===e.type}var A=a(3090),F=a(44740),R=a(34240);function q({connector:e}){let t=e.accounts[0]?.address,{data:a}=(0,C.K)({address:t,query:{refetchInterval:15e3,select:e=>e?.value,enabled:!!t}});return(0,r.jsxs)(F.Ql,{value:e.id,className:"font-mono",children:[e.name,void 0!==a&&` (${(0,y.az)(a)} ETH)`," ",t&&(0,r.jsxs)("span",{className:"opacity-70",children:["(",r.jsx(R.a,{hex:t}),")"]})]},t)}function Z(){let[e,t]=(0,P.useState)(!1),{connector:a}=(0,S.m)(),{connect:s}=(0,E.$)(),{openConnectModal:n}=(0,N.We)(),i=[...(0,z.Y)().filter($)];return(0,r.jsxs)(F.Ph,{open:e,onOpenChange:t,value:a?.id,onValueChange:e=>{let t=i.find(t=>t.id===e);t&&s({connector:t})},children:[r.jsx(A.z,{size:"sm",asChild:!0,children:(0,r.jsxs)(F.i4,{children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"}),r.jsx(F.ki,{placeholder:"Connect"})]})}),(0,r.jsxs)(F.Bw,{children:[i.map(e=>r.jsx(q,{connector:e},e.id)),(0,r.jsxs)(A.z,{size:"sm",className:"mt-2 w-full font-mono",onClick:()=>{t(!1),n?.()},children:[r.jsx(k.Z,{className:"mr-2 inline-block h-4 w-4"}),"Add wallet"]})]})]})}function D(){let{id:e}=(0,d.A)();return r.jsx(N.NL.Custom,{children:({account:t,chain:a,openAccountModal:s,openChainModal:n,openConnectModal:i,mounted:l})=>r.jsx("div",{className:(0,y.cn)({"pointer-events-none select-none opacity-0":!l}),children:l&&t&&a?a.unsupported?(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:n,children:[r.jsx(j.Z,{className:"mr-2 inline-block h-4 w-4"}),"Wrong network"]}):r.jsx("div",{className:"flex-wrap gap-2",children:(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:s,variant:"secondary",children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"}),t.displayName,r.jsx("span",{className:"ml-2 font-normal opacity-70",children:t.displayBalance?` (${t.displayBalance})`:""})]})}):e===v.O.id?r.jsx(Z,{}):(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:i,children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"})," Connect"]})})})}var K=a(94050);function W({href:e,children:t}){let a=(0,s.usePathname)(),n=(0,u.g)(),i=a.split("?")[0],l=n(e).split("?")[0];return r.jsx(c.default,{href:n(e),className:"group px-3 text-sm font-semibold uppercase",children:r.jsx("span",{className:(0,y.cn)("flex border-b-4 border-transparent pb-3 pt-4 transition group-hover:border-orange-500/30",i===l?"border-orange-500 group-hover:border-orange-400":null),children:t})})}function B(){let e=(0,d.A)(),{worldAddress:t}=(0,s.useParams)(),{data:a}=(0,f.nQ)(e),n=a?.get(t);return(0,r.jsxs)("div",{className:"flex items-center gap-x-2 text-sm",children:[r.jsx("span",{className:"mx-2 opacity-30",children:"|"}),n&&(0,r.jsxs)("span",{className:"flex items-center gap-x-2 text-sm font-semibold",children:[n," ",r.jsx(i.Z,{className:"h-4 w-4 text-green-500"})]}),r.jsx("span",{className:"text-white/70",children:r.jsx(R.a,{hex:t})}),r.jsx(K.q,{value:t})]})}function H(){let e=(0,o.G)(),{data:t,isFetched:a}=(0,p.b)();return(0,r.jsxs)("div",{className:"pb-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"-mx-3 flex",children:[r.jsx(W,{href:"explore",children:"Explore"}),!e&&r.jsx(W,{href:"interact",children:"Interact"}),r.jsx(W,{href:"observe",children:"Observe"}),r.jsx(W,{href:"decode",children:"Decode"}),r.jsx(B,{})]}),a&&!t?.isWorldDeployed&&(0,r.jsxs)("h4",{className:"font-mono text-sm font-bold uppercase opacity-70",children:["Waiting for world deploy ",r.jsx(l.Z,{className:"inline-block h-4 w-4 animate-spin"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-x-4",children:[r.jsx(x,{}),r.jsx(g.Y,{size:"sm"}),e?null:r.jsx(D,{})]})]}),r.jsx(b.Separator,{})]})}var L=a(94144),Y=a(52287),M=a(65187),G=a(56445),V=a(83489);a(7731);var Q=a(38494),J=a(5782),X=a(70318),ee=a(94600),et=a(19174),ea=a(84329);let er=new et.S;function es({children:e}){let t=(0,d.A)(),a=(0,P.useMemo)(()=>{let e=I(t.id),a=(0,N.a3)([{groupName:"Recommended",wallets:[Q.U,J.P,X.D,ee.l]}],{appName:"Worlds Explorer",projectId:process.env.NEXT_PUBLIC_PROJECT_ID});return(0,L._)({chains:[t],connectors:[...a,...e],transports:{[t.id]:t.rpcUrls.default.webSocket?(0,Y.t)([(0,M.j)(t.rpcUrls.default.webSocket[0]),(0,O.d)(t.rpcUrls.default.http[0])]):(0,O.d)(t.rpcUrls.default.http[0])},ssr:!0,pollingInterval:{[t.id]:31337===t.id?100:500}})},[t]);return r.jsx(G.F,{config:a,children:r.jsx(ea.aH,{client:er,children:r.jsx(N.pj,{theme:(0,V.$)(),children:e})})})}var en=a(76813),ei=a(67724),el=a(64729),ec=a(30955),ed=a(9567),eo=a(49638),eu=a(34437),ep=a(82996),ef=a(27607),eh=a(75320),em=a(1206),ex=a(69386),eb=a(91805),ey=a(24990),eg=a(94900);let ew={type:"event",name:"UserOperationEvent",inputs:[{type:"bytes32",name:"userOpHash",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"paymaster",indexed:!0},{type:"uint256",name:"nonce",indexed:!1},{type:"bool",name:"success",indexed:!1},{type:"uint256",name:"actualGasCost",indexed:!1},{type:"uint256",name:"actualGasUsed",indexed:!1}]};function ej({abi:e,target:t,data:a,value:r}){let s,n,i;try{let t=(0,en.p)({abi:e,data:a});if(s=t.functionName,n=t.args,"callFrom"===s){let[t,,a]=n,r=(0,en.p)({abi:e,data:a});s=r.functionName,n=r.args,i=t}}catch(e){s=a.length>10?a.slice(0,10):"unknown"}return{to:t,from:i,functionName:s,args:n,value:r}}function ev(){let{id:e}=(0,d.A)(),{worldAddress:t}=(0,s.useParams)(),a=(0,eu.Z)(),{data:r}=(0,p.b)(),n=r?.abi,{transactions:i,setTransaction:l,updateTransaction:c}=(0,eb.oR)(eg.h);(0,eb.oR)(ey.store,e=>e.writes);let o=(0,P.useCallback)(({hash:e,writeId:a,timestamp:r,receipt:s,transaction:i,userOperation:c})=>{if(!n)return;let{functionName:d,args:o}=(0,en.p)({abi:(0,ei.V)(["function execute(address target, uint256 value, bytes calldata data)","function executeBatch((address target,uint256 value,bytes data)[])"]),data:c.callData}),u=(function({abi:e,functionName:t,decodedArgs:a}){if("execute"===t){let t=a[0],r=a[1];return[ej({abi:e,target:t,data:a[2],value:r})]}return"executeBatch"===t?a[0].map(({target:t,data:a,value:r})=>ej({abi:e,target:t,data:a,value:r})):[]})({abi:n,functionName:d,decodedArgs:o}).filter(({to:e})=>e&&(0,el.K)(e)===(0,el.K)(t));if(0===u.length)return;let p=(0,ec.h)({abi:[...n,ew],logs:s.logs}),f=p.find(({eventName:e})=>"UserOperationEvent"===e);l({hash:e,writeId:a??e,from:u[0]?.from??i.from,timestamp:r,transaction:i,calls:u,receipt:s,logs:p,value:i.value,status:f&&"success"in f.args&&f.args.success?"success":"reverted"})},[n,l,t]),u=(0,P.useCallback)(async({writeId:e,timestamp:t,transaction:r})=>{if(!n)return;let s=r.hash,i=await (0,ef.e)(a,{hash:r.hash});for(let a of(0,en.p)({abi:ed.iH,data:r.input}).args[0])o({hash:s,writeId:e,timestamp:t,receipt:i,transaction:r,userOperation:a})},[n,o,a]),f=(0,P.useCallback)(async({writeId:e,hash:r,timestamp:s,transaction:i})=>{let d,o,u,p;if(!n||!i.to)return;try{let e=(0,en.p)({abi:n,data:i.input});d=e.functionName,o=e.args}catch(e){u=e,d=i.input.length>10?i.input.slice(0,10):"unknown"}l({hash:r,writeId:e??r,from:i.from,timestamp:s,transaction:i,status:"pending",calls:[{to:i.to,functionName:d,args:o}],value:i.value});try{p=await (0,ef.e)(a,{hash:r})}catch{console.error(`Failed to fetch transaction receipt. Transaction hash: ${r}`)}if(p&&"reverted"===p.status&&d)try{await (0,eh.a)(a,{account:i.from,address:t,abi:n,value:i.value,blockNumber:p.blockNumber,functionName:d,args:o})}catch(e){u=e}let f=p?p.status:"unknown",h=(0,ec.h)({abi:n,logs:p?.logs||[]});c(r,{receipt:p,logs:h,status:f,error:u})},[n,a,t,l,c]),h=(0,P.useCallback)(async({hash:e,writeId:r,timestamp:s})=>{if(!n)return;let i=await (0,em.f)(a,{hash:e});i.to&&(0,el.K)(i.to)===(0,el.K)(eo.VU)?u({writeId:r,timestamp:s,transaction:i}):i.to&&(0,el.K)(i.to)===(0,el.K)(t)&&f({hash:e,writeId:r,timestamp:s,transaction:i})},[n,a,t,u,f]);return(0,ep.C)({chainId:e,async onBlock(t){for(let r of t.transactions??(await (0,ex.Q)(a,{chainId:e,blockHash:t.hash})).transactions)i.find(e=>e.hash===r)||h({hash:r,timestamp:t.timestamp})}}),null}function eN({params:{chainName:e},children:t}){return(0,n.oK)(e)?(0,r.jsxs)(es,{children:[r.jsx(H,{}),t,r.jsx(ev,{})]}):(0,s.notFound)()}},94900:(e,t,a)=>{"use strict";a.d(t,{h:()=>r});let r=(0,a(94140).M)()(e=>({transactions:[],setTransaction:t=>e(e=>({transactions:[...e.transactions,t]})),updateTransaction:(t,a)=>e(e=>({transactions:e.transactions.map(e=>e.hash===t?{...e,...a}:e)}))}))},42482:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(79133),s=a(50913);function n(){let{chainName:e}=(0,r.useParams)();return(0,s.Yx)(e),s.df[e]}},29589:(e,t,a)=>{"use strict";a.d(t,{Y:()=>i});var r=a(12868),s=a(50913),n=a(88368);function i(e){(0,s.wG)(e);let t=(0,n.k)().INDEXER_PORT;if(e===r.O.id)return{type:"sqlite",url:new URL("/q",`http://localhost:${t}`).toString()};let a=s.is[e];return{type:"hosted",url:new URL("/q",s.df[a].indexerUrl).toString()}}},60740:(e,t,a)=>{"use strict";a.d(t,{b:()=>i});var r=a(79133),s=a(75834),n=a(50913);function i(){let{chainName:e,worldAddress:t}=(0,r.useParams)();(0,n.Yx)(e);let{id:a}=n.df[e];return(0,s.a)({queryKey:["worldAbi",e,t],queryFn:async()=>{let e=await fetch(`/api/world-abi?${new URLSearchParams({chainId:a.toString(),worldAddress:t})}`);return await e.json()},select:e=>({abi:e.abi||[],isWorldDeployed:e.isWorldDeployed}),refetchInterval:5e3})}},8768:(e,t,a)=>{"use strict";a.d(t,{Tl:()=>f,nQ:()=>p});var r=a(79133),s=a(64729),n=a(39779),i=a(75834),l=a(50913),c=a(29589);async function d(e){let t=await fetch(`/api/verified-worlds?chainId=${e.id}`);return await t.json()}async function o(e){let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{query:"SELECT DISTINCT address FROM __mudStoreTables"}])});if(!t.ok)throw Error(`HTTP error! Status: ${t.status}`);let a=(await t.json()).result[0];return a&&Array.isArray(a)&&!(a.length<2)?a.slice(1).map(e=>(0,s.K)(e[0])):[]}async function u(e){if(!("blockExplorers"in e)||!e.blockExplorers?.default.url)return[];let t=`${e.blockExplorers.default.url}/api/v2/mud/worlds`,a=await fetch(t);if(!a.ok)throw Error(`HTTP error! Status: ${a.status}`);return(await a.json()).items.map(e=>(0,s.K)(e.address.hash))}function p(e){return(0,i.a)({queryKey:["verifiedWorlds",e.id],queryFn:async()=>{try{let t=await d(e);return new Map(t.map(e=>[e.address,e.name]))}catch(e){return console.error("Failed to fetch verified worlds:",e),new Map}},refetchInterval:5e3})}function f(){let{chainName:e}=(0,r.useParams)();(0,l.Yx)(e);let t=l.df[e],a=(0,c.Y)(t.id),s=p(t),d=(0,i.a)({queryKey:["indexerWorlds",t.id,a.type],queryFn:async()=>"sqlite"===a.type?await o(a):await u(t),refetchInterval:5e3});return{data:(0,n.useMemo)(()=>{let e=[],t=new Set;if(s.data)for(let[a,r]of s.data)t.add(a),e.push({address:a,name:r,verified:!0});if(d.data)for(let a of d.data)t.has(a)||e.push({address:a,name:"",verified:!1});return{worlds:e.sort(e=>e.verified?-1:1)}},[s.data,d.data]),isLoading:{verified:s.isLoading,indexer:d.isLoading},isError:s.isError||d.isError,error:s.error||d.error,isSuccess:s.isSuccess||d.isSuccess}}},50913:(e,t,a)=>{"use strict";a.d(t,{is:()=>h,M0:()=>p,JW:()=>m,oK:()=>x,df:()=>f,wG:()=>b,Yx:()=>y});var r=a(12868),s=a(8725),n=a(88723),i=a(5631),l=a(23713);s.t;var c={...n.g,iconUrls:["https://redstone.xyz/chain-icons/redstone.png"],indexerUrl:"https://indexer.mud.redstonechain.com"},d={...i.T,rpcUrls:{...i.T.rpcUrls,bundler:i.T.rpcUrls.default},contracts:{...i.T.contracts,quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},iconUrls:["https://redstone.xyz/chain-icons/garnet.png"],indexerUrl:"https://indexer.mud.garnetchain.com"},o={http:["https://rpc.pyropechain.com"],webSocket:["wss://rpc.pyropechain.com"]},u={...l.i,name:"Pyrope Testnet",testnet:!0,id:695569,sourceId:11155111,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:o,bundler:o},contracts:{...l.i.contracts,l1StandardBridge:{11155111:{address:"0xC24932c31D9621aE9e792576152B7ef010cFC2F8"}},quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.pyropechain.com"},worldsExplorer:{name:"MUD Worlds Explorer",url:"https://explorer.mud.dev/pyrope/worlds"}},iconUrls:["https://lattice.xyz/brand/color/pyrope.svg"],indexerUrl:"https://indexer.mud.pyropechain.com"};let p=["world","store","metadata","puppet","erc20-puppet","erc721-puppet"],f={anvil:r.O,redstone:c,garnet:d,pyrope:u},h=Object.fromEntries(Object.entries(f).map(([e,t])=>[t.id,e]));function m(e){return"number"==typeof e&&e in h}function x(e){return"string"==typeof e&&e in f}function b(e){if(!m(e))throw Error(`Invalid chain ID. Supported chains are: ${Object.keys(h).join(", ")}.`)}function y(e){if(!x(e))throw Error(`Invalid chain name. Supported chains are: ${Object.keys(f).join(", ")}.`)}},67686:(e,t,a)=>{"use strict";a.d(t,{Y:()=>p});var r=a(71890),s=a(41426),n=a(79133),i=a(12868),l=a(88368),c=a(50913),d=a(13601),o=a(44740);let u={anvil:{src:"/_next/static/media/anvil.45611c84.svg",height:128,width:128,blurWidth:0,blurHeight:0},garnet:{src:"/_next/static/media/garnet.56a2df4a.svg",height:60,width:60,blurWidth:0,blurHeight:0},pyrope:{src:"/_next/static/media/pyrope.5e67ee10.svg",height:200,width:200,blurWidth:0,blurHeight:0},redstone:{src:"/_next/static/media/redstone.6cdcda67.svg",height:60,width:60,blurWidth:0,blurHeight:0}};function p({className:e,size:t="default"}){let a=(0,n.useRouter)(),{chainName:p}=(0,n.useParams)(),f=Number((0,l.k)().CHAIN_ID);return(0,r.jsxs)(o.Ph,{value:p,onValueChange:e=>{a.push(`/${e}/worlds`)},children:[r.jsx(o.i4,{className:(0,d.cn)("w-auto",e),size:t,children:r.jsx(o.ki,{placeholder:"Select chain"})}),r.jsx(o.Bw,{children:Object.entries(c.df).filter(([,e])=>f===i.O.id||e.id!==i.O.id).map(([e,t])=>r.jsx(o.Ql,{value:e,children:(0,r.jsxs)("div",{className:"flex items-center gap-x-2 pr-2",children:[u[e]&&r.jsx(s.default,{src:u[e],alt:t.name,width:24,height:24}),t.id===i.O.id?"Local":(0,d.kC)(e)]})},e))})]})}},94050:(e,t,a)=>{"use strict";a.d(t,{q:()=>d});var r=a(71890),s=a(82578),n=a(10204),i=a(39779),l=a(13601),c=a(3090);function d({className:e,variant:t="outline",value:a,...d}){let[o,u]=(0,i.useState)(!1);return(0,r.jsxs)(c.z,{size:"icon",variant:t,className:(0,l.cn)("relative z-10 h-6 w-6 border-white/15 bg-transparent text-zinc-50 hover:bg-secondary hover:text-zinc-50 [&_svg]:h-3 [&_svg]:w-3",e),onClick:()=>{navigator.clipboard.writeText(a),u(!0)},...d,children:[r.jsx("span",{className:"sr-only",children:"Copy"}),o?r.jsx(s.Z,{}):r.jsx(n.Z,{})]})}},44740:(e,t,a)=>{"use strict";a.d(t,{Bw:()=>b,Ph:()=>p,Ql:()=>y,i4:()=>h,ki:()=>f});var r=a(71890),s=a(16817),n=a(61063),i=a(82578),l=a(23814),c=a(39779),d=a(11167),o=a(13601);let u=(0,l.j)((0,o.cn)("flex items-center justify-between","rounded-md border border-input bg-background ring-offset-background","placeholder:text-muted-foreground","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1"),{variants:{size:{default:"h-12 w-full px-3 py-2 text-sm",sm:"h-9 w-full px-3 py-1 text-sm",lg:"h-11 w-full px-4 py-2 text-base",icon:"h-10 w-10 p-2"}},defaultVariants:{size:"default"}}),p=d.fC;d.ZA;let f=d.B4,h=c.forwardRef(({className:e,children:t,size:a,...n},i)=>(0,r.jsxs)(d.xz,{ref:i,className:(0,o.cn)(u({size:a,className:e})),...n,children:[t,r.jsx(d.JO,{asChild:!0,children:r.jsx(s.Z,{className:"h-4 w-4 opacity-50"})})]}));h.displayName=d.xz.displayName;let m=c.forwardRef(({className:e,...t},a)=>r.jsx(d.u_,{ref:a,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(n.Z,{className:"h-4 w-4"})}));m.displayName=d.u_.displayName;let x=c.forwardRef(({className:e,...t},a)=>r.jsx(d.$G,{ref:a,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(s.Z,{className:"h-4 w-4"})}));x.displayName=d.$G.displayName;let b=c.forwardRef(({className:e,children:t,position:a="popper",...s},n)=>r.jsx(d.h_,{children:(0,r.jsxs)(d.VY,{ref:n,className:(0,o.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden","rounded-md border bg-popover text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0","data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...s,children:[r.jsx(m,{}),r.jsx(d.l_,{className:(0,o.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),r.jsx(x,{})]})}));b.displayName=d.VY.displayName,c.forwardRef(({className:e,...t},a)=>r.jsx(d.__,{ref:a,className:(0,o.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t})).displayName=d.__.displayName;let y=c.forwardRef(({className:e,children:t,...a},s)=>(0,r.jsxs)(d.ck,{ref:s,className:(0,o.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...a,children:[r.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(d.wU,{children:r.jsx(i.Z,{className:"h-4 w-4"})})}),r.jsx(d.eT,{children:t})]}));y.displayName=d.ck.displayName,c.forwardRef(({className:e,...t},a)=>r.jsx(d.Z0,{ref:a,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=d.Z0.displayName},7545:(e,t,a)=>{"use strict";a.d(t,{Separator:()=>l});var r=a(71890),s=a(39779),n=a(1922),i=a(13601);let l=s.forwardRef(({className:e,orientation:t="horizontal",decorative:a=!0,...s},l)=>r.jsx(n.f,{ref:l,decorative:a,orientation:t,className:(0,i.cn)("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...s}));l.displayName=n.f.displayName},47750:(e,t,a)=>{"use strict";a.d(t,{O:()=>n});var r=a(71890),s=a(13601);function n({className:e,...t}){return r.jsx("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",e),...t})}},34240:(e,t,a)=>{"use strict";a.d(t,{a:()=>s});var r=a(71890);function s({hex:e}){return e.length<=10?r.jsx("span",{children:e}):(0,r.jsxs)("span",{children:[r.jsx("span",{className:"after:select-none after:content-['…']",children:e.slice(0,6)}),r.jsx("span",{className:"tracking-[-1ch] text-transparent",children:e.slice(6,-4)}),e.slice(-4)]})}},83831:(e,t,a)=>{"use strict";a.r(t),a.d(t,{$$typeof:()=>i,__esModule:()=>n,default:()=>l});var r=a(76919);let s=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/layout.tsx`),{__esModule:n,$$typeof:i}=s;s.default;let l=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/layout.tsx#default`)},46936:(e,t,a)=>{"use strict";a.r(t),a.d(t,{$$typeof:()=>i,__esModule:()=>n,default:()=>l});var r=a(76919);let s=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/layout.tsx`),{__esModule:n,$$typeof:i}=s;s.default;let l=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/layout.tsx#default`)}};
1
+ exports.id=3556,exports.ids=[3556],exports.modules={4933:(e,t,a)=>{Promise.resolve().then(a.bind(a,60732))},69217:(e,t,a)=>{Promise.resolve().then(a.bind(a,17666))},60732:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var r=a(71890),s=a(79133),n=a(50913);a(7731);var i=a(19174),l=a(84329);let c=new i.S;function d({children:e}){return r.jsx(l.aH,{client:c,children:e})}function o({params:{chainName:e},children:t}){let a=(0,s.usePathname)(),i=(0,s.useSearchParams)();if(!(0,n.oK)(e)){let t=Number(e);if((0,n.JW)(t)){let r=n.is[t],l=a.replace(e,r);if(a!==l){let e=i.toString(),t=e?`${l}?${e}`:`${l}`;return(0,s.redirect)(t)}}return(0,s.notFound)()}return r.jsx(d,{children:t})}},17666:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eN});var r=a(71890),s=a(79133),n=a(50913),i=a(35488),l=a(51740),c=a(27347),d=a(42482),o=a(84105),u=a(10596),p=a(60740),f=a(8768),h=a(64305),m=a(47750);function x(){let{id:e}=(0,d.A)(),{data:t}=(0,h.O)({watch:!0,chainId:e,query:{refetchInterval:1e3}});return r.jsx("div",{className:"inline-block w-[80px]",children:t?(0,r.jsxs)("div",{className:"flex items-center justify-end gap-x-2 text-xs font-extrabold text-green-600",children:[r.jsx("span",{className:"inline-block h-[8px] w-[8px] animate-pulse rounded-full bg-success"}),r.jsx("span",{className:"opacity-70",children:t.toString()})]}):r.jsx(m.O,{className:"h-[10px]"})})}var b=a(7545),y=a(13601),g=a(67686),w=a(71424),j=a(73766),v=a(12868),N=a(34011),k=a(65637),C=a(91646),S=a(89834),E=a(63410),z=a(82473),P=a(39779),O=a(87112),T=a(29754),U=a(50716);let _=["0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80","0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d","0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a","0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6","0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a","0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba","0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e","0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356","0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97","0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6"].map(e=>(0,T.L)(e)),I=e=>{let t=e!==v.O.id;return _.map((e,a)=>(function({id:e,name:t,accounts:a,disabled:r}){if(!a.length)throw Error("missing accounts");let s=!1;return(0,U.K)(()=>({id:e,name:t,type:"anvil",accounts:a,connect:async()=>(s=!0,{accounts:a.map(e=>e.address),chainId:v.O.id}),async disconnect(){s=!1},getAccounts:async()=>a.map(e=>e.address),getChainId:async()=>v.O.id,getProvider:async()=>(0,O.d)()({chain:v.O}),async isAuthorized(){return!r&&!!s&&!!(await this.getAccounts()).length},async onAccountsChanged(){},async onDisconnect(){},onChainChanged(){}}))})({id:`anvil-${a}`,name:`Anvil #${a+1}`,accounts:[e],disabled:t}))};function $(e){return"anvil"===e.type}var A=a(3090),F=a(44740),R=a(34240);function q({connector:e}){let t=e.accounts[0]?.address,{data:a}=(0,C.K)({address:t,query:{refetchInterval:15e3,select:e=>e?.value,enabled:!!t}});return(0,r.jsxs)(F.Ql,{value:e.id,className:"font-mono",children:[e.name,void 0!==a&&` (${(0,y.az)(a)} ETH)`," ",t&&(0,r.jsxs)("span",{className:"opacity-70",children:["(",r.jsx(R.a,{hex:t}),")"]})]},t)}function Z(){let[e,t]=(0,P.useState)(!1),{connector:a}=(0,S.m)(),{connect:s}=(0,E.$)(),{openConnectModal:n}=(0,N.We)(),i=[...(0,z.Y)().filter($)];return(0,r.jsxs)(F.Ph,{open:e,onOpenChange:t,value:a?.id,onValueChange:e=>{let t=i.find(t=>t.id===e);t&&s({connector:t})},children:[r.jsx(A.z,{size:"sm",asChild:!0,children:(0,r.jsxs)(F.i4,{children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"}),r.jsx(F.ki,{placeholder:"Connect"})]})}),(0,r.jsxs)(F.Bw,{children:[i.map(e=>r.jsx(q,{connector:e},e.id)),(0,r.jsxs)(A.z,{size:"sm",className:"mt-2 w-full font-mono",onClick:()=>{t(!1),n?.()},children:[r.jsx(k.Z,{className:"mr-2 inline-block h-4 w-4"}),"Add wallet"]})]})]})}function D(){let{id:e}=(0,d.A)();return r.jsx(N.NL.Custom,{children:({account:t,chain:a,openAccountModal:s,openChainModal:n,openConnectModal:i,mounted:l})=>r.jsx("div",{className:(0,y.cn)({"pointer-events-none select-none opacity-0":!l}),children:l&&t&&a?a.unsupported?(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:n,children:[r.jsx(j.Z,{className:"mr-2 inline-block h-4 w-4"}),"Wrong network"]}):r.jsx("div",{className:"flex-wrap gap-2",children:(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:s,variant:"secondary",children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"}),t.displayName,r.jsx("span",{className:"ml-2 font-normal opacity-70",children:t.displayBalance?` (${t.displayBalance})`:""})]})}):e===v.O.id?r.jsx(Z,{}):(0,r.jsxs)(A.z,{type:"button",size:"sm",onClick:i,children:[r.jsx(w.Z,{className:"mr-2 inline-block h-4 w-4"})," Connect"]})})})}var K=a(94050);function W({href:e,children:t}){let a=(0,s.usePathname)(),n=(0,u.g)(),i=a.split("?")[0],l=n(e).split("?")[0];return r.jsx(c.default,{href:n(e),className:"group px-3 text-sm font-semibold uppercase",children:r.jsx("span",{className:(0,y.cn)("flex border-b-4 border-transparent pb-3 pt-4 transition group-hover:border-orange-500/30",i===l?"border-orange-500 group-hover:border-orange-400":null),children:t})})}function B(){let e=(0,d.A)(),{worldAddress:t}=(0,s.useParams)(),{data:a}=(0,f.nQ)(e),n=a?.get(t);return(0,r.jsxs)("div",{className:"flex items-center gap-x-2 text-sm",children:[r.jsx("span",{className:"mx-2 opacity-30",children:"|"}),n&&(0,r.jsxs)("span",{className:"flex items-center gap-x-2 text-sm font-semibold",children:[n," ",r.jsx(i.Z,{className:"h-4 w-4 text-green-500"})]}),r.jsx("span",{className:"text-white/70",children:r.jsx(R.a,{hex:t})}),r.jsx(K.q,{value:t})]})}function H(){let e=(0,o.G)(),{data:t,isFetched:a}=(0,p.b)();return(0,r.jsxs)("div",{className:"pb-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"-mx-3 flex",children:[r.jsx(W,{href:"explore",children:"Explore"}),!e&&r.jsx(W,{href:"interact",children:"Interact"}),r.jsx(W,{href:"observe",children:"Observe"}),r.jsx(W,{href:"decode",children:"Decode"}),r.jsx(B,{})]}),a&&!t?.isWorldDeployed&&(0,r.jsxs)("h4",{className:"font-mono text-sm font-bold uppercase opacity-70",children:["Waiting for world deploy ",r.jsx(l.Z,{className:"inline-block h-4 w-4 animate-spin"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-x-4",children:[r.jsx(x,{}),r.jsx(g.Y,{size:"sm"}),e?null:r.jsx(D,{})]})]}),r.jsx(b.Separator,{})]})}var L=a(94144),Y=a(52287),M=a(65187),G=a(56445),V=a(83489);a(7731);var Q=a(38494),J=a(5782),X=a(70318),ee=a(94600),et=a(19174),ea=a(84329);let er=new et.S;function es({children:e}){let t=(0,d.A)(),a=(0,P.useMemo)(()=>{let e=I(t.id),a=(0,N.a3)([{groupName:"Recommended",wallets:[Q.U,J.P,X.D,ee.l]}],{appName:"Worlds Explorer",projectId:process.env.NEXT_PUBLIC_PROJECT_ID});return(0,L._)({chains:[t],connectors:[...a,...e],transports:{[t.id]:t.rpcUrls.default.webSocket?(0,Y.t)([(0,M.j)(t.rpcUrls.default.webSocket[0]),(0,O.d)(t.rpcUrls.default.http[0])]):(0,O.d)(t.rpcUrls.default.http[0])},ssr:!0,pollingInterval:{[t.id]:31337===t.id?100:500}})},[t]);return r.jsx(G.F,{config:a,children:r.jsx(ea.aH,{client:er,children:r.jsx(N.pj,{theme:(0,V.$)(),children:e})})})}var en=a(76813),ei=a(67724),el=a(64729),ec=a(30955),ed=a(9567),eo=a(49638),eu=a(34437),ep=a(82996),ef=a(27607),eh=a(41524),em=a(1206),ex=a(69386),eb=a(91805),ey=a(24990),eg=a(94900);let ew={type:"event",name:"UserOperationEvent",inputs:[{type:"bytes32",name:"userOpHash",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"paymaster",indexed:!0},{type:"uint256",name:"nonce",indexed:!1},{type:"bool",name:"success",indexed:!1},{type:"uint256",name:"actualGasCost",indexed:!1},{type:"uint256",name:"actualGasUsed",indexed:!1}]};function ej({abi:e,target:t,data:a,value:r}){let s,n,i;try{let t=(0,en.p)({abi:e,data:a});if(s=t.functionName,n=t.args,"callFrom"===s){let[t,,a]=n,r=(0,en.p)({abi:e,data:a});s=r.functionName,n=r.args,i=t}}catch(e){s=a.length>10?a.slice(0,10):"unknown"}return{to:t,from:i,functionName:s,args:n,value:r}}function ev(){let{id:e}=(0,d.A)(),{worldAddress:t}=(0,s.useParams)(),a=(0,eu.Z)(),{data:r}=(0,p.b)(),n=r?.abi,{transactions:i,setTransaction:l,updateTransaction:c}=(0,eb.oR)(eg.h);(0,eb.oR)(ey.store,e=>e.writes);let o=(0,P.useCallback)(({hash:e,writeId:a,timestamp:r,receipt:s,transaction:i,userOperation:c})=>{if(!n)return;let{functionName:d,args:o}=(0,en.p)({abi:(0,ei.V)(["function execute(address target, uint256 value, bytes calldata data)","function executeBatch((address target,uint256 value,bytes data)[])"]),data:c.callData}),u=(function({abi:e,functionName:t,decodedArgs:a}){if("execute"===t){let t=a[0],r=a[1];return[ej({abi:e,target:t,data:a[2],value:r})]}return"executeBatch"===t?a[0].map(({target:t,data:a,value:r})=>ej({abi:e,target:t,data:a,value:r})):[]})({abi:n,functionName:d,decodedArgs:o}).filter(({to:e})=>e&&(0,el.K)(e)===(0,el.K)(t));if(0===u.length)return;let p=(0,ec.h)({abi:[...n,ew],logs:s.logs}),f=p.find(({eventName:e})=>"UserOperationEvent"===e);l({hash:e,writeId:a??e,from:u[0]?.from??i.from,timestamp:r,transaction:i,calls:u,receipt:s,logs:p,value:i.value,status:f&&"success"in f.args&&f.args.success?"success":"reverted"})},[n,l,t]),u=(0,P.useCallback)(async({writeId:e,timestamp:t,transaction:r})=>{if(!n)return;let s=r.hash,i=await (0,ef.e)(a,{hash:r.hash});for(let a of(0,en.p)({abi:ed.iH,data:r.input}).args[0])o({hash:s,writeId:e,timestamp:t,receipt:i,transaction:r,userOperation:a})},[n,o,a]),f=(0,P.useCallback)(async({writeId:e,hash:r,timestamp:s,transaction:i})=>{let d,o,u,p;if(!n||!i.to)return;try{let e=(0,en.p)({abi:n,data:i.input});d=e.functionName,o=e.args}catch(e){u=e,d=i.input.length>10?i.input.slice(0,10):"unknown"}l({hash:r,writeId:e??r,from:i.from,timestamp:s,transaction:i,status:"pending",calls:[{to:i.to,functionName:d,args:o}],value:i.value});try{p=await (0,ef.e)(a,{hash:r})}catch{console.error(`Failed to fetch transaction receipt. Transaction hash: ${r}`)}if(p&&"reverted"===p.status&&d)try{await (0,eh.a)(a,{account:i.from,address:t,abi:n,value:i.value,blockNumber:p.blockNumber,functionName:d,args:o})}catch(e){u=e}let f=p?p.status:"unknown",h=(0,ec.h)({abi:n,logs:p?.logs||[]});c(r,{receipt:p,logs:h,status:f,error:u})},[n,a,t,l,c]),h=(0,P.useCallback)(async({hash:e,writeId:r,timestamp:s})=>{if(!n)return;let i=await (0,em.f)(a,{hash:e});i.to&&(0,el.K)(i.to)===(0,el.K)(eo.VU)?u({writeId:r,timestamp:s,transaction:i}):i.to&&(0,el.K)(i.to)===(0,el.K)(t)&&f({hash:e,writeId:r,timestamp:s,transaction:i})},[n,a,t,u,f]);return(0,ep.C)({chainId:e,async onBlock(t){for(let r of t.transactions??(await (0,ex.Q)(a,{chainId:e,blockHash:t.hash})).transactions)i.find(e=>e.hash===r)||h({hash:r,timestamp:t.timestamp})}}),null}function eN({params:{chainName:e},children:t}){return(0,n.oK)(e)?(0,r.jsxs)(es,{children:[r.jsx(H,{}),t,r.jsx(ev,{})]}):(0,s.notFound)()}},94900:(e,t,a)=>{"use strict";a.d(t,{h:()=>r});let r=(0,a(94140).M)()(e=>({transactions:[],setTransaction:t=>e(e=>({transactions:[...e.transactions,t]})),updateTransaction:(t,a)=>e(e=>({transactions:e.transactions.map(e=>e.hash===t?{...e,...a}:e)}))}))},42482:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(79133),s=a(50913);function n(){let{chainName:e}=(0,r.useParams)();return(0,s.Yx)(e),s.df[e]}},29589:(e,t,a)=>{"use strict";a.d(t,{Y:()=>i});var r=a(12868),s=a(50913),n=a(88368);function i(e){(0,s.wG)(e);let t=(0,n.k)().INDEXER_PORT;if(e===r.O.id)return{type:"sqlite",url:new URL("/q",`http://localhost:${t}`).toString()};let a=s.is[e];return{type:"hosted",url:new URL("/q",s.df[a].indexerUrl).toString()}}},60740:(e,t,a)=>{"use strict";a.d(t,{b:()=>i});var r=a(79133),s=a(75834),n=a(50913);function i(){let{chainName:e,worldAddress:t}=(0,r.useParams)();(0,n.Yx)(e);let{id:a}=n.df[e];return(0,s.a)({queryKey:["worldAbi",e,t],queryFn:async()=>{let e=await fetch(`/api/world-abi?${new URLSearchParams({chainId:a.toString(),worldAddress:t})}`);return await e.json()},select:e=>({abi:e.abi||[],isWorldDeployed:e.isWorldDeployed}),refetchInterval:5e3})}},8768:(e,t,a)=>{"use strict";a.d(t,{Tl:()=>f,nQ:()=>p});var r=a(79133),s=a(64729),n=a(39779),i=a(75834),l=a(50913),c=a(29589);async function d(e){let t=await fetch(`/api/verified-worlds?chainId=${e.id}`);return await t.json()}async function o(e){let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{query:"SELECT DISTINCT address FROM __mudStoreTables"}])});if(!t.ok)throw Error(`HTTP error! Status: ${t.status}`);let a=(await t.json()).result[0];return a&&Array.isArray(a)&&!(a.length<2)?a.slice(1).map(e=>(0,s.K)(e[0])):[]}async function u(e){if(!("blockExplorers"in e)||!e.blockExplorers?.default.url)return[];let t=`${e.blockExplorers.default.url}/api/v2/mud/worlds`,a=await fetch(t);if(!a.ok)throw Error(`HTTP error! Status: ${a.status}`);return(await a.json()).items.map(e=>(0,s.K)(e.address.hash))}function p(e){return(0,i.a)({queryKey:["verifiedWorlds",e.id],queryFn:async()=>{try{let t=await d(e);return new Map(t.map(e=>[e.address,e.name]))}catch(e){return console.error("Failed to fetch verified worlds:",e),new Map}},refetchInterval:5e3})}function f(){let{chainName:e}=(0,r.useParams)();(0,l.Yx)(e);let t=l.df[e],a=(0,c.Y)(t.id),s=p(t),d=(0,i.a)({queryKey:["indexerWorlds",t.id,a.type],queryFn:async()=>"sqlite"===a.type?await o(a):await u(t),refetchInterval:5e3});return{data:(0,n.useMemo)(()=>{let e=[],t=new Set;if(s.data)for(let[a,r]of s.data)t.add(a),e.push({address:a,name:r,verified:!0});if(d.data)for(let a of d.data)t.has(a)||e.push({address:a,name:"",verified:!1});return{worlds:e.sort(e=>e.verified?-1:1)}},[s.data,d.data]),isLoading:{verified:s.isLoading,indexer:d.isLoading},isError:s.isError||d.isError,error:s.error||d.error,isSuccess:s.isSuccess||d.isSuccess}}},50913:(e,t,a)=>{"use strict";a.d(t,{is:()=>h,M0:()=>p,JW:()=>m,oK:()=>x,df:()=>f,wG:()=>b,Yx:()=>y});var r=a(12868),s=a(8725),n=a(88723),i=a(5631),l=a(23713);s.t;var c={...n.g,iconUrls:["https://redstone.xyz/chain-icons/redstone.png"],indexerUrl:"https://indexer.mud.redstonechain.com"},d={...i.T,rpcUrls:{...i.T.rpcUrls,bundler:i.T.rpcUrls.default},contracts:{...i.T.contracts,quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},iconUrls:["https://redstone.xyz/chain-icons/garnet.png"],indexerUrl:"https://indexer.mud.garnetchain.com"},o={http:["https://rpc.pyropechain.com"],webSocket:["wss://rpc.pyropechain.com"]},u={...l.i,name:"Pyrope Testnet",testnet:!0,id:695569,sourceId:11155111,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:o,bundler:o},contracts:{...l.i.contracts,l1StandardBridge:{11155111:{address:"0xC24932c31D9621aE9e792576152B7ef010cFC2F8"}},quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.pyropechain.com"},worldsExplorer:{name:"MUD Worlds Explorer",url:"https://explorer.mud.dev/pyrope/worlds"}},iconUrls:["https://lattice.xyz/brand/color/pyrope.svg"],indexerUrl:"https://indexer.mud.pyropechain.com"};let p=["world","store","metadata","puppet","erc20-puppet","erc721-puppet"],f={anvil:r.O,redstone:c,garnet:d,pyrope:u},h=Object.fromEntries(Object.entries(f).map(([e,t])=>[t.id,e]));function m(e){return"number"==typeof e&&e in h}function x(e){return"string"==typeof e&&e in f}function b(e){if(!m(e))throw Error(`Invalid chain ID. Supported chains are: ${Object.keys(h).join(", ")}.`)}function y(e){if(!x(e))throw Error(`Invalid chain name. Supported chains are: ${Object.keys(f).join(", ")}.`)}},67686:(e,t,a)=>{"use strict";a.d(t,{Y:()=>p});var r=a(71890),s=a(41426),n=a(79133),i=a(12868),l=a(88368),c=a(50913),d=a(13601),o=a(44740);let u={anvil:{src:"/_next/static/media/anvil.45611c84.svg",height:128,width:128,blurWidth:0,blurHeight:0},garnet:{src:"/_next/static/media/garnet.56a2df4a.svg",height:60,width:60,blurWidth:0,blurHeight:0},pyrope:{src:"/_next/static/media/pyrope.5e67ee10.svg",height:200,width:200,blurWidth:0,blurHeight:0},redstone:{src:"/_next/static/media/redstone.6cdcda67.svg",height:60,width:60,blurWidth:0,blurHeight:0}};function p({className:e,size:t="default"}){let a=(0,n.useRouter)(),{chainName:p}=(0,n.useParams)(),f=Number((0,l.k)().CHAIN_ID);return(0,r.jsxs)(o.Ph,{value:p,onValueChange:e=>{a.push(`/${e}/worlds`)},children:[r.jsx(o.i4,{className:(0,d.cn)("w-auto",e),size:t,children:r.jsx(o.ki,{placeholder:"Select chain"})}),r.jsx(o.Bw,{children:Object.entries(c.df).filter(([,e])=>f===i.O.id||e.id!==i.O.id).map(([e,t])=>r.jsx(o.Ql,{value:e,children:(0,r.jsxs)("div",{className:"flex items-center gap-x-2 pr-2",children:[u[e]&&r.jsx(s.default,{src:u[e],alt:t.name,width:24,height:24}),t.id===i.O.id?"Local":(0,d.kC)(e)]})},e))})]})}},94050:(e,t,a)=>{"use strict";a.d(t,{q:()=>d});var r=a(71890),s=a(82578),n=a(10204),i=a(39779),l=a(13601),c=a(3090);function d({className:e,variant:t="outline",value:a,...d}){let[o,u]=(0,i.useState)(!1);return(0,r.jsxs)(c.z,{size:"icon",variant:t,className:(0,l.cn)("relative z-10 h-6 w-6 border-white/15 bg-transparent text-zinc-50 hover:bg-secondary hover:text-zinc-50 [&_svg]:h-3 [&_svg]:w-3",e),onClick:()=>{navigator.clipboard.writeText(a),u(!0)},...d,children:[r.jsx("span",{className:"sr-only",children:"Copy"}),o?r.jsx(s.Z,{}):r.jsx(n.Z,{})]})}},44740:(e,t,a)=>{"use strict";a.d(t,{Bw:()=>b,Ph:()=>p,Ql:()=>y,i4:()=>h,ki:()=>f});var r=a(71890),s=a(16817),n=a(61063),i=a(82578),l=a(23814),c=a(39779),d=a(11167),o=a(13601);let u=(0,l.j)((0,o.cn)("flex items-center justify-between","rounded-md border border-input bg-background ring-offset-background","placeholder:text-muted-foreground","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1"),{variants:{size:{default:"h-12 w-full px-3 py-2 text-sm",sm:"h-9 w-full px-3 py-1 text-sm",lg:"h-11 w-full px-4 py-2 text-base",icon:"h-10 w-10 p-2"}},defaultVariants:{size:"default"}}),p=d.fC;d.ZA;let f=d.B4,h=c.forwardRef(({className:e,children:t,size:a,...n},i)=>(0,r.jsxs)(d.xz,{ref:i,className:(0,o.cn)(u({size:a,className:e})),...n,children:[t,r.jsx(d.JO,{asChild:!0,children:r.jsx(s.Z,{className:"h-4 w-4 opacity-50"})})]}));h.displayName=d.xz.displayName;let m=c.forwardRef(({className:e,...t},a)=>r.jsx(d.u_,{ref:a,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(n.Z,{className:"h-4 w-4"})}));m.displayName=d.u_.displayName;let x=c.forwardRef(({className:e,...t},a)=>r.jsx(d.$G,{ref:a,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(s.Z,{className:"h-4 w-4"})}));x.displayName=d.$G.displayName;let b=c.forwardRef(({className:e,children:t,position:a="popper",...s},n)=>r.jsx(d.h_,{children:(0,r.jsxs)(d.VY,{ref:n,className:(0,o.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden","rounded-md border bg-popover text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0","data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...s,children:[r.jsx(m,{}),r.jsx(d.l_,{className:(0,o.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),r.jsx(x,{})]})}));b.displayName=d.VY.displayName,c.forwardRef(({className:e,...t},a)=>r.jsx(d.__,{ref:a,className:(0,o.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t})).displayName=d.__.displayName;let y=c.forwardRef(({className:e,children:t,...a},s)=>(0,r.jsxs)(d.ck,{ref:s,className:(0,o.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...a,children:[r.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(d.wU,{children:r.jsx(i.Z,{className:"h-4 w-4"})})}),r.jsx(d.eT,{children:t})]}));y.displayName=d.ck.displayName,c.forwardRef(({className:e,...t},a)=>r.jsx(d.Z0,{ref:a,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=d.Z0.displayName},7545:(e,t,a)=>{"use strict";a.d(t,{Separator:()=>l});var r=a(71890),s=a(39779),n=a(1922),i=a(13601);let l=s.forwardRef(({className:e,orientation:t="horizontal",decorative:a=!0,...s},l)=>r.jsx(n.f,{ref:l,decorative:a,orientation:t,className:(0,i.cn)("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...s}));l.displayName=n.f.displayName},47750:(e,t,a)=>{"use strict";a.d(t,{O:()=>n});var r=a(71890),s=a(13601);function n({className:e,...t}){return r.jsx("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",e),...t})}},34240:(e,t,a)=>{"use strict";a.d(t,{a:()=>s});var r=a(71890);function s({hex:e}){return e.length<=10?r.jsx("span",{children:e}):(0,r.jsxs)("span",{children:[r.jsx("span",{className:"after:select-none after:content-['…']",children:e.slice(0,6)}),r.jsx("span",{className:"tracking-[-1ch] text-transparent",children:e.slice(6,-4)}),e.slice(-4)]})}},83831:(e,t,a)=>{"use strict";a.r(t),a.d(t,{$$typeof:()=>i,__esModule:()=>n,default:()=>l});var r=a(76919);let s=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/layout.tsx`),{__esModule:n,$$typeof:i}=s;s.default;let l=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/layout.tsx#default`)},46936:(e,t,a)=>{"use strict";a.r(t),a.d(t,{$$typeof:()=>i,__esModule:()=>n,default:()=>l});var r=a(76919);let s=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/layout.tsx`),{__esModule:n,$$typeof:i}=s;s.default;let l=(0,r.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/layout.tsx#default`)}};
@@ -1,2 +1,2 @@
1
- exports.id=8266,exports.ids=[8266],exports.modules={29567:e=>{"use strict";e.exports={mask:(e,t,s,r,i)=>{for(var o=0;o<i;o++)s[r+o]=e[o]^t[3&o]},unmask:(e,t)=>{let s=e.length;for(var r=0;r<s;r++)e[r]^=t[3&r]}}},71403:(e,t,s)=>{"use strict";try{e.exports=s(14387)(__dirname)}catch(t){e.exports=s(29567)}},14387:(e,t,s)=>{let r=require;"function"==typeof r.addon?e.exports=r.addon.bind(r):e.exports=s(36900)},36900:(e,t,s)=>{var r=s(57147),i=s(71017),o=s(22037),n=require,a=process.config&&process.config.variables||{},h=!!process.env.PREBUILDS_ONLY,l=process.versions.modules,c=process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type?"electron":process.versions&&process.versions.nw?"node-webkit":"node",d=process.env.npm_config_arch||o.arch(),f=process.env.npm_config_platform||o.platform(),u=process.env.LIBC||("linux"===f&&r.existsSync("/etc/alpine-release")?"musl":"glibc"),_=process.env.ARM_VERSION||("arm64"===d?"8":a.arm_version)||"",p=(process.versions.uv||"").split(".")[0];function m(e){return n(m.resolve(e))}function y(e){try{return r.readdirSync(e)}catch(e){return[]}}function g(e,t){var s=y(e).filter(t);return s[0]&&i.join(e,s[0])}function b(e){return/\.node$/.test(e)}function v(e){var t=e.split("-");if(2===t.length){var s=t[0],r=t[1].split("+");if(s&&r.length&&r.every(Boolean))return{name:e,platform:s,architectures:r}}}function S(e,t){return function(s){return null!=s&&s.platform===e&&s.architectures.includes(t)}}function E(e,t){return e.architectures.length-t.architectures.length}function k(e){var t=e.split("."),s=t.pop(),r={file:e,specificity:0};if("node"===s){for(var i=0;i<t.length;i++){var o=t[i];if("node"===o||"electron"===o||"node-webkit"===o)r.runtime=o;else if("napi"===o)r.napi=!0;else if("abi"===o.slice(0,3))r.abi=o.slice(3);else if("uv"===o.slice(0,2))r.uv=o.slice(2);else if("armv"===o.slice(0,4))r.armv=o.slice(4);else{if("glibc"!==o&&"musl"!==o)continue;r.libc=o}r.specificity++}return r}}function x(e,t){return function(s){return null!=s&&(!s.runtime||s.runtime===e||!!("node"===s.runtime&&s.napi))&&(!s.abi||s.abi===t||!!s.napi)&&(!s.uv||s.uv===p)&&(!s.armv||s.armv===_)&&(!s.libc||s.libc===u)}}function w(e){return function(t,s){return t.runtime!==s.runtime?t.runtime===e?-1:1:t.abi!==s.abi?t.abi?-1:1:t.specificity!==s.specificity?t.specificity>s.specificity?-1:1:0}}e.exports=m,m.resolve=m.path=function(e){e=i.resolve(e||".");try{var t=n(i.join(e,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[t+"_PREBUILD"]&&(e=process.env[t+"_PREBUILD"])}catch(e){}if(!h){var s=g(i.join(e,"build/Release"),b);if(s)return s;var r=g(i.join(e,"build/Debug"),b);if(r)return r}var o=m(e);if(o)return o;var a=m(i.dirname(process.execPath));if(a)return a;throw Error("No native build was found for "+["platform="+f,"arch="+d,"runtime="+c,"abi="+l,"uv="+p,_?"armv="+_:"","libc="+u,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" ")+"\n loaded from: "+e+"\n");function m(e){var t=y(i.join(e,"prebuilds")).map(v).filter(S(f,d)).sort(E)[0];if(t){var s=i.join(e,"prebuilds",t.name),r=y(s).map(k).filter(x(c,l)).sort(w(c))[0];if(r)return i.join(s,r.file)}}},m.parseTags=k,m.matchTags=x,m.compareTags=w,m.parseTuple=v,m.matchTuple=S,m.compareTuples=E},39661:e=>{"use strict";e.exports=function(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}},47728:(e,t,s)=>{"use strict";try{e.exports=s(14387)(__dirname)}catch(t){e.exports=s(39661)}},63597:(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=s(82182),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(e.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:function e(t){let s;return(e.readOnly=!0,Buffer.isBuffer(t))?t:(t instanceof ArrayBuffer?s=new i(t):ArrayBuffer.isView(t)?s=new i(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s)},unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let t=s(71403);e.exports.mask=function(e,s,r,i,n){n<48?o(e,s,r,i,n):t.mask(e,s,r,i,n)},e.exports.unmask=function(e,s){e.length<32?n(e,s):t.unmask(e,s)}}catch(e){}},82182:e=>{"use strict";let t=["nodebuffer","arraybuffer","fragments"],s="undefined"!=typeof Blob;s&&t.push("blob"),e.exports={BINARY_TYPES:t,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:s,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},12568:(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=s(82182),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),h=Symbol("kMessage"),l=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),f=Symbol("kWasClean");class u{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(u.prototype,"target",{enumerable:!0}),Object.defineProperty(u.prototype,"type",{enumerable:!0});class _ extends u{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[f]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[l]}get wasClean(){return this[f]}}Object.defineProperty(_.prototype,"code",{enumerable:!0}),Object.defineProperty(_.prototype,"reason",{enumerable:!0}),Object.defineProperty(_.prototype,"wasClean",{enumerable:!0});class p extends u{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[h]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[h]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends u{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),e.exports={CloseEvent:_,ErrorEvent:p,Event:u,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new _("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new u("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},17704:(e,t,s)=>{"use strict";let{tokenChars:r}=s(55195);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}e.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s;let o=Object.create(null),n=Object.create(null),a=!1,h=!1,l=!1,c=-1,d=-1,f=-1,u=0;for(;u<e.length;u++)if(d=e.charCodeAt(u),void 0===t){if(-1===f&&1===r[d])-1===c&&(c=u);else if(0!==u&&(32===d||9===d))-1===f&&-1!==c&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u);let s=e.slice(c,f);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=f=-1}else throw SyntaxError(`Unexpected character at index ${u}`)}else if(void 0===s){if(-1===f&&1===r[d])-1===c&&(c=u);else if(32===d||9===d)-1===f&&-1!==c&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u),i(n,e.slice(c,f),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=f=-1}else if(61===d&&-1!==c&&-1===f)s=e.slice(c,u),c=f=-1;else throw SyntaxError(`Unexpected character at index ${u}`)}else if(h){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${u}`);-1===c?c=u:a||(a=!0),h=!1}else if(l){if(1===r[d])-1===c&&(c=u);else if(34===d&&-1!==c)l=!1,f=u;else if(92===d)h=!0;else throw SyntaxError(`Unexpected character at index ${u}`)}else if(34===d&&61===e.charCodeAt(u-1))l=!0;else if(-1===f&&1===r[d])-1===c&&(c=u);else if(-1!==c&&(32===d||9===d))-1===f&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u);let r=e.slice(c,f);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=f=-1}else throw SyntaxError(`Unexpected character at index ${u}`);if(-1===c||l||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===f&&(f=u);let _=e.slice(c,f);return void 0===t?i(o,_,n):(void 0===s?i(n,_,!0):a?i(n,s,_.replace(/\\/g,"")):i(n,s,_),i(o,t,n)),o}}},26347:e=>{"use strict";let t=Symbol("kDone"),s=Symbol("kRun");class r{constructor(e){this[t]=()=>{this.pending--,this[s]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[s]()}[s](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[t])}}}e.exports=r},3895:(e,t,s)=>{"use strict";let r;let i=s(59796),o=s(63597),n=s(26347),{kStatusCode:a}=s(82182),h=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),f=Symbol("callback"),u=Symbol("buffers"),_=Symbol("error");class p{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[u]=[],this._inflate.on("error",g),this._inflate.on("data",y)}this._inflate[f]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[_];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[u],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[u]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[u]=[],this._deflate.on("data",m)}this._deflate[f]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[u],this._deflate[d]);t&&(e=new h(e.buffer,e.byteOffset,e.length-4)),this._deflate[f]=null,this._deflate[d]=0,this._deflate[u]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}function m(e){this[u].push(e),this[d]+=e.length}function y(e){if(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload){this[u].push(e);return}this[_]=RangeError("Max payload size exceeded"),this[_].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[_][a]=1009,this.removeListener("data",y),this.reset()}function g(e){if(this[c]._inflate=null,this[_]){this[f](this[_]);return}e[a]=1007,this[f](e)}e.exports=p},94536:(e,t,s)=>{"use strict";let{Writable:r}=s(12781),i=s(3895),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:h}=s(82182),{concat:l,toArrayBuffer:c,unmask:d}=s(63597),{isValidStatusCode:f,isValidUTF8:u}=s(55195),_=Buffer[Symbol.species];class p extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[h]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new _(t.buffer,t.byteOffset+e,t.length-e),new _(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new _(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0){e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));return}let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName]){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(!this._fragmented){e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented){e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));return}if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength){e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"));return}}else{e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked){e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"));return}}else if(this._masked){e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));return}126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);if(s>2097151){e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));return}this._payloadLength=4294967296*s+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?c(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=l(s,t);if(!this._skipUTF8Validation&&!u(r)){e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!f(s)){t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));return}let r=new _(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!u(r)){t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}e.exports=p},99115:(e,t,s)=>{"use strict";let r;let{Duplex:i}=s(12781),{randomFillSync:o}=s(6113),n=s(3895),{EMPTY_BUFFER:a,kWebSocket:h,NOOP:l}=s(82182),{isBlob:c,isValidStatusCode:d}=s(55195),{mask:f,toBuffer:u}=s(63597),_=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=l,this[h]=void 0}static frame(e,t){let s,i;let n=!1,a=2,h=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),h=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||h)&&void 0!==t[_]?t[_]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!h);let l=i;i>=65536?(a+=8,l=127):i>125&&(a+=2,l=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=l,126===l?c.writeUInt16BE(i,2):127===l&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],h)?[c,e]:n?(f(e,s,c,a,i),[c]):(f(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e)){if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0)}else throw TypeError("First argument must be a valid error code number");let o={[_]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i;let o=this._extensions[n.extensionName],a=t.binary?2:1,h=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),this._firstFragment?(this._firstFragment=!1,h&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(h=r>=o._threshold),this._compress=h):(h=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[_]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:h};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[_],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[_];let i=u(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(b,this,e,r)})}dispatch(e,t,s,r){if(!t){this.sendFrame(y.frame(e,s),r);return}let i=this._extensions[n.extensionName];this._bufferedBytes+=s[_],this._state=1,i.compress(e,s.fin,(e,t)=>{if(this._socket.destroyed){g(this,Error("The socket was closed while data was being compressed"),r);return}this._bufferedBytes-=s[_],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][_],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][_],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function b(e,t,s){g(e,t,s),e.onerror(t)}e.exports=y},14007:(e,t,s)=>{"use strict";s(13540);let{Duplex:r}=s(12781);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){if(e.readyState===e.CONNECTING){e.once("open",function(){a._final(t)});return}null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){if(e.readyState===e.CONNECTING){e.once("open",function(){a._write(t,s,r)});return}e.send(t,r)},a.on("end",o),a.on("error",n),a}},18979:(e,t,s)=>{"use strict";let{tokenChars:r}=s(55195);e.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},55195:(e,t,s)=>{"use strict";let{isUtf8:r}=s(14300),{hasBlob:i}=s(82182);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(e.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)e.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=s(47728);e.exports.isValidUTF8=function(e){return e.length<32?o(e):t(e)}}catch(e){}},27214:(e,t,s)=>{"use strict";let r=s(82361),i=s(13685),{Duplex:o}=s(12781),{createHash:n}=s(6113),a=s(17704),h=s(3895),l=s(18979),c=s(13540),{GUID:d,kWebSocket:f}=s(82182),u=/^[+/0-9A-Za-z]{22}==$/;class _ extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state){if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method){g(this,e,t,405,"Invalid HTTP method");return}if(void 0===o||"websocket"!==o.toLowerCase()){g(this,e,t,400,"Invalid Upgrade header");return}if(void 0===i||!u.test(i)){g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(13!==n&&8!==n){g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){y(t,400);return}let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=l.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let f=e.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&void 0!==f){let s=new h(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(f);e[h.extensionName]&&(s.accept(e[h.extensionName]),_[h.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length){this.options.verifyClient(o,(o,n,a,h)=>{if(!o)return y(t,n||401,a,h);this.completeUpgrade(_,i,d,e,t,s,r)});return}if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(_,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,l){if(!i.readable||!i.writable)return i.destroy();if(i[f])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+d).digest("base64"),u=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],_=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(u.push(`Sec-WebSocket-Protocol: ${e}`),_._protocol=e)}if(e[h.extensionName]){let t=e[h.extensionName].params,s=a.format({[h.extensionName]:[t]});u.push(`Sec-WebSocket-Extensions: ${s}`),_._extensions=e}this.emit("headers",u,r),i.write(u.concat("\r\n").join("\r\n")),i.removeListener("error",m),_.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(_),_.on("close",()=>{this.clients.delete(_),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),l(_,r)}}function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
2
- `+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}e.exports=_},13540:(e,t,s)=>{"use strict";let r=s(82361),i=s(95687),o=s(13685),n=s(41808),a=s(24404),{randomBytes:h,createHash:l}=s(6113),{Duplex:c,Readable:d}=s(12781),{URL:f}=s(57310),u=s(3895),_=s(94536),p=s(99115),{isBlob:m}=s(55195),{BINARY_TYPES:y,EMPTY_BUFFER:g,GUID:b,kForOnEventAttribute:v,kListener:S,kStatusCode:E,kWebSocket:k,NOOP:x}=s(82182),{EventTarget:{addEventListener:w,removeEventListener:O}}=s(12568),{format:T,parse:C}=s(17704),{toBuffer:N}=s(63597),L=Symbol("kAborted"),P=[8,13],B=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class I extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=g,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=I.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,_;let p={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:P[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,!P.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${P.join(", ")})`);if(s instanceof f)a=s;else try{a=new f(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0===t._redirects)throw e;U(t,e);return}let g=m?443:80,v=h(16).toString("base64"),S=m?i.request:o.request,E=new Set;if(p.createConnection=p.createConnection||(m?M:D),p.defaultPort=p.defaultPort||g,p.port=a.port||g,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new u(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=T({[u.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!R.test(e)||E.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");E.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),_=t._req=S(p),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=S(p);p.timeout&&_.on("timeout",()=>{W(t,_,"Opening handshake has timed out")}),_.on("error",e=>{null===_||_[L]||(_=t._req=null,U(t,e))}),_.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects){W(t,_,"Maximum redirects exceeded");return}_.abort();try{i=new f(o,s)}catch(e){U(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",_,i)||W(t,_,`Unexpected server response: ${i.statusCode}`)}),_.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==I.CONNECTING)return;_=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase()){W(t,s,"Invalid Upgrade header");return}let n=l("sha1").update(v+b).digest("base64");if(e.headers["sec-websocket-accept"]!==n){W(t,s,"Invalid Sec-WebSocket-Accept header");return}let a=e.headers["sec-websocket-protocol"];if(void 0!==a?E.size?E.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":E.size&&(i="Server sent no subprotocol"),i){W(t,s,i);return}a&&(t._protocol=a);let h=e.headers["sec-websocket-extensions"];if(void 0!==h){let e;if(!d){W(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}try{e=C(h)}catch(e){W(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==u.extensionName){W(t,s,"Server indicated an extension that was not requested");return}try{d.accept(e[u.extensionName])}catch(e){W(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[u.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(_,t):_.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new _({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",j),r.on("drain",F),r.on("error",$),r.on("message",V),r.on("ping",q),r.on("pong",z),i.onerror=X,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Y),e.on("data",Z),e.on("end",J),e.on("error",Q),this._readyState=I.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[u.extensionName]&&this._extensions[u.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING){W(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===I.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=I.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),K(this)}}pause(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.ping(e||g,t,s)}pong(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.pong(e||g,t,s)}resume(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[u.extensionName]||(r.compress=!1),this._sender.send(e||g,r,s)}terminate(){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING){W(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=I.CLOSING,this._socket.destroy())}}}function U(e,t){e._readyState=I.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function D(e){return e.path=e.socketPath,n.connect(e)}function M(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function W(e,t,s){e._readyState=I.CLOSING;let r=Error(s);Error.captureStackTrace(r,W),t.setHeader?(t[L]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(U,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function A(e,t,s){if(t){let s=m(t)?t.size:N(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${B[e.readyState]})`);process.nextTick(s,t)}}function j(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",Z),process.nextTick(H,s._socket),1005===e?s.close():s.close(e,t))}function F(){let e=this[k];e.isPaused||e._socket.resume()}function $(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",Z),process.nextTick(H,t._socket),t.close(e[E])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function G(){this[k].emitClose()}function V(e,t){this[k].emit("message",e,t)}function q(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,x),t.emit("ping",e)}function z(e){this[k].emit("pong",e)}function H(e){e.resume()}function X(e){let t=this[k];t.readyState===I.CLOSED||(t.readyState===I.OPEN&&(t._readyState=I.CLOSING,K(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function K(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),3e4)}function Y(){let e;let t=this[k];this.removeListener("close",Y),this.removeListener("data",Z),this.removeListener("end",J),t._readyState=I.CLOSING,this._readableState.endEmitted||t._closeFrameReceived||t._receiver._writableState.errorEmitted||null===(e=t._socket.read())||t._receiver.write(e),t._receiver.end(),this[k]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",G),t._receiver.on("finish",G))}function Z(e){this[k]._receiver.write(e)||this.pause()}function J(){let e=this[k];e._readyState=I.CLOSING,e._receiver.end(),this.end()}function Q(){let e=this[k];this.removeListener("error",Q),this.on("error",x),e&&(e._readyState=I.CLOSING,this.destroy())}Object.defineProperty(I,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")}),Object.defineProperty(I.prototype,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")}),Object.defineProperty(I,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")}),Object.defineProperty(I.prototype,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")}),Object.defineProperty(I,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")}),Object.defineProperty(I.prototype,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")}),Object.defineProperty(I,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")}),Object.defineProperty(I.prototype,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(I.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(I.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[v])return t[S];return null},set(t){for(let t of this.listeners(e))if(t[v]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[v]:!0})}})}),I.prototype.addEventListener=w,I.prototype.removeEventListener=O,e.exports=I}};
1
+ exports.id=8266,exports.ids=[8266],exports.modules={29567:e=>{"use strict";e.exports={mask:(e,t,s,r,i)=>{for(var o=0;o<i;o++)s[r+o]=e[o]^t[3&o]},unmask:(e,t)=>{let s=e.length;for(var r=0;r<s;r++)e[r]^=t[3&r]}}},71403:(e,t,s)=>{"use strict";try{e.exports=s(14387)(__dirname)}catch(t){e.exports=s(29567)}},14387:(e,t,s)=>{let r=require;"function"==typeof r.addon?e.exports=r.addon.bind(r):e.exports=s(36900)},36900:(e,t,s)=>{var r=s(57147),i=s(71017),o=s(22037),n=require,a=process.config&&process.config.variables||{},h=!!process.env.PREBUILDS_ONLY,l=process.versions.modules,c=process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type?"electron":process.versions&&process.versions.nw?"node-webkit":"node",d=process.env.npm_config_arch||o.arch(),f=process.env.npm_config_platform||o.platform(),u=process.env.LIBC||("linux"===f&&r.existsSync("/etc/alpine-release")?"musl":"glibc"),_=process.env.ARM_VERSION||("arm64"===d?"8":a.arm_version)||"",p=(process.versions.uv||"").split(".")[0];function m(e){return n(m.resolve(e))}function y(e){try{return r.readdirSync(e)}catch(e){return[]}}function g(e,t){var s=y(e).filter(t);return s[0]&&i.join(e,s[0])}function b(e){return/\.node$/.test(e)}function v(e){var t=e.split("-");if(2===t.length){var s=t[0],r=t[1].split("+");if(s&&r.length&&r.every(Boolean))return{name:e,platform:s,architectures:r}}}function S(e,t){return function(s){return null!=s&&s.platform===e&&s.architectures.includes(t)}}function E(e,t){return e.architectures.length-t.architectures.length}function k(e){var t=e.split("."),s=t.pop(),r={file:e,specificity:0};if("node"===s){for(var i=0;i<t.length;i++){var o=t[i];if("node"===o||"electron"===o||"node-webkit"===o)r.runtime=o;else if("napi"===o)r.napi=!0;else if("abi"===o.slice(0,3))r.abi=o.slice(3);else if("uv"===o.slice(0,2))r.uv=o.slice(2);else if("armv"===o.slice(0,4))r.armv=o.slice(4);else{if("glibc"!==o&&"musl"!==o)continue;r.libc=o}r.specificity++}return r}}function x(e,t){return function(s){return null!=s&&(!s.runtime||s.runtime===e||!!("node"===s.runtime&&s.napi))&&(!s.abi||s.abi===t||!!s.napi)&&(!s.uv||s.uv===p)&&(!s.armv||s.armv===_)&&(!s.libc||s.libc===u)}}function w(e){return function(t,s){return t.runtime!==s.runtime?t.runtime===e?-1:1:t.abi!==s.abi?t.abi?-1:1:t.specificity!==s.specificity?t.specificity>s.specificity?-1:1:0}}e.exports=m,m.resolve=m.path=function(e){e=i.resolve(e||".");try{var t=n(i.join(e,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[t+"_PREBUILD"]&&(e=process.env[t+"_PREBUILD"])}catch(e){}if(!h){var s=g(i.join(e,"build/Release"),b);if(s)return s;var r=g(i.join(e,"build/Debug"),b);if(r)return r}var o=m(e);if(o)return o;var a=m(i.dirname(process.execPath));if(a)return a;throw Error("No native build was found for "+["platform="+f,"arch="+d,"runtime="+c,"abi="+l,"uv="+p,_?"armv="+_:"","libc="+u,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" ")+"\n loaded from: "+e+"\n");function m(e){var t=y(i.join(e,"prebuilds")).map(v).filter(S(f,d)).sort(E)[0];if(t){var s=i.join(e,"prebuilds",t.name),r=y(s).map(k).filter(x(c,l)).sort(w(c))[0];if(r)return i.join(s,r.file)}}},m.parseTags=k,m.matchTags=x,m.compareTags=w,m.parseTuple=v,m.matchTuple=S,m.compareTuples=E},39661:e=>{"use strict";e.exports=function(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}},47728:(e,t,s)=>{"use strict";try{e.exports=s(14387)(__dirname)}catch(t){e.exports=s(39661)}},63597:(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=s(82182),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(e.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:function e(t){let s;return(e.readOnly=!0,Buffer.isBuffer(t))?t:(t instanceof ArrayBuffer?s=new i(t):ArrayBuffer.isView(t)?s=new i(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s)},unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let t=s(71403);e.exports.mask=function(e,s,r,i,n){n<48?o(e,s,r,i,n):t.mask(e,s,r,i,n)},e.exports.unmask=function(e,s){e.length<32?n(e,s):t.unmask(e,s)}}catch(e){}},82182:e=>{"use strict";let t=["nodebuffer","arraybuffer","fragments"],s="undefined"!=typeof Blob;s&&t.push("blob"),e.exports={BINARY_TYPES:t,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:s,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},12568:(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=s(82182),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),h=Symbol("kMessage"),l=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),f=Symbol("kWasClean");class u{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(u.prototype,"target",{enumerable:!0}),Object.defineProperty(u.prototype,"type",{enumerable:!0});class _ extends u{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[f]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[l]}get wasClean(){return this[f]}}Object.defineProperty(_.prototype,"code",{enumerable:!0}),Object.defineProperty(_.prototype,"reason",{enumerable:!0}),Object.defineProperty(_.prototype,"wasClean",{enumerable:!0});class p extends u{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[h]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[h]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends u{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),e.exports={CloseEvent:_,ErrorEvent:p,Event:u,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new _("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new u("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},75320:(e,t,s)=>{"use strict";let{tokenChars:r}=s(55195);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}e.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s;let o=Object.create(null),n=Object.create(null),a=!1,h=!1,l=!1,c=-1,d=-1,f=-1,u=0;for(;u<e.length;u++)if(d=e.charCodeAt(u),void 0===t){if(-1===f&&1===r[d])-1===c&&(c=u);else if(0!==u&&(32===d||9===d))-1===f&&-1!==c&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u);let s=e.slice(c,f);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=f=-1}else throw SyntaxError(`Unexpected character at index ${u}`)}else if(void 0===s){if(-1===f&&1===r[d])-1===c&&(c=u);else if(32===d||9===d)-1===f&&-1!==c&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u),i(n,e.slice(c,f),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=f=-1}else if(61===d&&-1!==c&&-1===f)s=e.slice(c,u),c=f=-1;else throw SyntaxError(`Unexpected character at index ${u}`)}else if(h){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${u}`);-1===c?c=u:a||(a=!0),h=!1}else if(l){if(1===r[d])-1===c&&(c=u);else if(34===d&&-1!==c)l=!1,f=u;else if(92===d)h=!0;else throw SyntaxError(`Unexpected character at index ${u}`)}else if(34===d&&61===e.charCodeAt(u-1))l=!0;else if(-1===f&&1===r[d])-1===c&&(c=u);else if(-1!==c&&(32===d||9===d))-1===f&&(f=u);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${u}`);-1===f&&(f=u);let r=e.slice(c,f);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=f=-1}else throw SyntaxError(`Unexpected character at index ${u}`);if(-1===c||l||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===f&&(f=u);let _=e.slice(c,f);return void 0===t?i(o,_,n):(void 0===s?i(n,_,!0):a?i(n,s,_.replace(/\\/g,"")):i(n,s,_),i(o,t,n)),o}}},26347:e=>{"use strict";let t=Symbol("kDone"),s=Symbol("kRun");class r{constructor(e){this[t]=()=>{this.pending--,this[s]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[s]()}[s](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[t])}}}e.exports=r},3895:(e,t,s)=>{"use strict";let r;let i=s(59796),o=s(63597),n=s(26347),{kStatusCode:a}=s(82182),h=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),f=Symbol("callback"),u=Symbol("buffers"),_=Symbol("error");class p{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[u]=[],this._inflate.on("error",g),this._inflate.on("data",y)}this._inflate[f]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[_];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[u],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[u]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[u]=[],this._deflate.on("data",m)}this._deflate[f]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[u],this._deflate[d]);t&&(e=new h(e.buffer,e.byteOffset,e.length-4)),this._deflate[f]=null,this._deflate[d]=0,this._deflate[u]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}function m(e){this[u].push(e),this[d]+=e.length}function y(e){if(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload){this[u].push(e);return}this[_]=RangeError("Max payload size exceeded"),this[_].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[_][a]=1009,this.removeListener("data",y),this.reset()}function g(e){if(this[c]._inflate=null,this[_]){this[f](this[_]);return}e[a]=1007,this[f](e)}e.exports=p},94536:(e,t,s)=>{"use strict";let{Writable:r}=s(12781),i=s(3895),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:h}=s(82182),{concat:l,toArrayBuffer:c,unmask:d}=s(63597),{isValidStatusCode:f,isValidUTF8:u}=s(55195),_=Buffer[Symbol.species];class p extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[h]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new _(t.buffer,t.byteOffset+e,t.length-e),new _(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new _(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0){e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));return}let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName]){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(!this._fragmented){e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented){e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));return}if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength){e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"));return}}else{e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked){e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"));return}}else if(this._masked){e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));return}126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);if(s>2097151){e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));return}this._payloadLength=4294967296*s+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?c(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=l(s,t);if(!this._skipUTF8Validation&&!u(r)){e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!f(s)){t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));return}let r=new _(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!u(r)){t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}e.exports=p},99115:(e,t,s)=>{"use strict";let r;let{Duplex:i}=s(12781),{randomFillSync:o}=s(6113),n=s(3895),{EMPTY_BUFFER:a,kWebSocket:h,NOOP:l}=s(82182),{isBlob:c,isValidStatusCode:d}=s(55195),{mask:f,toBuffer:u}=s(63597),_=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=l,this[h]=void 0}static frame(e,t){let s,i;let n=!1,a=2,h=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),h=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||h)&&void 0!==t[_]?t[_]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!h);let l=i;i>=65536?(a+=8,l=127):i>125&&(a+=2,l=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=l,126===l?c.writeUInt16BE(i,2):127===l&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],h)?[c,e]:n?(f(e,s,c,a,i),[c]):(f(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e)){if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0)}else throw TypeError("First argument must be a valid error code number");let o={[_]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i;let o=this._extensions[n.extensionName],a=t.binary?2:1,h=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=u(e)).length,i=u.readOnly),this._firstFragment?(this._firstFragment=!1,h&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(h=r>=o._threshold),this._compress=h):(h=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[_]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:h};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[_],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[_];let i=u(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(b,this,e,r)})}dispatch(e,t,s,r){if(!t){this.sendFrame(y.frame(e,s),r);return}let i=this._extensions[n.extensionName];this._bufferedBytes+=s[_],this._state=1,i.compress(e,s.fin,(e,t)=>{if(this._socket.destroyed){g(this,Error("The socket was closed while data was being compressed"),r);return}this._bufferedBytes-=s[_],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][_],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][_],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function b(e,t,s){g(e,t,s),e.onerror(t)}e.exports=y},14007:(e,t,s)=>{"use strict";s(13540);let{Duplex:r}=s(12781);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){if(e.readyState===e.CONNECTING){e.once("open",function(){a._final(t)});return}null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){if(e.readyState===e.CONNECTING){e.once("open",function(){a._write(t,s,r)});return}e.send(t,r)},a.on("end",o),a.on("error",n),a}},18979:(e,t,s)=>{"use strict";let{tokenChars:r}=s(55195);e.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},55195:(e,t,s)=>{"use strict";let{isUtf8:r}=s(14300),{hasBlob:i}=s(82182);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(e.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)e.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=s(47728);e.exports.isValidUTF8=function(e){return e.length<32?o(e):t(e)}}catch(e){}},27214:(e,t,s)=>{"use strict";let r=s(82361),i=s(13685),{Duplex:o}=s(12781),{createHash:n}=s(6113),a=s(75320),h=s(3895),l=s(18979),c=s(13540),{GUID:d,kWebSocket:f}=s(82182),u=/^[+/0-9A-Za-z]{22}==$/;class _ extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state){if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method){g(this,e,t,405,"Invalid HTTP method");return}if(void 0===o||"websocket"!==o.toLowerCase()){g(this,e,t,400,"Invalid Upgrade header");return}if(void 0===i||!u.test(i)){g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(13!==n&&8!==n){g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){y(t,400);return}let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=l.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let f=e.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&void 0!==f){let s=new h(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(f);e[h.extensionName]&&(s.accept(e[h.extensionName]),_[h.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length){this.options.verifyClient(o,(o,n,a,h)=>{if(!o)return y(t,n||401,a,h);this.completeUpgrade(_,i,d,e,t,s,r)});return}if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(_,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,l){if(!i.readable||!i.writable)return i.destroy();if(i[f])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+d).digest("base64"),u=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],_=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(u.push(`Sec-WebSocket-Protocol: ${e}`),_._protocol=e)}if(e[h.extensionName]){let t=e[h.extensionName].params,s=a.format({[h.extensionName]:[t]});u.push(`Sec-WebSocket-Extensions: ${s}`),_._extensions=e}this.emit("headers",u,r),i.write(u.concat("\r\n").join("\r\n")),i.removeListener("error",m),_.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(_),_.on("close",()=>{this.clients.delete(_),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),l(_,r)}}function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
2
+ `+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}e.exports=_},13540:(e,t,s)=>{"use strict";let r=s(82361),i=s(95687),o=s(13685),n=s(41808),a=s(24404),{randomBytes:h,createHash:l}=s(6113),{Duplex:c,Readable:d}=s(12781),{URL:f}=s(57310),u=s(3895),_=s(94536),p=s(99115),{isBlob:m}=s(55195),{BINARY_TYPES:y,EMPTY_BUFFER:g,GUID:b,kForOnEventAttribute:v,kListener:S,kStatusCode:E,kWebSocket:k,NOOP:x}=s(82182),{EventTarget:{addEventListener:w,removeEventListener:O}}=s(12568),{format:T,parse:C}=s(75320),{toBuffer:N}=s(63597),L=Symbol("kAborted"),P=[8,13],B=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class I extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=g,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=I.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,_;let p={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:P[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,!P.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${P.join(", ")})`);if(s instanceof f)a=s;else try{a=new f(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0===t._redirects)throw e;U(t,e);return}let g=m?443:80,v=h(16).toString("base64"),S=m?i.request:o.request,E=new Set;if(p.createConnection=p.createConnection||(m?M:D),p.defaultPort=p.defaultPort||g,p.port=a.port||g,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new u(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=T({[u.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!R.test(e)||E.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");E.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),_=t._req=S(p),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=S(p);p.timeout&&_.on("timeout",()=>{W(t,_,"Opening handshake has timed out")}),_.on("error",e=>{null===_||_[L]||(_=t._req=null,U(t,e))}),_.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects){W(t,_,"Maximum redirects exceeded");return}_.abort();try{i=new f(o,s)}catch(e){U(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",_,i)||W(t,_,`Unexpected server response: ${i.statusCode}`)}),_.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==I.CONNECTING)return;_=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase()){W(t,s,"Invalid Upgrade header");return}let n=l("sha1").update(v+b).digest("base64");if(e.headers["sec-websocket-accept"]!==n){W(t,s,"Invalid Sec-WebSocket-Accept header");return}let a=e.headers["sec-websocket-protocol"];if(void 0!==a?E.size?E.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":E.size&&(i="Server sent no subprotocol"),i){W(t,s,i);return}a&&(t._protocol=a);let h=e.headers["sec-websocket-extensions"];if(void 0!==h){let e;if(!d){W(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}try{e=C(h)}catch(e){W(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==u.extensionName){W(t,s,"Server indicated an extension that was not requested");return}try{d.accept(e[u.extensionName])}catch(e){W(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[u.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(_,t):_.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new _({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",j),r.on("drain",F),r.on("error",$),r.on("message",V),r.on("ping",q),r.on("pong",z),i.onerror=X,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Y),e.on("data",Z),e.on("end",J),e.on("error",Q),this._readyState=I.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[u.extensionName]&&this._extensions[u.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING){W(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===I.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=I.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),K(this)}}pause(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.ping(e||g,t,s)}pong(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.pong(e||g,t,s)}resume(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN){A(this,e,s);return}let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[u.extensionName]||(r.compress=!1),this._sender.send(e||g,r,s)}terminate(){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING){W(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=I.CLOSING,this._socket.destroy())}}}function U(e,t){e._readyState=I.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function D(e){return e.path=e.socketPath,n.connect(e)}function M(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function W(e,t,s){e._readyState=I.CLOSING;let r=Error(s);Error.captureStackTrace(r,W),t.setHeader?(t[L]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(U,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function A(e,t,s){if(t){let s=m(t)?t.size:N(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${B[e.readyState]})`);process.nextTick(s,t)}}function j(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",Z),process.nextTick(H,s._socket),1005===e?s.close():s.close(e,t))}function F(){let e=this[k];e.isPaused||e._socket.resume()}function $(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",Z),process.nextTick(H,t._socket),t.close(e[E])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function G(){this[k].emitClose()}function V(e,t){this[k].emit("message",e,t)}function q(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,x),t.emit("ping",e)}function z(e){this[k].emit("pong",e)}function H(e){e.resume()}function X(e){let t=this[k];t.readyState===I.CLOSED||(t.readyState===I.OPEN&&(t._readyState=I.CLOSING,K(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function K(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),3e4)}function Y(){let e;let t=this[k];this.removeListener("close",Y),this.removeListener("data",Z),this.removeListener("end",J),t._readyState=I.CLOSING,this._readableState.endEmitted||t._closeFrameReceived||t._receiver._writableState.errorEmitted||null===(e=t._socket.read())||t._receiver.write(e),t._receiver.end(),this[k]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",G),t._receiver.on("finish",G))}function Z(e){this[k]._receiver.write(e)||this.pause()}function J(){let e=this[k];e._readyState=I.CLOSING,e._receiver.end(),this.end()}function Q(){let e=this[k];this.removeListener("error",Q),this.on("error",x),e&&(e._readyState=I.CLOSING,this.destroy())}Object.defineProperty(I,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")}),Object.defineProperty(I.prototype,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")}),Object.defineProperty(I,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")}),Object.defineProperty(I.prototype,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")}),Object.defineProperty(I,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")}),Object.defineProperty(I.prototype,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")}),Object.defineProperty(I,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")}),Object.defineProperty(I.prototype,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(I.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(I.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[v])return t[S];return null},set(t){for(let t of this.listeners(e))if(t[v]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[v]:!0})}})}),I.prototype.addEventListener=w,I.prototype.removeEventListener=O,e.exports=I}};
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-78c92fac7aa8fdd8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/Rhe6_OD6TtQQdQZz_orZh/_buildManifest.js","static/Rhe6_OD6TtQQdQZz_orZh/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-69226089b4d94757.js","static/chunks/99187bc8-c01639095c820d4b.js","static/chunks/3164-5df01822ba8d356b.js","static/chunks/main-app-c1da57de54a99e0c.js"],pages:{"/_app":["static/chunks/webpack-69226089b4d94757.js","static/chunks/framework-af9b1d45774ad36d.js","static/chunks/main-fdd95518336bb93b.js","static/chunks/pages/_app-ae8019678adc41e5.js"],"/_error":["static/chunks/webpack-69226089b4d94757.js","static/chunks/framework-af9b1d45774ad36d.js","static/chunks/main-fdd95518336bb93b.js","static/chunks/pages/_error-523ecdbdba5b497f.js"]},ampFirstPages:[]};
1
+ self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-78c92fac7aa8fdd8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/q4WB7F6OcuQbjb0LYPWbV/_buildManifest.js","static/q4WB7F6OcuQbjb0LYPWbV/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-780f2e070446a913.js","static/chunks/99187bc8-c01639095c820d4b.js","static/chunks/3164-5df01822ba8d356b.js","static/chunks/main-app-c1da57de54a99e0c.js"],pages:{"/_app":["static/chunks/webpack-780f2e070446a913.js","static/chunks/framework-af9b1d45774ad36d.js","static/chunks/main-fdd95518336bb93b.js","static/chunks/pages/_app-ae8019678adc41e5.js"],"/_error":["static/chunks/webpack-780f2e070446a913.js","static/chunks/framework-af9b1d45774ad36d.js","static/chunks/main-fdd95518336bb93b.js","static/chunks/pages/_error-523ecdbdba5b497f.js"]},ampFirstPages:[]};