code-playpad 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -3
- package/dist/{boot-BVedZD8N.js → boot-BjUY1Ie7.js} +1 -1
- package/dist/cdn.js +2 -2
- package/dist/{compiler-D7kIFltD.js → compiler-UMrA2h8r.js} +1 -1
- package/dist/{cpp-CI2vFLOK.js → cpp-CDeK5gz8.js} +1 -1
- package/dist/{csharp-B4M3Us-m.js → csharp-D2mcw4Xx.js} +1 -1
- package/dist/{element-UgFuSGoC.js → element-Biju-4SA.js} +1 -1
- package/dist/element.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{java-BYlTOHGf.js → java-cevrzY6x.js} +1 -1
- package/dist/{javascript-CNLIMOk1.js → javascript-DZlNZDDe.js} +1 -1
- package/dist/{next-C9S3EZEz.js → next-CKL809hs.js} +1 -1
- package/dist/{next-xTgh8PXL.js → next-Cb5W_u4U.js} +1 -1
- package/dist/next-vendor.generated-CZBsaQeS.js +6 -0
- package/dist/{pyodide-Cr69zEd2.js → pyodide-DJAtHIb8.js} +1 -1
- package/dist/{react-DPG8BrcN.js → react-SfE82Kr_.js} +1 -1
- package/dist/react.js +1 -1
- package/dist/runtime/next-vendor.generated.d.ts +2 -2
- package/dist/standalone.js +1 -1
- package/dist/{worker-runtime-5Ujf07eB.js → worker-runtime-dxTpNm5e.js} +1 -1
- package/package.json +1 -1
- package/dist/next-vendor.generated-DcyCefTD.js +0 -6
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ experimental C and C++, multi-file React, and Next.js App Router projects — en
|
|
|
9
9
|
**[Live demo →](https://code-playpad.swengr.com)**
|
|
10
10
|
|
|
11
11
|
```html
|
|
12
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.
|
|
12
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.16.0/dist/standalone.js"></script>
|
|
13
13
|
|
|
14
14
|
<code-playpad height="auto">
|
|
15
15
|
print("hello from a static page")
|
|
@@ -400,7 +400,7 @@ the preview has an address bar, because a sandboxed frame has no URL to show.
|
|
|
400
400
|
| Files | `page`, `layout`, `template`, `loading`, `error`, `not-found`, `route` (`.js`, `.jsx`, `.ts`, `.tsx`), under `app/` or `src/app/`. A missing root layout is created, as `next dev` does |
|
|
401
401
|
| Routes | nested layouts, `[slug]`, `[...all]`, `[[...all]]`, `(groups)`, `@/` imports |
|
|
402
402
|
| Server | async server components, streaming with `loading`, `"use server"` files and inline actions, `cookies()`, `headers()`, `revalidatePath()`, `redirect()`, `notFound()`, route handlers (`fetch('/api/x')`), `metadata` and `generateMetadata` |
|
|
403
|
-
| Client | `"use client"`, `next/link`, `next/navigation` hooks, `next/image`, `next/dynamic` |
|
|
403
|
+
| Client | `"use client"`, `next/link`, `next/form`, `next/navigation` hooks, `next/image`, `next/dynamic` |
|
|
404
404
|
| Styles | global CSS, CSS Modules, Tailwind 4 (`@import "tailwindcss"`; its 75 KB gzipped only downloads for projects that use it) |
|
|
405
405
|
|
|
406
406
|
**What differs from real Next:**
|
|
@@ -420,6 +420,15 @@ the preview has an address bar, because a sandboxed frame has no URL to show.
|
|
|
420
420
|
`global-error`.
|
|
421
421
|
- **A plain `<a href="/x">` keeps client state.** Real Next does a full page load, which
|
|
422
422
|
loses it. `next/link` behaves the same in both.
|
|
423
|
+
- **A plain GET `<form>` keeps client state too.** Real Next does a full page load; here
|
|
424
|
+
the router goes to the same URL. A `<form>` that posts to a string `action`, or leaves
|
|
425
|
+
for another site, does nothing and says so in the console. Real Next posts it: use a
|
|
426
|
+
server action or `fetch()` here.
|
|
427
|
+
- **A route handler's answer is shown as text.** Opening one from the address bar, a
|
|
428
|
+
`Link` or a form shows its status, content type and body, even for HTML.
|
|
429
|
+
- **`window` during a client component's render gets no warning,** though real Next
|
|
430
|
+
fails there. A client layout's `params` gets no warning either; pages do, with real
|
|
431
|
+
Next's wording.
|
|
423
432
|
- **Each Run is a server restart:** module state and cookies start over.
|
|
424
433
|
- **Not yet measured on a phone.** Desktop Chrome, Chromium, Firefox and WebKit pass the
|
|
425
434
|
browser suite.
|
|
@@ -504,7 +513,7 @@ actually sent.
|
|
|
504
513
|
### From a CDN — nothing to install
|
|
505
514
|
|
|
506
515
|
```html
|
|
507
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.
|
|
516
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.16.0/dist/standalone.js"></script>
|
|
508
517
|
```
|
|
509
518
|
|
|
510
519
|
This is the `standalone` build: CodeMirror is bundled in, so a static blog post
|
|
@@ -1202,6 +1211,17 @@ and `configureCSharp({ indexURL })`.
|
|
|
1202
1211
|
|
|
1203
1212
|
## Version history
|
|
1204
1213
|
|
|
1214
|
+
### 0.16.0
|
|
1215
|
+
|
|
1216
|
+
- **`language="next"` is closer to real Next 16.4.3,** each checked against a recording of it:
|
|
1217
|
+
- **`next/form` can be imported.** A string `action` navigates with the fields as the query, with no
|
|
1218
|
+
full reload, and a function `action` is a normal form action.
|
|
1219
|
+
- **A plain GET `<form>` works.** It used to blank the preview, or do nothing when it had a string
|
|
1220
|
+
`action`. Posting to a string `action` now explains itself in the console.
|
|
1221
|
+
- **`error.js` gets `retry`,** which fetches the segment again and resets the boundary.
|
|
1222
|
+
- **The address bar, `Link` and forms can open route handlers,** and show the answer.
|
|
1223
|
+
- **`params` and `searchParams` warn when read without `await`,** in real Next's words.
|
|
1224
|
+
|
|
1205
1225
|
### 0.15.0
|
|
1206
1226
|
|
|
1207
1227
|
- **`language="csharp"` (or `cs`), experimental.** C# 14 compiled by the real Roslyn compiler and run on
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{u as e}from"./element-
|
|
1
|
+
import{u as e}from"./element-Biju-4SA.js";var t=5e3,n=4e3,r=65536,i=class{preview;payload;onRoute;#e=null;#t=null;#n=null;#r=null;#i=null;#a=!1;#o=null;#s=null;#c=``;#l=``;#u;#d=performance.now();#f=!1;#p=null;#m=null;constructor(e,t,n,r,i){this.preview=e,this.payload=t,this.onRoute=i,this.#i=n,this.#s=r}get live(){return this.#e!==null}send(e){this.#e?.contentWindow?.postMessage(e,`*`)}open(e,n=[]){let r=document.createElement(`iframe`);r.setAttribute(`sandbox`,`allow-scripts allow-forms`),r.setAttribute(`allow`,``),r.setAttribute(`referrerpolicy`,`no-referrer`),r.title=`Preview`,r.className=`cp-preview-frame`,r.srcdoc=e,this.#e=r,this.#t=this.preview.host.ownerDocument.defaultView??window,this.#t.addEventListener(`message`,this.#x),this.preview.host.replaceChildren(...n,r),this.#n=setTimeout(()=>{this.fail(`The preview did not start. A Content-Security-Policy on this page probably blocks it: see "Host pages with a CSP" in the README.`)},t)}fail(e,t={},n){this.#n&&clearTimeout(this.#n),this.#n=null,this.#v(e,t),this.#h(!0,n)}#h(e,t,n=e=>e()){let r=this.#i;this.#i=null,this.#s=null;let i={stdout:this.#c,...this.#l?{stderr:this.#l}:{},...t?{hint:t}:{},...e&&this.#u?{problem:this.#u}:{},durationMs:Math.round(performance.now()-this.#d),failed:e};n(()=>r?.(i))}#g=e=>{setTimeout(e,250),this.#o=()=>requestAnimationFrame(()=>requestAnimationFrame(e)),this.#a&&this.#o()};#_(e,t){this.#i&&(e===`warn`||e===`error`?this.#l+=`${t}\n`:this.#c+=`${t}\n`),this.preview.onConsole(e,t)}#v(e,t){let n=(t.file?`${t.file}${t.line?`:${t.line}`:``}${t.column?`:${t.column}`:``}: `:``)+e;this.#_(`error`,n),this.#y(n);let r={message:n,...t};this.#i?this.#u??=r:this.preview.onError(r)}#y(e){this.#p||(this.#p=document.createElement(`pre`),this.#p.className=`cp-preview-banner`,this.#p.setAttribute(`role`,`alert`),this.preview.host.append(this.#p)),this.#p.textContent=e}#b(e){this.#m||(this.#m=document.createElement(`div`),this.#m.className=`cp-preview-notice`,this.#m.setAttribute(`role`,`status`),this.preview.host.append(this.#m)),this.#m.textContent=e,this.#m.hidden=!1,this.#r&&clearTimeout(this.#r),this.#r=setTimeout(()=>{this.#m&&(this.#m.hidden=!0)},n)}showCompileBanner(e){e&&this.#p&&(this.#p.textContent+=`\n${e}`)}#x=e=>{if(!this.#e||e.source!==this.#e.contentWindow)return;let t=e.data;if(typeof t!=`object`||!t||t.__playpad!==1)return;let n=e=>String(e??``).slice(0,r);switch(t.type){case`booted`:if(this.#f)return;this.#f=!0,this.#n&&clearTimeout(this.#n),this.#n=null,this.preview.onStart?.(),e.ports[0]?.postMessage(this.payload);break;case`console`:{let e=t.level===`info`||t.level===`warn`||t.level===`error`?t.level:`log`;this.#_(e,n(t.text));break}case`error`:this.#v(n(t.message),{...typeof t.file==`string`?{file:t.file.slice(0,512)}:{},...typeof t.line==`number`?{line:t.line}:{}});break;case`fatal`:this.fail(n(t.message));break;case`entry-done`:this.#i&&this.#h(t.failed===!0,void 0,this.#g);break;case`drawn`:this.#a=!0,this.#o?.();break;case`render`:this.preview.onRender(n(t.rootText));break;case`route`:this.onRoute?.({url:n(t.url),canBack:t.canBack===!0,canForward:t.canForward===!0});break;case`alert`:this.#_(`info`,`alert: ${n(t.text)}`),this.#b(n(t.text))}};dispose(t){this.#n&&clearTimeout(this.#n),this.#r&&clearTimeout(this.#r),this.#t?.removeEventListener(`message`,this.#x),this.#e=null,this.preview.host.replaceChildren(),this.#s&&t&&this.#s(new e),this.#i=null,this.#s=null}},a=`(function(){var a=function(n,e){n.__playpad=1,parent.postMessage(n,"*",e||[])};function l(n,e){if(typeof n=="string")return n;if(typeof n=="function")return"[Function "+(n.name||"anonymous")+"]";if(typeof n!="object"||n===null)return String(n);if(n instanceof Error)return n.name+": "+n.message;if(n instanceof Node)return"<"+n.nodeName.toLowerCase()+">";try{return JSON.stringify(n)}catch{return String(n)}}function L(n){if(typeof n[0]!="string")return n.map(function(r){return l(r)}).join(" ");var e=1,i=n[0].replace(/%([sdifoOc%])/g,function(r,u){if(u==="%")return"%";if(e>=n.length)return r;var c=n[e++];return u==="c"?"":u==="d"||u==="i"?String(parseInt(c,10)):u==="f"?String(parseFloat(c)):l(c)});return[i].concat(n.slice(e).map(function(r){return l(r)})).join(" ")}["log","info","warn","error","debug"].forEach(function(n){var e=console[n];console[n]=function(){var i=Array.prototype.slice.call(arguments);a({type:"console",level:n==="debug"?"log":n,text:L(i)}),e.apply(console,i)}});function k(n){var e=/playpad-project\\/([^\\s:)]+):(\\d+)/.exec(n&&n.stack||"");return e?{file:e[1],line:Number(e[2])}:{}}function f(n,e){var i=n&&typeof n=="object"&&"message"in n,r=i&&n.name?n.name+": ":"",u=k(n);a({type:"error",message:e+r+(i?n.message:l(n)),file:u.file,line:u.line})}addEventListener("error",function(n){n.error?f(n.error,"Uncaught "):n.message==="Script error."?a({type:"error",message:"An error happened in the preview, but this browser hides its details. Open the browser's developer console to see it."}):f(n.message,"Uncaught ")}),window.reportError=function(n){f(n,"Uncaught ")};function M(n){return function(){try{return n.apply(this,arguments)}catch(e){f(e,"Uncaught ")}}}["setTimeout","setInterval","requestAnimationFrame","queueMicrotask"].forEach(function(n){var e=window[n];window[n]=function(i){var r=Array.prototype.slice.call(arguments);return typeof i=="function"&&(r[0]=M(i)),e.apply(window,r)}}),addEventListener("unhandledrejection",function(n){f(n.reason,"Unhandled promise rejection: ")}),window.alert=function(n){a({type:"alert",text:n===void 0?"":String(n)})},window.confirm=function(){return console.warn("confirm() cannot wait for an answer in this preview, so it returned true."),!0},window.prompt=function(){return console.warn("prompt() cannot wait for an answer in this preview, so it returned null."),null};var N=1e3,y=!1,_=0,v=0,b=new MessageChannel;b.port1.onmessage=function(){y=!1},window.__playpadLoopGuard=function(){if(!y){y=!0,_=performance.now(),v=0,b.port2.postMessage(0);return}if((++v&63)===0&&performance.now()-_>N)throw new Error("This loop ran for more than 1 second. Is it infinite?")};function O(n){var e=n.nonce;function i(o){e&&(o.nonce=e),document.head.appendChild(o)}function r(o){var d=document.createElement("script");d.textContent=o,i(d)}if(n.nextClient){if(window.__webpack_require__=function(o){return window.__playpadLoad(o)},window.__webpack_require__.u=function(){return""},window.__webpack_chunk_load__=function(){return Promise.resolve()},n.tailwind&&r(n.tailwind),r(n.nextClient),!window.__playpadNext){a({type:"fatal",message:"The preview could not run the Next.js runtime. A Content-Security-Policy on this page probably blocks it."});return}n.modules.forEach(function(o){o.kind==="js"&&r("__playpadDefine("+JSON.stringify(o.path)+",function(require,module,exports){"+o.text+\`
|
|
2
2
|
});
|
|
3
3
|
//# sourceURL=playpad-project/\`+o.path)}),window.__playpadNext.start(n,e);return}function u(){if(!window.__vendor){a({type:"fatal",message:"The preview could not run the React runtime. A Content-Security-Policy on this page probably blocks it."});return}var o={};window.__playpadDefine=function(t,s){o[t]=s};var d={};n.modules.forEach(function(t){d[t.path]=t,t.kind==="js"&&r("__playpadDefine("+JSON.stringify(t.path)+",function(require,module,exports){"+t.text+\`
|
|
4
4
|
});
|
package/dist/cdn.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! code-playpad 0.
|
|
2
|
-
export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.
|
|
1
|
+
/*! code-playpad 0.16.0: CDN entry, loads dist/standalone.js of this exact version */
|
|
2
|
+
export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.16.0/dist/standalone.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Bundles CodeMirror 6 and Lezer (MIT) © Marijn Haverbeke and others.
|
|
4
4
|
* Full third-party licences: THIRD-PARTY-NOTICES.txt in this package.
|
|
5
5
|
*/
|
|
6
|
-
import{CompileError as e,applyInserts as t,loopGuardInserts as n,parseModule as r,sucraseError as i,t as a,walk as o}from"./compiler-A2mqXrqO.js";var s=[`react`,`react-dom`,`react/jsx-runtime`,`react/jsx-dev-runtime`,`next/navigation`,`next/link`,`next/image`,`next/script`,`next/dynamic`,`next/font/google`,`next/font/local`],c=[...s,`next/headers`,`next/cache`,`next/server`,`server-only`],l=[...s,`client-only`],u=[`next/headers`,`server-only`],d=[`useState`,`useEffect`,`useLayoutEffect`,`useReducer`,`useRef`,`useContext`,`useTransition`,`useDeferredValue`,`useOptimistic`,`useActionState`,`useImperativeHandle`,`useInsertionEffect`,`useSyncExternalStore`],f=/^(src\/)?app\/(.*\/)?(page|layout|loading|error|not-found|template|route)\.(jsx?|tsx?)$/,p=/^(src\/)?app\/layout\.(jsx?|tsx?)$/,m=/\.(jsx?|mjs|tsx?)$/,h=`export default function RootLayout({ children }) {
|
|
6
|
+
import{CompileError as e,applyInserts as t,loopGuardInserts as n,parseModule as r,sucraseError as i,t as a,walk as o}from"./compiler-A2mqXrqO.js";var s=[`react`,`react-dom`,`react/jsx-runtime`,`react/jsx-dev-runtime`,`next/navigation`,`next/link`,`next/form`,`next/image`,`next/script`,`next/dynamic`,`next/font/google`,`next/font/local`],c=[...s,`next/headers`,`next/cache`,`next/server`,`server-only`],l=[...s,`client-only`],u=[`next/headers`,`server-only`],d=[`useState`,`useEffect`,`useLayoutEffect`,`useReducer`,`useRef`,`useContext`,`useTransition`,`useDeferredValue`,`useOptimistic`,`useActionState`,`useImperativeHandle`,`useInsertionEffect`,`useSyncExternalStore`],f=/^(src\/)?app\/(.*\/)?(page|layout|loading|error|not-found|template|route)\.(jsx?|tsx?)$/,p=/^(src\/)?app\/layout\.(jsx?|tsx?)$/,m=/\.(jsx?|mjs|tsx?)$/,h=`export default function RootLayout({ children }) {
|
|
7
7
|
return (
|
|
8
8
|
<html lang="en">
|
|
9
9
|
<body>{children}</body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./config-3Z6xX6Jr.js";import{n as t,t as n}from"./compiler-cache-XwslsU5H.js";import{t as r}from"./worker-runtime-5Ujf07eB.js";var i='"use strict";(()=>{var it="code-playpad-cpp-20.1.2-emscripten-4.0.6-r1";async function ot(a,e,i,c,E){let t=new URL(a,i).href,r;try{r=await caches.open(c)}catch{}let n;try{n=await r?.match(t)}catch{}let s=async _=>{if(!_.ok)throw new Error(`Toolchain download failed: ${a} (HTTP ${_.status}). Check the asset URL and retry.`);let l=_.body?.getReader();if(!l)return _.arrayBuffer();let u=[],p=0,d=0;for(;;){let S=await l.read();if(S.done)break;if(p+=S.value.length,p>e.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${a}.`);u.push(S.value),performance.now()-d>100&&(E(`${n?"Reading cached":"Downloading"} ${a}: ${(p/1e6).toFixed(1)} / ${(e.bytes/1e6).toFixed(1)} MB (decoded)`),d=performance.now())}let R=new Uint8Array(p),h=0;for(let S of u)R.set(S,h),h+=S.length;return R.buffer},o=async _=>_.byteLength===e.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",_))].map(l=>l.toString(16).padStart(2,"0")).join("")===e.sha256;if(n){try{let _=await s(n);if(await o(_))return _}catch{}try{await r?.delete(t)}catch{}n=void 0}let f=await s(await fetch(t));if(!await o(f))throw new Error(`Toolchain integrity check failed: ${a}. Use the pinned toolchain assets.`);try{await r?.put(t,new Response(f))}catch{}return f}var C=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},L=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},Q=0,Z=1,V=2;var J=2;var W=4;var q=1;var x=class{write_bytes(e,i){e.setUint8(i,this.fs_filetype),e.setUint16(i+2,this.fs_flags,!0),e.setBigUint64(i+8,this.fs_rights_base,!0),e.setBigUint64(i+16,this.fs_rights_inherited,!0)}constructor(e,i){this.fs_rights_base=0n,this.fs_rights_inherited=0n,this.fs_filetype=e,this.fs_flags=i}};var j=8,A=class{write_bytes(e,i){e.setBigUint64(i,this.dev,!0),e.setBigUint64(i+8,this.ino,!0),e.setUint8(i+16,this.filetype),e.setBigUint64(i+24,this.nlink,!0),e.setBigUint64(i+32,this.size,!0),e.setBigUint64(i+38,this.atim,!0),e.setBigUint64(i+46,this.mtim,!0),e.setBigUint64(i+52,this.ctim,!0)}constructor(e,i,c){this.dev=0n,this.nlink=0n,this.atim=0n,this.mtim=0n,this.ctim=0n,this.ino=e,this.filetype=i,this.size=c}},at=0;var ft=1,k=class a{static read_bytes(e,i){return new a(e.getBigUint64(i,!0),e.getUint8(i+8),e.getUint32(i+16,!0),e.getBigUint64(i+24,!0),e.getUint16(i+36,!0))}constructor(e,i,c,E,t){this.userdata=e,this.eventtype=i,this.clockid=c,this.timeout=E,this.flags=t}},Y=class{write_bytes(e,i){e.setBigUint64(i,this.userdata,!0),e.setUint16(i+8,this.error,!0),e.setUint8(i+10,this.eventtype)}constructor(e,i,c){this.userdata=e,this.error=i,this.eventtype=c}};var wt=class{enable(e){this.log=ht(e===void 0?!0:e,this.prefix)}get enabled(){return this.isEnabled}constructor(e){this.isEnabled=e,this.prefix="wasi:",this.enable(e)}};function ht(a,e){return a?console.log.bind(console,"%c%s","color: #265BA0",e):()=>{}}var y=new wt(!1);var U=class extends Error{constructor(e){super("exit with exit code "+e),this.code=e}},rt=class{start(e){this.inst=e;try{return e.exports._start(),0}catch(i){if(i instanceof U)return i.code;throw i}}initialize(e){this.inst=e,e.exports._initialize&&e.exports._initialize()}constructor(e,i,c,E={}){this.args=[],this.env=[],this.fds=[],y.enable(E.debug),this.args=e,this.env=i,this.fds=c;let t=this;this.wasiImport={args_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.args.length,!0);let o=0;for(let f of t.args)o+=f.length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},args_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.args.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.args[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},environ_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.env.length,!0);let o=0;for(let f of t.env)o+=new TextEncoder().encode(f).length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},environ_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.env.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.env[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},clock_res_get(r,n){let s;switch(r){case 1:{s=5000n;break}case 0:{s=1000000n;break}default:return 52}return new DataView(t.inst.exports.memory.buffer).setBigUint64(n,s,!0),0},clock_time_get(r,n,s){let o=new DataView(t.inst.exports.memory.buffer);if(r===0)o.setBigUint64(s,BigInt(new Date().getTime())*1000000n,!0);else if(r==1){let f;try{f=BigInt(Math.round(performance.now()*1e6))}catch{f=0n}o.setBigUint64(s,f,!0)}else o.setBigUint64(s,0n,!0);return 0},fd_advise(r,n,s,o){return t.fds[r]!=null?0:8},fd_allocate(r,n,s){return t.fds[r]!=null?t.fds[r].fd_allocate(n,s):8},fd_close(r){if(t.fds[r]!=null){let n=t.fds[r].fd_close();return t.fds[r]=void 0,n}else return 8},fd_datasync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_fdstat_get(r,n){if(t.fds[r]!=null){let{ret:s,fdstat:o}=t.fds[r].fd_fdstat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_fdstat_set_flags(r,n){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_flags(n):8},fd_fdstat_set_rights(r,n,s){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_rights(n,s):8},fd_filestat_get(r,n){if(t.fds[r]!=null){let{ret:s,filestat:o}=t.fds[r].fd_filestat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_filestat_set_size(r,n){return t.fds[r]!=null?t.fds[r].fd_filestat_set_size(n):8},fd_filestat_set_times(r,n,s,o){return t.fds[r]!=null?t.fds[r].fd_filestat_set_times(n,s,o):8},fd_pread(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=C.read_bytes_array(_,n,s),p=0;for(let d of u){let{ret:R,data:h}=t.fds[r].fd_pread(d.buf_len,o);if(R!=0)return _.setUint32(f,p,!0),R;if(l.set(h,d.buf),p+=h.length,o+=BigInt(h.length),h.length!=d.buf_len)break}return _.setUint32(f,p,!0),0}else return 8},fd_prestat_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();return f?.write_bytes(s,n),o}else return 8},fd_prestat_dir_name(r,n,s){if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();if(f==null)return o;let _=f.inner.pr_name;return new Uint8Array(t.inst.exports.memory.buffer).set(_.slice(0,s),n),_.byteLength>s?37:0}else return 8},fd_pwrite(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=L.read_bytes_array(_,n,s),p=0;for(let d of u){let R=l.slice(d.buf,d.buf+d.buf_len),{ret:h,nwritten:S}=t.fds[r].fd_pwrite(R,o);if(h!=0)return _.setUint32(f,p,!0),h;if(p+=S,o+=BigInt(S),S!=R.byteLength)break}return _.setUint32(f,p,!0),0}else return 8},fd_read(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=C.read_bytes_array(f,n,s),u=0;for(let p of l){let{ret:d,data:R}=t.fds[r].fd_read(p.buf_len);if(d!=0)return f.setUint32(o,u,!0),d;if(_.set(R,p.buf),u+=R.length,R.length!=p.buf_len)break}return f.setUint32(o,u,!0),0}else return 8},fd_readdir(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=0;for(;;){let{ret:p,dirent:d}=t.fds[r].fd_readdir_single(o);if(p!=0)return _.setUint32(f,u,!0),p;if(d==null)break;if(s-u<d.head_length()){u=s;break}let R=new ArrayBuffer(d.head_length());if(d.write_head_bytes(new DataView(R),0),l.set(new Uint8Array(R).slice(0,Math.min(R.byteLength,s-u)),n),n+=d.head_length(),u+=d.head_length(),s-u<d.name_length()){u=s;break}d.write_name_bytes(l,n,s-u),n+=d.name_length(),u+=d.name_length(),o=d.d_next}return _.setUint32(f,u,!0),0}else return 8},fd_renumber(r,n){if(t.fds[r]!=null&&t.fds[n]!=null){let s=t.fds[n].fd_close();return s!=0?s:(t.fds[n]=t.fds[r],t.fds[r]=void 0,0)}else return 8},fd_seek(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:_,offset:l}=t.fds[r].fd_seek(n,s);return f.setBigInt64(o,l,!0),_}else return 8},fd_sync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_tell(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,offset:f}=t.fds[r].fd_tell();return s.setBigUint64(n,f,!0),o}else return 8},fd_write(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=L.read_bytes_array(f,n,s),u=0;for(let p of l){let d=_.slice(p.buf,p.buf+p.buf_len),{ret:R,nwritten:h}=t.fds[r].fd_write(d);if(R!=0)return f.setUint32(o,u,!0),R;if(u+=h,h!=d.byteLength)break}return f.setUint32(o,u,!0),0}else return 8},path_create_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_create_directory(f)}else return 8},path_filestat_get(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=new TextDecoder("utf-8").decode(l.slice(s,s+o)),{ret:p,filestat:d}=t.fds[r].path_filestat_get(n,u);return d?.write_bytes(_,f),p}else return 8},path_filestat_set_times(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o));return t.fds[r].path_filestat_set_times(n,p,f,_,l)}else return 8},path_link(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[f]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o)),d=new TextDecoder("utf-8").decode(u.slice(_,_+l)),{ret:R,inode_obj:h}=t.fds[r].path_lookup(p,n);return h==null?R:t.fds[f].path_link(d,h,!1)}else return 8},path_open(r,n,s,o,f,_,l,u,p){let d=new DataView(t.inst.exports.memory.buffer),R=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let h=new TextDecoder("utf-8").decode(R.slice(s,s+o));y.log(h);let{ret:S,fd_obj:X}=t.fds[r].path_open(n,h,f,_,l,u);if(S!=0)return S;t.fds.push(X);let H=t.fds.length-1;return d.setUint32(p,H,!0),0}else return 8},path_readlink(r,n,s,o,f,_){let l=new DataView(t.inst.exports.memory.buffer),u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(n,n+s));y.log(p);let{ret:d,data:R}=t.fds[r].path_readlink(p);if(R!=null){let h=new TextEncoder().encode(R);if(h.length>f)return l.setUint32(_,0,!0),8;u.set(h,o),l.setUint32(_,h.length,!0)}return d}else return 8},path_remove_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_remove_directory(f)}else return 8},path_rename(r,n,s,o,f,_){let l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[o]!=null){let u=new TextDecoder("utf-8").decode(l.slice(n,n+s)),p=new TextDecoder("utf-8").decode(l.slice(f,f+_)),{ret:d,inode_obj:R}=t.fds[r].path_unlink(u);if(R==null)return d;if(d=t.fds[o].path_link(p,R,!0),d!=0&&t.fds[r].path_link(u,R,!0)!=0)throw"path_link should always return success when relinking an inode back to the original place";return d}else return 8},path_symlink(r,n,s,o,f){let _=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[s]!=null){let l=new TextDecoder("utf-8").decode(_.slice(r,r+n)),u=new TextDecoder("utf-8").decode(_.slice(o,o+f));return 58}else return 8},path_unlink_file(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_unlink_file(f)}else return 8},poll_oneoff(r,n,s){if(s===0)return 28;if(s>1)return y.log("poll_oneoff: only a single subscription is supported"),58;let o=new DataView(t.inst.exports.memory.buffer),f=k.read_bytes(o,r),_=f.eventtype,l=f.clockid,u=f.timeout;if(_!==at)return y.log("poll_oneoff: only clock subscriptions are supported"),58;let p;if(l===1)p=()=>BigInt(Math.round(performance.now()*1e6));else if(l===0)p=()=>BigInt(new Date().getTime())*1000000n;else return 28;let d=(f.flags&ft)!==0?u:p()+u;for(;d>p(););return new Y(f.userdata,0,_).write_bytes(o,n),0},proc_exit(r){throw new U(r)},proc_raise(r){throw"raised signal "+r},sched_yield(){},random_get(r,n){let s=new Uint8Array(t.inst.exports.memory.buffer).subarray(r,r+n);if("crypto"in globalThis&&(typeof SharedArrayBuffer>"u"||!(t.inst.exports.memory.buffer instanceof SharedArrayBuffer)))for(let o=0;o<n;o+=65536)crypto.getRandomValues(s.subarray(o,o+65536));else for(let o=0;o<n;o++)s[o]=Math.random()*256|0},sock_recv(r,n,s){throw"sockets not supported"},sock_send(r,n,s){throw"sockets not supported"},sock_shutdown(r,n){throw"sockets not supported"},sock_accept(r,n){throw"sockets not supported"}}}};var g=class{fd_allocate(e,i){return 58}fd_close(){return 0}fd_fdstat_get(){return{ret:58,fdstat:null}}fd_fdstat_set_flags(e){return 58}fd_fdstat_set_rights(e,i){return 58}fd_filestat_get(){return{ret:58,filestat:null}}fd_filestat_set_size(e){return 58}fd_filestat_set_times(e,i,c){return 58}fd_pread(e,i){return{ret:58,data:new Uint8Array}}fd_prestat_get(){return{ret:58,prestat:null}}fd_pwrite(e,i){return{ret:58,nwritten:0}}fd_read(e){return{ret:58,data:new Uint8Array}}fd_readdir_single(e){return{ret:58,dirent:null}}fd_seek(e,i){return{ret:58,offset:0n}}fd_sync(){return 0}fd_tell(){return{ret:58,offset:0n}}fd_write(e){return{ret:58,nwritten:0}}path_create_directory(e){return 58}path_filestat_get(e,i){return{ret:58,filestat:null}}path_filestat_set_times(e,i,c,E,t){return 58}path_link(e,i,c){return 58}path_unlink(e){return{ret:58,inode_obj:null}}path_lookup(e,i){return{ret:58,inode_obj:null}}path_open(e,i,c,E,t,r){return{ret:54,fd_obj:null}}path_readlink(e){return{ret:58,data:null}}path_remove_directory(e){return 58}path_rename(e,i,c){return 58}path_unlink_file(e){return 58}},m=class a{static issue_ino(){return a.next_ino++}static root_ino(){return 0n}constructor(){this.ino=a.issue_ino()}};m.next_ino=1n;var b=class extends g{fd_allocate(e,i){if(!(this.file.size>e+i)){let c=new Uint8Array(Number(e+i));c.set(this.file.data,0),this.file.data=c}return 0}fd_fdstat_get(){return{ret:0,fdstat:new x(W,0)}}fd_filestat_set_size(e){if(this.file.size>e)this.file.data=new Uint8Array(this.file.data.buffer.slice(0,Number(e)));else{let i=new Uint8Array(Number(e));i.set(this.file.data,0),this.file.data=i}return 0}fd_read(e){let i=this.file.data.slice(Number(this.file_pos),Number(this.file_pos+BigInt(e)));return this.file_pos+=BigInt(i.length),{ret:0,data:i}}fd_pread(e,i){return{ret:0,data:this.file.data.slice(Number(i),Number(i+BigInt(e)))}}fd_seek(e,i){let c;switch(i){case Q:c=e;break;case Z:c=this.file_pos+e;break;case V:c=BigInt(this.file.data.byteLength)+e;break;default:return{ret:28,offset:0n}}return c<0?{ret:28,offset:0n}:(this.file_pos=c,{ret:0,offset:this.file_pos})}fd_tell(){return{ret:0,offset:this.file_pos}}fd_write(e){if(this.file.readonly)return{ret:8,nwritten:0};if(this.file_pos+BigInt(e.byteLength)>this.file.size){let i=this.file.data;this.file.data=new Uint8Array(Number(this.file_pos+BigInt(e.byteLength))),this.file.data.set(i)}return this.file.data.set(e,Number(this.file_pos)),this.file_pos+=BigInt(e.byteLength),{ret:0,nwritten:e.byteLength}}fd_pwrite(e,i){if(this.file.readonly)return{ret:8,nwritten:0};if(i+BigInt(e.byteLength)>this.file.size){let c=this.file.data;this.file.data=new Uint8Array(Number(i+BigInt(e.byteLength))),this.file.data.set(c)}return this.file.data.set(e,Number(i)),{ret:0,nwritten:e.byteLength}}fd_filestat_get(){return{ret:0,filestat:this.file.stat()}}constructor(e){super(),this.file_pos=0n,this.file=e}};var F=class extends m{path_open(e,i,c){if(this.readonly&&(i&BigInt(64))==BigInt(64))return{ret:63,fd_obj:null};if((e&j)==j){if(this.readonly)return{ret:63,fd_obj:null};this.data=new Uint8Array([])}let E=new b(this);return c&q&&E.fd_seek(0n,V),{ret:0,fd_obj:E}}get size(){return BigInt(this.data.byteLength)}stat(){return new A(this.ino,W,this.size)}constructor(e,i){super(),this.data=new Uint8Array(e),this.readonly=!!i?.readonly}};var P=class a extends g{fd_filestat_get(){return{ret:0,filestat:new A(this.ino,J,BigInt(0))}}fd_fdstat_get(){let e=new x(J,0);return e.fs_rights_base=BigInt(64),{ret:0,fdstat:e}}fd_write(e){return this.write(e),{ret:0,nwritten:e.byteLength}}static lineBuffered(e){let i=new TextDecoder("utf-8",{fatal:!1}),c="";return new a(E=>{c+=i.decode(E,{stream:!0});let t=c.split(`\n`);for(let[r,n]of t.entries())r<t.length-1?e(n):c=n})}constructor(e){super(),this.ino=m.issue_ino(),this.write=e}};var ct="code-playpad Clang 20.1.2 / Emscripten 4.0.6 r1",lt={"clang.js":{bytes:74300,sha256:"b437a648812aabd1cc87cba4a7268e2f53ab94a9071a854ba983dd62328dc30c"},"clang.wasm":{bytes:42578038,sha256:"534571fd4f9136c85d3e25a395cc31983ec3cbd41012e3928b45879a518718fa"},"lld.js":{bytes:71711,sha256:"2da4b0a04b6953bdc4869137631abd11ea7eb5a667fbd19c4ff6d68d56f302bb"},"lld.wasm":{bytes:23228304,sha256:"55ffbe1366525c1b55b65140630e0ca00ff47eae7acfdee6a15b46e738800ec7"},"sysroot.tar":{bytes:29009920,sha256:"a0d92a9fc1dccc2c181ae6812b6c169de3dad851ee4d4e796d15940776648ac5"}};function K(a){if(!a||a.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(a)||a.split("/").some(e=>!e||e==="."||e===".."))throw new Error(`Invalid project path: ${JSON.stringify(a)}. Use relative paths without . or ...`);return a}function ut(a,e,i,c){let E=K(i??(c==="c"?"main.c":"main.cpp")),t=e?{...e}:{[E]:a};if(!Object.hasOwn(t,E))throw new Error(`Entry file ${E} does not exist.`);let r=Object.keys(t).map(K).sort(),n=f=>/\\.c$/.test(f),s=f=>/\\.(cpp|cc|cxx)$/.test(f);if(r.some(c==="c"?s:n))throw new Error("Mixed C/C++ source projects are not supported yet.");let o=r.filter(c==="c"?n:s);if(!o.includes(E))throw new Error(`Entry ${E} must have a ${c==="c"?".c":".cpp, .cc, or .cxx"} extension.`);if(o.length>32||r.length>256)throw new Error("Project limit: 32 source files and 256 files total.");if(Object.values(t).reduce((f,_)=>f+new TextEncoder().encode(_).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{files:t,sources:o,entry:E}}var st,v,dt=Promise.resolve(),G=a=>globalThis.postMessage(a),M=(a,e,i)=>G({type:"progress",id:a,phase:e,message:i}),B=(a,e)=>ot(a,lt[a],st,it,i=>M(e,"downloading",i));function St(a){let e=new Uint8Array(a),i=new TextDecoder,c=[],E=(t,r)=>i.decode(e.subarray(t,t+r)).replace(/\\0.*$/,"");for(let t=0;t+512<=e.length;){let r=E(t,100);if(!r)break;let n=E(t+345,155);n&&(r=n+"/"+r);let s=parseInt(E(t+124,12).trim()||"0",8),o=e[t+156];if(!Number.isSafeInteger(s)||s<0||t+512+s>e.length)throw new Error("Invalid sysroot archive.");if(o===48||o===0)c.push({name:"/"+K(r),data:e.subarray(t+512,t+512+s)});else if(o!==53)throw new Error("Unsupported sysroot archive entry.");t+=512+Math.ceil(s/512)*512}return c}async function Rt(a){let e=URL.createObjectURL(new Blob([a],{type:"text/javascript"}));try{return(await import(e)).default}finally{URL.revokeObjectURL(e)}}function yt(a){return st?(v||(v=(async()=>{let e=await Rt(await B("clang.js",a)),i=await Rt(await B("lld.js",a)),c=await WebAssembly.compile(await B("clang.wasm",a)),E=await WebAssembly.compile(await B("lld.wasm",a));M(a,"booting","Preparing C/C++ standard libraries\\u2026");let t=St(await B("sysroot.tar",a));return{clang:e,lld:i,clangModule:c,lldModule:E,sysroot:t}})().catch(e=>{throw v=void 0,e})),v):Promise.reject(new Error("Configure the rebuilt C/C++ assets with configureCpp({ indexURL }) before creating widgets. See docs/CPP-REBUILD.md."))}async function Et(a,e,i,c){let E,t=await a({thisProgram:i,noInitialRun:!0,print:c,printErr:c,instantiateWasm(r,n){let s=new WebAssembly.Instance(e,r);return E=Object.values(s.exports).find(o=>o instanceof WebAssembly.Memory),n(s,e),s.exports}});return t.memory=E,t}function $(a,e,i){a.mkdirTree(e.slice(0,e.lastIndexOf("/"))||"/"),a.writeFile(e,i)}async function mt(a){let e=performance.now(),i=0,c=(E,t)=>{if(i+=t.length,i>1e6)throw new Error("Output limit exceeded (1 MB).");t&&G({type:E,id:a.id,text:t})};try{let E=ut(a.code,a.files,a.entry,a.compilerLanguage),t=await yt(a.id),r=[],n=0;for(let R of E.sources){M(a.id,"compiling",`Compiling ${R}\\u2026`);let h=await Et(t.clang,t.clangModule,"clang",T=>c("stderr",T+`\n`));for(let T of t.sysroot)$(h.FS,T.name,T.data);for(let[T,pt]of Object.entries(E.files))$(h.FS,"/project/"+T,pt);let S=a.compilerLanguage==="cpp",X=["-cc1","-triple","wasm32-unknown-wasi","-emit-obj","-O0","-std="+(S?"c++20":"c17"),"-resource-dir","/lib/clang/20",...S?["-internal-isystem","/include/wasm32-wasi/c++/v1","-internal-isystem","/include/c++/v1"]:[],"-internal-isystem","/lib/clang/20/include","-internal-isystem","/include/wasm32-wasi","-internal-isystem","/include","-I","/project","-ferror-limit","20","-o","/tmp/output.o","-x",S?"c++":"c","/project/"+R],H=h.callMain(X);if(n=Math.max(n,h.memory?.buffer.byteLength??0),H!==0)throw new Error(`Compilation failed (${R}, exit ${H}).`);r.push(h.FS.readFile("/tmp/output.o").slice())}M(a.id,"linking","Linking\\u2026");let s=await Et(t.lld,t.lldModule,"wasm-ld",R=>c("stderr",R+`\n`));for(let R of t.sysroot)R.name.startsWith("/include/")||$(s.FS,R.name,R.data);r.forEach((R,h)=>$(s.FS,"/tmp/"+h+".o",R));let o=s.callMain(["-m","wasm32","-z","stack-size=1048576","--max-memory=268435456","-L/lib/wasm32-wasi","/lib/wasm32-wasi/crt1-command.o",...r.map((R,h)=>"/tmp/"+h+".o"),...a.compilerLanguage==="cpp"?["-lc++","-lc++abi"]:[],"-lc","/lib/clang/20/lib/wasm32-unknown-wasi/libclang_rt.builtins.a","-o","/tmp/program.wasm"]);if(n=Math.max(n,s.memory?.buffer.byteLength??0),o!==0)throw new Error(`Linking failed (exit ${o}).`);let f=await WebAssembly.compile(s.FS.readFile("/tmp/program.wasm").slice().buffer);M(a.id,"running","Running\\u2026");let _={stdout:new TextDecoder,stderr:new TextDecoder},l=R=>new P(h=>c(R,_[R].decode(h,{stream:!0}))),u=new rt([E.entry],[],[new b(new F(new TextEncoder().encode(a.stdin??""))),l("stdout"),l("stderr")]),p=await WebAssembly.instantiate(f,{wasi_snapshot_preview1:u.wasiImport}),d=u.start(p);if(c("stdout",_.stdout.decode()),c("stderr",_.stderr.decode()),d!==0)throw new Error(`Program exited with status ${d}.`);G({type:"result",id:a.id,durationMs:performance.now()-e,memory:{compilerBytes:n,programBytes:p.exports.memory.buffer.byteLength}})}catch(E){G({type:"error",id:a.id,message:E instanceof Error?E.message:String(E),durationMs:performance.now()-e})}}globalThis.onmessage=({data:a})=>{a.type==="init"?(st=a.toolchainURL,G({type:"ready",version:ct,interactiveStdin:!1})):a.type==="run"&&(dt=dt.then(()=>mt(a)))};})();\n',a=new class extends r{id=`cpp`;get label(){return`C/C++ (Clang 20, experimental)`}get source(){return i}async load(e){return await t(n),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}};function o(t){return{id:t,label:t===`c`?`C17 (experimental)`:`C++20 (experimental)`,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){return(await import(`@codemirror/lang-cpp`)).cpp()},load:e=>a.load(e),run:(n,r={})=>a.run(n,{...r,compilerLanguage:t,timeoutMs:r.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)}}var s=o(`c`),c=o(`cpp`);export{s as cRuntime,c as cppRuntime};
|
|
1
|
+
import{c as e}from"./config-3Z6xX6Jr.js";import{n as t,t as n}from"./compiler-cache-XwslsU5H.js";import{t as r}from"./worker-runtime-dxTpNm5e.js";var i='"use strict";(()=>{var it="code-playpad-cpp-20.1.2-emscripten-4.0.6-r1";async function ot(a,e,i,c,E){let t=new URL(a,i).href,r;try{r=await caches.open(c)}catch{}let n;try{n=await r?.match(t)}catch{}let s=async _=>{if(!_.ok)throw new Error(`Toolchain download failed: ${a} (HTTP ${_.status}). Check the asset URL and retry.`);let l=_.body?.getReader();if(!l)return _.arrayBuffer();let u=[],p=0,d=0;for(;;){let S=await l.read();if(S.done)break;if(p+=S.value.length,p>e.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${a}.`);u.push(S.value),performance.now()-d>100&&(E(`${n?"Reading cached":"Downloading"} ${a}: ${(p/1e6).toFixed(1)} / ${(e.bytes/1e6).toFixed(1)} MB (decoded)`),d=performance.now())}let R=new Uint8Array(p),h=0;for(let S of u)R.set(S,h),h+=S.length;return R.buffer},o=async _=>_.byteLength===e.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",_))].map(l=>l.toString(16).padStart(2,"0")).join("")===e.sha256;if(n){try{let _=await s(n);if(await o(_))return _}catch{}try{await r?.delete(t)}catch{}n=void 0}let f=await s(await fetch(t));if(!await o(f))throw new Error(`Toolchain integrity check failed: ${a}. Use the pinned toolchain assets.`);try{await r?.put(t,new Response(f))}catch{}return f}var C=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},L=class a{static read_bytes(e,i){let c=new a;return c.buf=e.getUint32(i,!0),c.buf_len=e.getUint32(i+4,!0),c}static read_bytes_array(e,i,c){let E=[];for(let t=0;t<c;t++)E.push(a.read_bytes(e,i+8*t));return E}},Q=0,Z=1,V=2;var J=2;var W=4;var q=1;var x=class{write_bytes(e,i){e.setUint8(i,this.fs_filetype),e.setUint16(i+2,this.fs_flags,!0),e.setBigUint64(i+8,this.fs_rights_base,!0),e.setBigUint64(i+16,this.fs_rights_inherited,!0)}constructor(e,i){this.fs_rights_base=0n,this.fs_rights_inherited=0n,this.fs_filetype=e,this.fs_flags=i}};var j=8,A=class{write_bytes(e,i){e.setBigUint64(i,this.dev,!0),e.setBigUint64(i+8,this.ino,!0),e.setUint8(i+16,this.filetype),e.setBigUint64(i+24,this.nlink,!0),e.setBigUint64(i+32,this.size,!0),e.setBigUint64(i+38,this.atim,!0),e.setBigUint64(i+46,this.mtim,!0),e.setBigUint64(i+52,this.ctim,!0)}constructor(e,i,c){this.dev=0n,this.nlink=0n,this.atim=0n,this.mtim=0n,this.ctim=0n,this.ino=e,this.filetype=i,this.size=c}},at=0;var ft=1,k=class a{static read_bytes(e,i){return new a(e.getBigUint64(i,!0),e.getUint8(i+8),e.getUint32(i+16,!0),e.getBigUint64(i+24,!0),e.getUint16(i+36,!0))}constructor(e,i,c,E,t){this.userdata=e,this.eventtype=i,this.clockid=c,this.timeout=E,this.flags=t}},Y=class{write_bytes(e,i){e.setBigUint64(i,this.userdata,!0),e.setUint16(i+8,this.error,!0),e.setUint8(i+10,this.eventtype)}constructor(e,i,c){this.userdata=e,this.error=i,this.eventtype=c}};var wt=class{enable(e){this.log=ht(e===void 0?!0:e,this.prefix)}get enabled(){return this.isEnabled}constructor(e){this.isEnabled=e,this.prefix="wasi:",this.enable(e)}};function ht(a,e){return a?console.log.bind(console,"%c%s","color: #265BA0",e):()=>{}}var y=new wt(!1);var U=class extends Error{constructor(e){super("exit with exit code "+e),this.code=e}},rt=class{start(e){this.inst=e;try{return e.exports._start(),0}catch(i){if(i instanceof U)return i.code;throw i}}initialize(e){this.inst=e,e.exports._initialize&&e.exports._initialize()}constructor(e,i,c,E={}){this.args=[],this.env=[],this.fds=[],y.enable(E.debug),this.args=e,this.env=i,this.fds=c;let t=this;this.wasiImport={args_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.args.length,!0);let o=0;for(let f of t.args)o+=f.length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},args_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.args.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.args[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},environ_sizes_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);s.setUint32(r,t.env.length,!0);let o=0;for(let f of t.env)o+=new TextEncoder().encode(f).length+1;return s.setUint32(n,o,!0),y.log(s.getUint32(r,!0),s.getUint32(n,!0)),0},environ_get(r,n){let s=new DataView(t.inst.exports.memory.buffer),o=new Uint8Array(t.inst.exports.memory.buffer),f=n;for(let _=0;_<t.env.length;_++){s.setUint32(r,n,!0),r+=4;let l=new TextEncoder().encode(t.env[_]);o.set(l,n),s.setUint8(n+l.length,0),n+=l.length+1}return y.enabled&&y.log(new TextDecoder("utf-8").decode(o.slice(f,n))),0},clock_res_get(r,n){let s;switch(r){case 1:{s=5000n;break}case 0:{s=1000000n;break}default:return 52}return new DataView(t.inst.exports.memory.buffer).setBigUint64(n,s,!0),0},clock_time_get(r,n,s){let o=new DataView(t.inst.exports.memory.buffer);if(r===0)o.setBigUint64(s,BigInt(new Date().getTime())*1000000n,!0);else if(r==1){let f;try{f=BigInt(Math.round(performance.now()*1e6))}catch{f=0n}o.setBigUint64(s,f,!0)}else o.setBigUint64(s,0n,!0);return 0},fd_advise(r,n,s,o){return t.fds[r]!=null?0:8},fd_allocate(r,n,s){return t.fds[r]!=null?t.fds[r].fd_allocate(n,s):8},fd_close(r){if(t.fds[r]!=null){let n=t.fds[r].fd_close();return t.fds[r]=void 0,n}else return 8},fd_datasync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_fdstat_get(r,n){if(t.fds[r]!=null){let{ret:s,fdstat:o}=t.fds[r].fd_fdstat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_fdstat_set_flags(r,n){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_flags(n):8},fd_fdstat_set_rights(r,n,s){return t.fds[r]!=null?t.fds[r].fd_fdstat_set_rights(n,s):8},fd_filestat_get(r,n){if(t.fds[r]!=null){let{ret:s,filestat:o}=t.fds[r].fd_filestat_get();return o?.write_bytes(new DataView(t.inst.exports.memory.buffer),n),s}else return 8},fd_filestat_set_size(r,n){return t.fds[r]!=null?t.fds[r].fd_filestat_set_size(n):8},fd_filestat_set_times(r,n,s,o){return t.fds[r]!=null?t.fds[r].fd_filestat_set_times(n,s,o):8},fd_pread(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=C.read_bytes_array(_,n,s),p=0;for(let d of u){let{ret:R,data:h}=t.fds[r].fd_pread(d.buf_len,o);if(R!=0)return _.setUint32(f,p,!0),R;if(l.set(h,d.buf),p+=h.length,o+=BigInt(h.length),h.length!=d.buf_len)break}return _.setUint32(f,p,!0),0}else return 8},fd_prestat_get(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();return f?.write_bytes(s,n),o}else return 8},fd_prestat_dir_name(r,n,s){if(t.fds[r]!=null){let{ret:o,prestat:f}=t.fds[r].fd_prestat_get();if(f==null)return o;let _=f.inner.pr_name;return new Uint8Array(t.inst.exports.memory.buffer).set(_.slice(0,s),n),_.byteLength>s?37:0}else return 8},fd_pwrite(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=L.read_bytes_array(_,n,s),p=0;for(let d of u){let R=l.slice(d.buf,d.buf+d.buf_len),{ret:h,nwritten:S}=t.fds[r].fd_pwrite(R,o);if(h!=0)return _.setUint32(f,p,!0),h;if(p+=S,o+=BigInt(S),S!=R.byteLength)break}return _.setUint32(f,p,!0),0}else return 8},fd_read(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=C.read_bytes_array(f,n,s),u=0;for(let p of l){let{ret:d,data:R}=t.fds[r].fd_read(p.buf_len);if(d!=0)return f.setUint32(o,u,!0),d;if(_.set(R,p.buf),u+=R.length,R.length!=p.buf_len)break}return f.setUint32(o,u,!0),0}else return 8},fd_readdir(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=0;for(;;){let{ret:p,dirent:d}=t.fds[r].fd_readdir_single(o);if(p!=0)return _.setUint32(f,u,!0),p;if(d==null)break;if(s-u<d.head_length()){u=s;break}let R=new ArrayBuffer(d.head_length());if(d.write_head_bytes(new DataView(R),0),l.set(new Uint8Array(R).slice(0,Math.min(R.byteLength,s-u)),n),n+=d.head_length(),u+=d.head_length(),s-u<d.name_length()){u=s;break}d.write_name_bytes(l,n,s-u),n+=d.name_length(),u+=d.name_length(),o=d.d_next}return _.setUint32(f,u,!0),0}else return 8},fd_renumber(r,n){if(t.fds[r]!=null&&t.fds[n]!=null){let s=t.fds[n].fd_close();return s!=0?s:(t.fds[n]=t.fds[r],t.fds[r]=void 0,0)}else return 8},fd_seek(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:_,offset:l}=t.fds[r].fd_seek(n,s);return f.setBigInt64(o,l,!0),_}else return 8},fd_sync(r){return t.fds[r]!=null?t.fds[r].fd_sync():8},fd_tell(r,n){let s=new DataView(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let{ret:o,offset:f}=t.fds[r].fd_tell();return s.setBigUint64(n,f,!0),o}else return 8},fd_write(r,n,s,o){let f=new DataView(t.inst.exports.memory.buffer),_=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let l=L.read_bytes_array(f,n,s),u=0;for(let p of l){let d=_.slice(p.buf,p.buf+p.buf_len),{ret:R,nwritten:h}=t.fds[r].fd_write(d);if(R!=0)return f.setUint32(o,u,!0),R;if(u+=h,h!=d.byteLength)break}return f.setUint32(o,u,!0),0}else return 8},path_create_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_create_directory(f)}else return 8},path_filestat_get(r,n,s,o,f){let _=new DataView(t.inst.exports.memory.buffer),l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let u=new TextDecoder("utf-8").decode(l.slice(s,s+o)),{ret:p,filestat:d}=t.fds[r].path_filestat_get(n,u);return d?.write_bytes(_,f),p}else return 8},path_filestat_set_times(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o));return t.fds[r].path_filestat_set_times(n,p,f,_,l)}else return 8},path_link(r,n,s,o,f,_,l){let u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[f]!=null){let p=new TextDecoder("utf-8").decode(u.slice(s,s+o)),d=new TextDecoder("utf-8").decode(u.slice(_,_+l)),{ret:R,inode_obj:h}=t.fds[r].path_lookup(p,n);return h==null?R:t.fds[f].path_link(d,h,!1)}else return 8},path_open(r,n,s,o,f,_,l,u,p){let d=new DataView(t.inst.exports.memory.buffer),R=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let h=new TextDecoder("utf-8").decode(R.slice(s,s+o));y.log(h);let{ret:S,fd_obj:X}=t.fds[r].path_open(n,h,f,_,l,u);if(S!=0)return S;t.fds.push(X);let H=t.fds.length-1;return d.setUint32(p,H,!0),0}else return 8},path_readlink(r,n,s,o,f,_){let l=new DataView(t.inst.exports.memory.buffer),u=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let p=new TextDecoder("utf-8").decode(u.slice(n,n+s));y.log(p);let{ret:d,data:R}=t.fds[r].path_readlink(p);if(R!=null){let h=new TextEncoder().encode(R);if(h.length>f)return l.setUint32(_,0,!0),8;u.set(h,o),l.setUint32(_,h.length,!0)}return d}else return 8},path_remove_directory(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_remove_directory(f)}else return 8},path_rename(r,n,s,o,f,_){let l=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null&&t.fds[o]!=null){let u=new TextDecoder("utf-8").decode(l.slice(n,n+s)),p=new TextDecoder("utf-8").decode(l.slice(f,f+_)),{ret:d,inode_obj:R}=t.fds[r].path_unlink(u);if(R==null)return d;if(d=t.fds[o].path_link(p,R,!0),d!=0&&t.fds[r].path_link(u,R,!0)!=0)throw"path_link should always return success when relinking an inode back to the original place";return d}else return 8},path_symlink(r,n,s,o,f){let _=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[s]!=null){let l=new TextDecoder("utf-8").decode(_.slice(r,r+n)),u=new TextDecoder("utf-8").decode(_.slice(o,o+f));return 58}else return 8},path_unlink_file(r,n,s){let o=new Uint8Array(t.inst.exports.memory.buffer);if(t.fds[r]!=null){let f=new TextDecoder("utf-8").decode(o.slice(n,n+s));return t.fds[r].path_unlink_file(f)}else return 8},poll_oneoff(r,n,s){if(s===0)return 28;if(s>1)return y.log("poll_oneoff: only a single subscription is supported"),58;let o=new DataView(t.inst.exports.memory.buffer),f=k.read_bytes(o,r),_=f.eventtype,l=f.clockid,u=f.timeout;if(_!==at)return y.log("poll_oneoff: only clock subscriptions are supported"),58;let p;if(l===1)p=()=>BigInt(Math.round(performance.now()*1e6));else if(l===0)p=()=>BigInt(new Date().getTime())*1000000n;else return 28;let d=(f.flags&ft)!==0?u:p()+u;for(;d>p(););return new Y(f.userdata,0,_).write_bytes(o,n),0},proc_exit(r){throw new U(r)},proc_raise(r){throw"raised signal "+r},sched_yield(){},random_get(r,n){let s=new Uint8Array(t.inst.exports.memory.buffer).subarray(r,r+n);if("crypto"in globalThis&&(typeof SharedArrayBuffer>"u"||!(t.inst.exports.memory.buffer instanceof SharedArrayBuffer)))for(let o=0;o<n;o+=65536)crypto.getRandomValues(s.subarray(o,o+65536));else for(let o=0;o<n;o++)s[o]=Math.random()*256|0},sock_recv(r,n,s){throw"sockets not supported"},sock_send(r,n,s){throw"sockets not supported"},sock_shutdown(r,n){throw"sockets not supported"},sock_accept(r,n){throw"sockets not supported"}}}};var g=class{fd_allocate(e,i){return 58}fd_close(){return 0}fd_fdstat_get(){return{ret:58,fdstat:null}}fd_fdstat_set_flags(e){return 58}fd_fdstat_set_rights(e,i){return 58}fd_filestat_get(){return{ret:58,filestat:null}}fd_filestat_set_size(e){return 58}fd_filestat_set_times(e,i,c){return 58}fd_pread(e,i){return{ret:58,data:new Uint8Array}}fd_prestat_get(){return{ret:58,prestat:null}}fd_pwrite(e,i){return{ret:58,nwritten:0}}fd_read(e){return{ret:58,data:new Uint8Array}}fd_readdir_single(e){return{ret:58,dirent:null}}fd_seek(e,i){return{ret:58,offset:0n}}fd_sync(){return 0}fd_tell(){return{ret:58,offset:0n}}fd_write(e){return{ret:58,nwritten:0}}path_create_directory(e){return 58}path_filestat_get(e,i){return{ret:58,filestat:null}}path_filestat_set_times(e,i,c,E,t){return 58}path_link(e,i,c){return 58}path_unlink(e){return{ret:58,inode_obj:null}}path_lookup(e,i){return{ret:58,inode_obj:null}}path_open(e,i,c,E,t,r){return{ret:54,fd_obj:null}}path_readlink(e){return{ret:58,data:null}}path_remove_directory(e){return 58}path_rename(e,i,c){return 58}path_unlink_file(e){return 58}},m=class a{static issue_ino(){return a.next_ino++}static root_ino(){return 0n}constructor(){this.ino=a.issue_ino()}};m.next_ino=1n;var b=class extends g{fd_allocate(e,i){if(!(this.file.size>e+i)){let c=new Uint8Array(Number(e+i));c.set(this.file.data,0),this.file.data=c}return 0}fd_fdstat_get(){return{ret:0,fdstat:new x(W,0)}}fd_filestat_set_size(e){if(this.file.size>e)this.file.data=new Uint8Array(this.file.data.buffer.slice(0,Number(e)));else{let i=new Uint8Array(Number(e));i.set(this.file.data,0),this.file.data=i}return 0}fd_read(e){let i=this.file.data.slice(Number(this.file_pos),Number(this.file_pos+BigInt(e)));return this.file_pos+=BigInt(i.length),{ret:0,data:i}}fd_pread(e,i){return{ret:0,data:this.file.data.slice(Number(i),Number(i+BigInt(e)))}}fd_seek(e,i){let c;switch(i){case Q:c=e;break;case Z:c=this.file_pos+e;break;case V:c=BigInt(this.file.data.byteLength)+e;break;default:return{ret:28,offset:0n}}return c<0?{ret:28,offset:0n}:(this.file_pos=c,{ret:0,offset:this.file_pos})}fd_tell(){return{ret:0,offset:this.file_pos}}fd_write(e){if(this.file.readonly)return{ret:8,nwritten:0};if(this.file_pos+BigInt(e.byteLength)>this.file.size){let i=this.file.data;this.file.data=new Uint8Array(Number(this.file_pos+BigInt(e.byteLength))),this.file.data.set(i)}return this.file.data.set(e,Number(this.file_pos)),this.file_pos+=BigInt(e.byteLength),{ret:0,nwritten:e.byteLength}}fd_pwrite(e,i){if(this.file.readonly)return{ret:8,nwritten:0};if(i+BigInt(e.byteLength)>this.file.size){let c=this.file.data;this.file.data=new Uint8Array(Number(i+BigInt(e.byteLength))),this.file.data.set(c)}return this.file.data.set(e,Number(i)),{ret:0,nwritten:e.byteLength}}fd_filestat_get(){return{ret:0,filestat:this.file.stat()}}constructor(e){super(),this.file_pos=0n,this.file=e}};var F=class extends m{path_open(e,i,c){if(this.readonly&&(i&BigInt(64))==BigInt(64))return{ret:63,fd_obj:null};if((e&j)==j){if(this.readonly)return{ret:63,fd_obj:null};this.data=new Uint8Array([])}let E=new b(this);return c&q&&E.fd_seek(0n,V),{ret:0,fd_obj:E}}get size(){return BigInt(this.data.byteLength)}stat(){return new A(this.ino,W,this.size)}constructor(e,i){super(),this.data=new Uint8Array(e),this.readonly=!!i?.readonly}};var P=class a extends g{fd_filestat_get(){return{ret:0,filestat:new A(this.ino,J,BigInt(0))}}fd_fdstat_get(){let e=new x(J,0);return e.fs_rights_base=BigInt(64),{ret:0,fdstat:e}}fd_write(e){return this.write(e),{ret:0,nwritten:e.byteLength}}static lineBuffered(e){let i=new TextDecoder("utf-8",{fatal:!1}),c="";return new a(E=>{c+=i.decode(E,{stream:!0});let t=c.split(`\n`);for(let[r,n]of t.entries())r<t.length-1?e(n):c=n})}constructor(e){super(),this.ino=m.issue_ino(),this.write=e}};var ct="code-playpad Clang 20.1.2 / Emscripten 4.0.6 r1",lt={"clang.js":{bytes:74300,sha256:"b437a648812aabd1cc87cba4a7268e2f53ab94a9071a854ba983dd62328dc30c"},"clang.wasm":{bytes:42578038,sha256:"534571fd4f9136c85d3e25a395cc31983ec3cbd41012e3928b45879a518718fa"},"lld.js":{bytes:71711,sha256:"2da4b0a04b6953bdc4869137631abd11ea7eb5a667fbd19c4ff6d68d56f302bb"},"lld.wasm":{bytes:23228304,sha256:"55ffbe1366525c1b55b65140630e0ca00ff47eae7acfdee6a15b46e738800ec7"},"sysroot.tar":{bytes:29009920,sha256:"a0d92a9fc1dccc2c181ae6812b6c169de3dad851ee4d4e796d15940776648ac5"}};function K(a){if(!a||a.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(a)||a.split("/").some(e=>!e||e==="."||e===".."))throw new Error(`Invalid project path: ${JSON.stringify(a)}. Use relative paths without . or ...`);return a}function ut(a,e,i,c){let E=K(i??(c==="c"?"main.c":"main.cpp")),t=e?{...e}:{[E]:a};if(!Object.hasOwn(t,E))throw new Error(`Entry file ${E} does not exist.`);let r=Object.keys(t).map(K).sort(),n=f=>/\\.c$/.test(f),s=f=>/\\.(cpp|cc|cxx)$/.test(f);if(r.some(c==="c"?s:n))throw new Error("Mixed C/C++ source projects are not supported yet.");let o=r.filter(c==="c"?n:s);if(!o.includes(E))throw new Error(`Entry ${E} must have a ${c==="c"?".c":".cpp, .cc, or .cxx"} extension.`);if(o.length>32||r.length>256)throw new Error("Project limit: 32 source files and 256 files total.");if(Object.values(t).reduce((f,_)=>f+new TextEncoder().encode(_).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{files:t,sources:o,entry:E}}var st,v,dt=Promise.resolve(),G=a=>globalThis.postMessage(a),M=(a,e,i)=>G({type:"progress",id:a,phase:e,message:i}),B=(a,e)=>ot(a,lt[a],st,it,i=>M(e,"downloading",i));function St(a){let e=new Uint8Array(a),i=new TextDecoder,c=[],E=(t,r)=>i.decode(e.subarray(t,t+r)).replace(/\\0.*$/,"");for(let t=0;t+512<=e.length;){let r=E(t,100);if(!r)break;let n=E(t+345,155);n&&(r=n+"/"+r);let s=parseInt(E(t+124,12).trim()||"0",8),o=e[t+156];if(!Number.isSafeInteger(s)||s<0||t+512+s>e.length)throw new Error("Invalid sysroot archive.");if(o===48||o===0)c.push({name:"/"+K(r),data:e.subarray(t+512,t+512+s)});else if(o!==53)throw new Error("Unsupported sysroot archive entry.");t+=512+Math.ceil(s/512)*512}return c}async function Rt(a){let e=URL.createObjectURL(new Blob([a],{type:"text/javascript"}));try{return(await import(e)).default}finally{URL.revokeObjectURL(e)}}function yt(a){return st?(v||(v=(async()=>{let e=await Rt(await B("clang.js",a)),i=await Rt(await B("lld.js",a)),c=await WebAssembly.compile(await B("clang.wasm",a)),E=await WebAssembly.compile(await B("lld.wasm",a));M(a,"booting","Preparing C/C++ standard libraries\\u2026");let t=St(await B("sysroot.tar",a));return{clang:e,lld:i,clangModule:c,lldModule:E,sysroot:t}})().catch(e=>{throw v=void 0,e})),v):Promise.reject(new Error("Configure the rebuilt C/C++ assets with configureCpp({ indexURL }) before creating widgets. See docs/CPP-REBUILD.md."))}async function Et(a,e,i,c){let E,t=await a({thisProgram:i,noInitialRun:!0,print:c,printErr:c,instantiateWasm(r,n){let s=new WebAssembly.Instance(e,r);return E=Object.values(s.exports).find(o=>o instanceof WebAssembly.Memory),n(s,e),s.exports}});return t.memory=E,t}function $(a,e,i){a.mkdirTree(e.slice(0,e.lastIndexOf("/"))||"/"),a.writeFile(e,i)}async function mt(a){let e=performance.now(),i=0,c=(E,t)=>{if(i+=t.length,i>1e6)throw new Error("Output limit exceeded (1 MB).");t&&G({type:E,id:a.id,text:t})};try{let E=ut(a.code,a.files,a.entry,a.compilerLanguage),t=await yt(a.id),r=[],n=0;for(let R of E.sources){M(a.id,"compiling",`Compiling ${R}\\u2026`);let h=await Et(t.clang,t.clangModule,"clang",T=>c("stderr",T+`\n`));for(let T of t.sysroot)$(h.FS,T.name,T.data);for(let[T,pt]of Object.entries(E.files))$(h.FS,"/project/"+T,pt);let S=a.compilerLanguage==="cpp",X=["-cc1","-triple","wasm32-unknown-wasi","-emit-obj","-O0","-std="+(S?"c++20":"c17"),"-resource-dir","/lib/clang/20",...S?["-internal-isystem","/include/wasm32-wasi/c++/v1","-internal-isystem","/include/c++/v1"]:[],"-internal-isystem","/lib/clang/20/include","-internal-isystem","/include/wasm32-wasi","-internal-isystem","/include","-I","/project","-ferror-limit","20","-o","/tmp/output.o","-x",S?"c++":"c","/project/"+R],H=h.callMain(X);if(n=Math.max(n,h.memory?.buffer.byteLength??0),H!==0)throw new Error(`Compilation failed (${R}, exit ${H}).`);r.push(h.FS.readFile("/tmp/output.o").slice())}M(a.id,"linking","Linking\\u2026");let s=await Et(t.lld,t.lldModule,"wasm-ld",R=>c("stderr",R+`\n`));for(let R of t.sysroot)R.name.startsWith("/include/")||$(s.FS,R.name,R.data);r.forEach((R,h)=>$(s.FS,"/tmp/"+h+".o",R));let o=s.callMain(["-m","wasm32","-z","stack-size=1048576","--max-memory=268435456","-L/lib/wasm32-wasi","/lib/wasm32-wasi/crt1-command.o",...r.map((R,h)=>"/tmp/"+h+".o"),...a.compilerLanguage==="cpp"?["-lc++","-lc++abi"]:[],"-lc","/lib/clang/20/lib/wasm32-unknown-wasi/libclang_rt.builtins.a","-o","/tmp/program.wasm"]);if(n=Math.max(n,s.memory?.buffer.byteLength??0),o!==0)throw new Error(`Linking failed (exit ${o}).`);let f=await WebAssembly.compile(s.FS.readFile("/tmp/program.wasm").slice().buffer);M(a.id,"running","Running\\u2026");let _={stdout:new TextDecoder,stderr:new TextDecoder},l=R=>new P(h=>c(R,_[R].decode(h,{stream:!0}))),u=new rt([E.entry],[],[new b(new F(new TextEncoder().encode(a.stdin??""))),l("stdout"),l("stderr")]),p=await WebAssembly.instantiate(f,{wasi_snapshot_preview1:u.wasiImport}),d=u.start(p);if(c("stdout",_.stdout.decode()),c("stderr",_.stderr.decode()),d!==0)throw new Error(`Program exited with status ${d}.`);G({type:"result",id:a.id,durationMs:performance.now()-e,memory:{compilerBytes:n,programBytes:p.exports.memory.buffer.byteLength}})}catch(E){G({type:"error",id:a.id,message:E instanceof Error?E.message:String(E),durationMs:performance.now()-e})}}globalThis.onmessage=({data:a})=>{a.type==="init"?(st=a.toolchainURL,G({type:"ready",version:ct,interactiveStdin:!1})):a.type==="run"&&(dt=dt.then(()=>mt(a)))};})();\n',a=new class extends r{id=`cpp`;get label(){return`C/C++ (Clang 20, experimental)`}get source(){return i}async load(e){return await t(n),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}};function o(t){return{id:t,label:t===`c`?`C17 (experimental)`:`C++20 (experimental)`,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){return(await import(`@codemirror/lang-cpp`)).cpp()},load:e=>a.load(e),run:(n,r={})=>a.run(n,{...r,compilerLanguage:t,timeoutMs:r.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)}}var s=o(`c`),c=o(`cpp`);export{s as cRuntime,c as cppRuntime};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e}from"./config-3Z6xX6Jr.js";import{n as t}from"./compiler-cache-XwslsU5H.js";import{t as n}from"./worker-runtime-5Ujf07eB.js";var r=`code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1`,i='"use strict";(()=>{var E="code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1";async function T(e,s,b,f,n){let d=new URL(e,b).href,o;try{o=await caches.open(f)}catch{}let c;try{c=await o?.match(d)}catch{}let h=async r=>{if(!r.ok)throw new Error(`Toolchain download failed: ${e} (HTTP ${r.status}). Check the asset URL and retry.`);let l=r.body?.getReader();if(!l)return r.arrayBuffer();let C=[],i=0,u=0;for(;;){let m=await l.read();if(m.done)break;if(i+=m.value.length,i>s.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${e}.`);C.push(m.value),performance.now()-u>100&&(n(`${c?"Reading cached":"Downloading"} ${e}: ${(i/1e6).toFixed(1)} / ${(s.bytes/1e6).toFixed(1)} MB (decoded)`),u=performance.now())}let p=new Uint8Array(i),S=0;for(let m of C)p.set(m,S),S+=m.length;return p.buffer},y=async r=>r.byteLength===s.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",r))].map(l=>l.toString(16).padStart(2,"0")).join("")===s.sha256;if(c){try{let r=await h(c);if(await y(r))return r}catch{}try{await o?.delete(d)}catch{}c=void 0}let w=await h(await fetch(d));if(!await y(w))throw new Error(`Toolchain integrity check failed: ${e}. Use the pinned toolchain assets.`);try{await o?.put(d,new Response(w))}catch{}return w}var P={id:"code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1",assets:{"_framework/Microsoft.CSharp.45w5ndn4gy.wasm":{bytes:301333,sha256:"0893b8a6e6506cb2dbfa2dd01ac779d4616d013a2fac80e8cc15a64cdf526f0c"},"_framework/Microsoft.CodeAnalysis.CSharp.df8hfd5o8z.wasm":{bytes:6828825,sha256:"17a863076b8e6cdfad78e7e9b739ea6940939880f2916523aaa19e7a2b3b463c"},"_framework/Microsoft.CodeAnalysis.erp1n29u9n.wasm":{bytes:3048217,sha256:"56f8336593d9e41ee553106871e5aa82aadac0ab3f04496c8d1bbe601f619089"},"_framework/Microsoft.VisualBasic.6b1p6yq8b3.wasm":{bytes:6933,sha256:"1eff194716c295748d936659cab92e84a0d13515c34c2f05838c910f0fb9e2d5"},"_framework/Microsoft.VisualBasic.Core.4day4tivbb.wasm":{bytes:418581,sha256:"f860e30addf5a3562ba06fd93984663df5ca52ba9feadf1edc88e249fcb05c5d"},"_framework/Microsoft.Win32.Primitives.4bv2m8ah4f.wasm":{bytes:5397,sha256:"00e133d3bcca6baa47c8389b471441c9d4b89bcea2a308b5b779a70e714e2894"},"_framework/Microsoft.Win32.Registry.o7q57g4y3v.wasm":{bytes:22805,sha256:"0c854e9283334e2be8c837a9e95040ab6a649b45cb0078e0b19f1cd215604788"},"_framework/Playpad.CSharp.bc2sx86ihs.wasm":{bytes:19733,sha256:"25449d8432b31e70aa0109d2244595d3f1becb0493d3b9b9aa21f91a13fbc11f"},"_framework/System.AppContext.7pfnw66j8s.wasm":{bytes:4885,sha256:"3bc775156968db8b138e70f0d6cf919e8eceda801518dc4395a6c1b7029a76a2"},"_framework/System.Buffers.n9eydi1g7o.wasm":{bytes:4885,sha256:"bb413f159d106aa82005001b72d3dbe21702fe5b0729dfb0ad411e3b9ae14933"},"_framework/System.Collections.Concurrent.j651l47s89.wasm":{bytes:78613,sha256:"85fa85329f2778f2d7feeabe96e17150c2529cdee2671227f6adca55511e85ba"},"_framework/System.Collections.Immutable.5srny90eq0.wasm":{bytes:240917,sha256:"659249897525dbdd045be0c365aa78670911e71f082962fab29cb3d92f659523"},"_framework/System.Collections.NonGeneric.0gs0za6wta.wasm":{bytes:37653,sha256:"005b930e461f6d5f28714586e73c030a2d0d7705b93ff701e96465dcec8626de"},"_framework/System.Collections.Specialized.0lamnc2eez.wasm":{bytes:37653,sha256:"14a6ecd2d98964854df3c84e5d28c9e370f8511d88e17e19894bdd5487074534"},"_framework/System.Collections.zkl9zn110m.wasm":{bytes:102677,sha256:"7d1b8e3fb815980cc84b2d67b6894fa6bf936064cb4c0639547f214d3337826e"},"_framework/System.ComponentModel.2dg08nsbgq.wasm":{bytes:5909,sha256:"2a69c31d5b96be96e2dbd84b2eb722f33401245e3c3c18b449fa49d6b35b516c"},"_framework/System.ComponentModel.Annotations.qqu4bynrpj.wasm":{bytes:92437,sha256:"5ea898870e6d334ac03751ca45e941bdc786959862a4604c0b7925ae22365c1c"},"_framework/System.ComponentModel.DataAnnotations.6ljk5kma3w.wasm":{bytes:6421,sha256:"2a75102b3e594a3a5aec02c737c07bb07d67b31d84584a84dc93bd8fceaa44f7"},"_framework/System.ComponentModel.EventBasedAsync.0necwturs4.wasm":{bytes:16149,sha256:"1c2972979910342271b8e94c4455ff86593b6b428dbe29283927fc5038739df9"},"_framework/System.ComponentModel.Primitives.ex1da4zowy.wasm":{bytes:32021,sha256:"feaafe39e5531ccded6bd652b0ecbd1ddc7a3600e3ee89091411dbb113ae6489"},"_framework/System.ComponentModel.TypeConverter.t0513robn6.wasm":{bytes:306453,sha256:"53c1eda4d6b514c881cee8f6c7023ca6aa25304c2560c2a27357d5912b7e9efa"},"_framework/System.Configuration.11exwmwngo.wasm":{bytes:8981,sha256:"45bdaf5a151f8d873e4f3d63924b0b8e4711aa8e53a1a6b49bbaf8722ca07851"},"_framework/System.Console.4o049fyksq.wasm":{bytes:43797,sha256:"9cbe95b0e710127a9dc6fb016d89e3198bf5602e8767b4fe3318de77cc2e4184"},"_framework/System.Core.2bi377k7h6.wasm":{bytes:13077,sha256:"6e627a49290c7337183d58c756ca20ee0c6aef3716c73f748a1f2a040ec13f12"},"_framework/System.Data.Common.zrj82y4hfd.wasm":{bytes:1007893,sha256:"1fa0c46a27e2d1eb30b6ece5431b62a99eb0d3dbfff0ab3b0160d202b1283e62"},"_framework/System.Data.DataSetExtensions.ndyqwckzh5.wasm":{bytes:5397,sha256:"8b005ca671c5224a36cc8fcaee97ebd9fc9c8b44a4f431211c0e279b67605ef4"},"_framework/System.Data.cbzplu1klk.wasm":{bytes:15125,sha256:"08fc7cad424adfa678e5e03e1561fe679db996e8a887b14de7893786bdcfc11c"},"_framework/System.Diagnostics.Contracts.xbykr1nyue.wasm":{bytes:5909,sha256:"33867da04cc7cd4d8de2f10f0490f5488a8c8b83928597d906e86aae59e96c24"},"_framework/System.Diagnostics.Debug.faxnhsagf6.wasm":{bytes:5397,sha256:"b9b6df298d8fc68baec7ecf30ef40095a0810b44033dc2285e6e4d94eacac0cb"},"_framework/System.Diagnostics.DiagnosticSource.o8neuaehsr.wasm":{bytes:192277,sha256:"d82c2d87d4b05f79cded591ec897e75aef9fd5c93a5ec034bb76b8c67c211dd8"},"_framework/System.Diagnostics.FileVersionInfo.3veftfofsy.wasm":{bytes:12565,sha256:"ff1105930376d41151ef2e5c3d79cdb7002dfb3f7923bb3bf5caf3c33e301ce3"},"_framework/System.Diagnostics.Process.m02d4wsk19.wasm":{bytes:46357,sha256:"8af0d33b005cf399b2d983101aabd789b759fce6d53724ab17e4257df275f357"},"_framework/System.Diagnostics.StackTrace.3n0s7h4d43.wasm":{bytes:15637,sha256:"c1428e9f1dd799329b94b73a3a739c726195e78c7e499a7f9fa76abc9711a153"},"_framework/System.Diagnostics.TextWriterTraceListener.eytcvy9k8s.wasm":{bytes:21269,sha256:"a6f9c9665c871e8702c313c72aff56d8678fa2aeef5d58bdbd22895b5d7bb0cc"},"_framework/System.Diagnostics.Tools.fj2fven09q.wasm":{bytes:4885,sha256:"655eda3c94089e2fd9a0eda837027d39fdc8782124027f1ecb5e1627306f3ab2"},"_framework/System.Diagnostics.TraceSource.zdzes0xpw3.wasm":{bytes:48405,sha256:"596906ce63f2a87afc7c0c93ce63b8edd564dbab4cf44cba12e1e1de57cd3989"},"_framework/System.Diagnostics.Tracing.p8zfsagsem.wasm":{bytes:5909,sha256:"29645956735e67930940e0068fdf939e7724ac191aec9af9fc7fad2a5c478b4e"},"_framework/System.Drawing.Primitives.qihgks5s1u.wasm":{bytes:54549,sha256:"4e6f66a93b0178adcba6b52555fe1665e5d5c9f295ede78bb1f88a8ce7cd1730"},"_framework/System.Drawing.yh4pswp3to.wasm":{bytes:10005,sha256:"064f946cd835b5c06b88b5e8d3baafa1b65212fea3f741846530b9c15e8397a8"},"_framework/System.Dynamic.Runtime.qf4wa78w3a.wasm":{bytes:5909,sha256:"76243dbb12aaf714360cd6bb1adff3eac41d019028d45706f9a877fa0b8b4933"},"_framework/System.Formats.Asn1.ei47lr61p0.wasm":{bytes:86805,sha256:"963360faa396a0ac4f0ee1fb6a4de8195c8abc8722cfcb5e3f34c8f8cfa2cc44"},"_framework/System.Formats.Tar.jt7yo4wxzn.wasm":{bytes:28949,sha256:"e9bb9ece17de3bb99b99f9e27d9be6ea25feb824606217a81a581a3defd799e3"},"_framework/System.Globalization.Calendars.vfqjdvj4bj.wasm":{bytes:5397,sha256:"9b458344e441af8a342d90d9756002bd53d3ca81fd2ecec1d9956c09ab738761"},"_framework/System.Globalization.Extensions.fb3tp0zu2j.wasm":{bytes:4885,sha256:"0b1f2e8dd68f450050c6ea5d933b06ffc0133120dff33a87b5ccf1e523439be2"},"_framework/System.Globalization.jpj90sbpo9.wasm":{bytes:5397,sha256:"07ac16899c10c3af6fb0bb4cd1ca976ddf3fe82165fb06b74bb034cab14a0bad"},"_framework/System.IO.Compression.Brotli.fpnvzsxpvo.wasm":{bytes:18197,sha256:"c3cc052fa471c3f25016b7eee90ab7eb3793995aea8f08ba93e3b6d85c9ba0b7"},"_framework/System.IO.Compression.FileSystem.tk5twcs8br.wasm":{bytes:4885,sha256:"7d51272f3b3ec7a32ef1b73e693fc90753705665cc50f98a56a3e7f60970cd31"},"_framework/System.IO.Compression.ZipFile.f6odqd84z5.wasm":{bytes:43285,sha256:"59161959d34a7935b83bc858b589d34cc17ade5912137658ee3d7ca1ec4b090c"},"_framework/System.IO.Compression.zo5nnp1cfl.wasm":{bytes:157461,sha256:"6df8da5437998a60f5afd17b4c0b7145d94171dd2b0dd1bed6ef0d762074062d"},"_framework/System.IO.FileSystem.4xxxdm8fc4.wasm":{bytes:5397,sha256:"f8ae1910ff477fbb38b7a1a689ddb555d5ab9f7b5ec59e183fb7c7aebacbe077"},"_framework/System.IO.FileSystem.AccessControl.3nsp4r0ce1.wasm":{bytes:21781,sha256:"3f2d25968e0dad93040716ef7d97382bd6a5517bd0e3c6d707fa520df255d627"},"_framework/System.IO.FileSystem.DriveInfo.2dz9a3mpco.wasm":{bytes:13589,sha256:"46f152531a56b5a1234b905b5460060a3a76c74a94f575e6444848bb7d15a0fc"},"_framework/System.IO.FileSystem.Primitives.ts09gphu65.wasm":{bytes:4885,sha256:"b3efcf0755c59862ad4893ad4b668d5dab114f3561ae632d1ea7479e65c22180"},"_framework/System.IO.FileSystem.Watcher.zra8jhxo53.wasm":{bytes:22805,sha256:"8fcf89a027896f110eefc2e1e76a86bd91f6537a748afdc2ecc7fbd00d1110a1"},"_framework/System.IO.IsolatedStorage.czh3ilflkw.wasm":{bytes:24853,sha256:"388c1f0e6894454587ae794e210a93feaa23c8932064b68ad76e660a2b3d4fb1"},"_framework/System.IO.MemoryMappedFiles.f0h74bif4r.wasm":{bytes:39701,sha256:"dfc14559b3102cdd3d1155ec7cc198999db5b31439aafcd1775dffa39015d0a7"},"_framework/System.IO.Pipelines.eqtd8a5j6e.wasm":{bytes:67861,sha256:"3aa8165bec8d2b718d927cf0ba7ba9fb2e301544164d62202a578d3e3010d850"},"_framework/System.IO.Pipes.AccessControl.cz75e7snno.wasm":{bytes:13077,sha256:"a881296c9ae2cefe4f57c030f0cd13a0384ae7a82519dd0063d62feab0877a2b"},"_framework/System.IO.Pipes.amk3gre8pn.wasm":{bytes:32021,sha256:"22c795928e765dae50c2632f264efde23032c0225fcff6acb4aa075855543436"},"_framework/System.IO.UnmanagedMemoryStream.pjda8c8goj.wasm":{bytes:5397,sha256:"159b449cef234de1150ea545ce482dadadcffb47cccc4e60038840eb1be87a4c"},"_framework/System.IO.hvb68vhf4w.wasm":{bytes:5397,sha256:"63ca4a239901c3ba9517ab48c5c70e2b2f2f983b8f5c96c6215ffb74efb90d42"},"_framework/System.Linq.AsyncEnumerable.p5kf8px69a.wasm":{bytes:446229,sha256:"cdaf09cf14de62c8172a64d1f1fd540b050edf1a751873b575f1c6dab92f171d"},"_framework/System.Linq.Expressions.rrm2f8e4yg.wasm":{bytes:565013,sha256:"c74ef523be9ae6830a76be0baf9a9a508ce7ca31ac5876bb80dc7d1d777b5cab"},"_framework/System.Linq.Parallel.2c1yb2s745.wasm":{bytes:212757,sha256:"be110713a9092c3594d36dc664441be579d17fbe9b0be0a1bd289bd4fca58ee9"},"_framework/System.Linq.Queryable.trhrf5j8ds.wasm":{bytes:68373,sha256:"b965d6be5e8744b201ab8142f11c57aaf0a95081020880c1ec709fb9654c338c"},"_framework/System.Linq.gvekllsg4c.wasm":{bytes:190741,sha256:"4cf1e524ac3f80887e4c7d723c29f54b676ad76325c8472ecbbd064652881d57"},"_framework/System.Memory.rvge25ilzk.wasm":{bytes:45333,sha256:"09ddaf85e36c7c13ef4d7e32cc5436cfec4984e1c26c989072e499ddde8ae062"},"_framework/System.Net.Http.8ubauysc2i.wasm":{bytes:286485,sha256:"903f936e8d7a67798c76e85d53838ac80c88b1ef3d45ec53ff2ac95a8bbc4c2b"},"_framework/System.Net.Http.Json.cnwprpsgic.wasm":{bytes:45845,sha256:"8830cced672b10f509c317186768b69245fbc9c3695eb870b9a81e31a1dfa086"},"_framework/System.Net.HttpListener.ij8kltpk25.wasm":{bytes:45845,sha256:"c23e07ce4477568bf5687cc8f81f2eb9ce806667398756ab96507671f83a3594"},"_framework/System.Net.Mail.z8qhziwoem.wasm":{bytes:94997,sha256:"ddd584fafc23dc46fd5eca406b6f0edb6fc2af837280fd50b276327c867a41ee"},"_framework/System.Net.NameResolution.ncmdi0kq9p.wasm":{bytes:14101,sha256:"993b5c9ce17363348c5d77766b5ef8ba7cd9e9bf8490f54bf295d600c0318f5d"},"_framework/System.Net.NetworkInformation.es6jl8uhrp.wasm":{bytes:32021,sha256:"e2e10d93298c3e8ba16fc2acfebc314c9e32ad07d28b99a491ad1f215795f216"},"_framework/System.Net.Ping.leo6kko976.wasm":{bytes:17685,sha256:"0de562db7b1035f071863450f7e875892b1705ba696cc11ee3593dda48894fc9"},"_framework/System.Net.Primitives.yzzu57r5h4.wasm":{bytes:97045,sha256:"bea2dfad62c29bbf61a9b34552bb6b28356cc6ce36c56e96c058639c3ee2a3fc"},"_framework/System.Net.Quic.t4x9xorc7c.wasm":{bytes:28949,sha256:"031f5366680b6a4b90cf8ed2ced5d135391b1942a1423e991ebeddfd7b47940a"},"_framework/System.Net.Requests.hvrao969rw.wasm":{bytes:55573,sha256:"9d27640110c78c3c04da4f2f070589ff6857804316f91765cc59d305e45ae9dc"},"_framework/System.Net.Security.z570hyrh50.wasm":{bytes:104213,sha256:"b972545804845422c6b90682ef9585ff07ca24394bc4abcafaa8aab8841476ff"},"_framework/System.Net.ServerSentEvents.b3gkat9xqz.wasm":{bytes:30485,sha256:"89c3d8604b565dd8b5ac18dcd39b73f311c81e20b8d5cdbd3c3a704c958515f3"},"_framework/System.Net.ServicePoint.k1tgr3lkj6.wasm":{bytes:4885,sha256:"082ef4faa63db1a669223b6b892729a426f1017c61a8140167d9a935f65cabd5"},"_framework/System.Net.Sockets.fgcxent7fc.wasm":{bytes:64277,sha256:"b1284556b3eeceed8cee152f19f6a6b32c7d35ab031f64a4b96968cbef84ff90"},"_framework/System.Net.WebClient.kpwi6t40sc.wasm":{bytes:45845,sha256:"18108441da8fd4dc43cd29a42d491c27e23961e0188714ce41deffa5e113b034"},"_framework/System.Net.WebHeaderCollection.fnxrdiu9j1.wasm":{bytes:22805,sha256:"1bb8ab08176b1d4878d9d5732629e730cd863d2e0e458de1914cd71aafcc7a86"},"_framework/System.Net.WebProxy.wtgabypaqs.wasm":{bytes:11541,sha256:"4cc9d37b00460499d38df4cc1bb4a9408fa0996e9cdef5244ad645b550cd87b2"},"_framework/System.Net.WebSockets.4zomq83cjx.wasm":{bytes:99093,sha256:"102e21acf0257c9bd1115dd74f36f0cf1844ea1872ecf3e78f4af2d9038878c9"},"_framework/System.Net.WebSockets.Client.l4ui9wgjyz.wasm":{bytes:42261,sha256:"fbade9ba11569ee8ead57e48bfad3419d4b5800f2a0503de1ea87ddbab5e78d6"},"_framework/System.Net.plchg2cs85.wasm":{bytes:6933,sha256:"f38d34d3e084c72fda1c6182f4fd11644d922dfa7b4efdb83809b6bb6eba4879"},"_framework/System.Numerics.7xa3ygjnjn.wasm":{bytes:4885,sha256:"f513f73d4658cd05b3d587d5dc634450d3d2811ca92b12e0065d111f0fb7fe08"},"_framework/System.Numerics.Vectors.2neq4xg5b1.wasm":{bytes:5397,sha256:"624bf089833a6c91bd2c0e83cf58f9db9b8e702dcc8c9e2b389610f8f3ad9924"},"_framework/System.ObjectModel.0us7g9291u.wasm":{bytes:30997,sha256:"b8c1e66933e2073d4d95b7971ce949d2aee7caacd85a222261200d12368e6305"},"_framework/System.Private.CoreLib.7henw1oe7e.wasm":{bytes:4870425,sha256:"0b6d3f3864053400013921497367c1f9806b10baa069e9e80ea2ba7ff1943d20"},"_framework/System.Private.DataContractSerialization.45rz0h7hbh.wasm":{bytes:849173,sha256:"2808c98580c4009f7850dde898e1f8d81a15e427ddeb122033384dd48a0c1252"},"_framework/System.Private.Uri.c0pesqh6or.wasm":{bytes:95509,sha256:"e4b56986f49b6104f86884d59fd3a4eff4e525fdd2d1f83baee01b752efa337e"},"_framework/System.Private.Xml.Linq.91dmao781k.wasm":{bytes:143637,sha256:"7d05fc1b72e4d16c33f13e7cfd85a6f5a92f5c2ca343c8f78d4425d2afa50d0a"},"_framework/System.Private.Xml.ihpa1sp5u8.wasm":{bytes:3096857,sha256:"86009953171be26f62eab577e33c3502d82ddc74a9d6f27c6b4d07ea6300e498"},"_framework/System.Reflection.DispatchProxy.dotf7d6gov.wasm":{bytes:27925,sha256:"03a1a48a2b900d219650d22288cb1ebb62feb218fef7788daa6aead0e237f14d"},"_framework/System.Reflection.Emit.ILGeneration.0x2k63jlqj.wasm":{bytes:5397,sha256:"c46d97174687a1f77ef95a0c085d632881c1f315d7141b985a673662131235e0"},"_framework/System.Reflection.Emit.Lightweight.5yjn7ykajf.wasm":{bytes:5397,sha256:"bdb328f85330a0991ea097895f5f233c7c185bcc54d115f9f4deb7c02fa7ce83"},"_framework/System.Reflection.Emit.ynxp91g9b8.wasm":{bytes:123157,sha256:"52fc8f0a51bcc2c5da80be2148b8391dc1665768e3aa6e04a0a0a7a2aeee52c8"},"_framework/System.Reflection.Extensions.0ouvp5b0xg.wasm":{bytes:4885,sha256:"00b61c99e5b7930e88707c4614942c0f69e91bd0acadd0e728d3e219f1137a53"},"_framework/System.Reflection.Metadata.vkm0bf1n4h.wasm":{bytes:493333,sha256:"b136c7933bc62da5e4f3e34ad6fea876f5cc7a7e47d35e7b7c64055927fc68f6"},"_framework/System.Reflection.Primitives.cnvk9lkykl.wasm":{bytes:5397,sha256:"c84511d42d21a09fd8818bb0ee4d4423584f19dd9a58a98a8d8631c0435336bb"},"_framework/System.Reflection.TypeExtensions.jnvi38irak.wasm":{bytes:14101,sha256:"bf533973a0a50cba610aac73875d9f8627c173b463311d060f79ea4922a9d64e"},"_framework/System.Reflection.qdi0svky7b.wasm":{bytes:5909,sha256:"0e958c24d437bc1b1e321617c69dda15aba94d0e13b741c39a514108dab87958"},"_framework/System.Resources.Reader.tkyk3pewoj.wasm":{bytes:4885,sha256:"f34cfbeb3f39e7bfa7d0d892e3fdcfeda727e269b2a622d74ca455d41ad740b3"},"_framework/System.Resources.ResourceManager.mxgnwpq6s6.wasm":{bytes:5397,sha256:"7af92fba46216d614859a6466c6a013e936a510d492affb6ee74179d23620998"},"_framework/System.Resources.Writer.u12ln0bq25.wasm":{bytes:16661,sha256:"a2a46ada8be5659c787b4da0494298da0ffc2467a0b02a7eab604dca5c532866"},"_framework/System.Runtime.CompilerServices.Unsafe.mvjra26big.wasm":{bytes:4885,sha256:"624f428a1c8ffd524aa47ced54090373d0f389162b6dfb00689343f2a3ac5803"},"_framework/System.Runtime.CompilerServices.VisualC.0zws5y4za8.wasm":{bytes:6933,sha256:"ec82d7e3669ba41156f4d70d94bf30c47dd28829cf5de4591f18bce80943d1a0"},"_framework/System.Runtime.Extensions.53v9tmujmf.wasm":{bytes:7445,sha256:"5f05d3f29944d5adc9a644a37e1818edc5cb9f4450fe1ed88b600b0d84bda226"},"_framework/System.Runtime.Handles.dtp1f2k1pr.wasm":{bytes:5397,sha256:"f16fe73e38bb80ab6b26486ad193d8766254138bac0524f2861959c7834cbee1"},"_framework/System.Runtime.InteropServices.JavaScript.b9bqw25qxw.wasm":{bytes:79637,sha256:"810c9571d56aae8aabdccec828936d48cb8664b4e2e923d3c49f5c288234a26c"},"_framework/System.Runtime.InteropServices.RuntimeInformation.5dmsm0qrdq.wasm":{bytes:5397,sha256:"c7696a8781fbc588fa126969f0a8b0703c3df1181e9e723631d5a7816636c406"},"_framework/System.Runtime.InteropServices.zc5o5oswy7.wasm":{bytes:54549,sha256:"dd89331d3297a0c4a5aac4e6ed289c59d6c8858f7f85d55a46fb0d80c69ca429"},"_framework/System.Runtime.Intrinsics.uupmanm0z1.wasm":{bytes:6933,sha256:"6692c7b97d8261781b893a91a9bed12a8da493d0ad20d6e2e941ab4b052c6218"},"_framework/System.Runtime.Loader.bmhnwgr24i.wasm":{bytes:5397,sha256:"0db7813efcf24740ffc3121704940e5b39bac5745b05c3cbd23a71bbc13d7800"},"_framework/System.Runtime.Numerics.hnmfmtcdek.wasm":{bytes:134933,sha256:"937500e9e310341dabaee15f5c1f39eccc0214d055b846951547ed19f635659d"},"_framework/System.Runtime.Serialization.890gxgs7km.wasm":{bytes:6933,sha256:"b41917f9c13f891781b2babb541b8d01f8394a51f2e9323922eb94a2816a2d5d"},"_framework/System.Runtime.Serialization.Formatters.k6qqn2m2yp.wasm":{bytes:55573,sha256:"f4592c11ffc0e2a191254f637a0d117e1a09f8d1ff5a1065e5c175310183097b"},"_framework/System.Runtime.Serialization.Json.rmpm3bs9gf.wasm":{bytes:5397,sha256:"bde54b4f956372ced92d5efee2c37314343968505e7146ab269a2e3771a7b38d"},"_framework/System.Runtime.Serialization.Primitives.rhltpkb1qn.wasm":{bytes:13077,sha256:"0f8b94ee594a9fcc5c8506072e13a7d50735d02df44adf5e34a533e3e38d9a9b"},"_framework/System.Runtime.Serialization.Xml.2qu958brox.wasm":{bytes:6421,sha256:"36472147c1166a70a5722cf793fa9abbe1bab93527241979607865df0a2f58be"},"_framework/System.Runtime.q3byyncrvz.wasm":{bytes:34581,sha256:"4af52a715b0a80fca05f4fe3d35e0882a47699e2cc64a8d6dfdb5fbfc5bddedd"},"_framework/System.Security.AccessControl.frpe4iqtxg.wasm":{bytes:47893,sha256:"eb65f6286a07968d12c0b8e5330b6c9dfa314dd224e877a0c4aea82e78028785"},"_framework/System.Security.Claims.1iu8vf654n.wasm":{bytes:44821,sha256:"97f82dc8889938fdcce4e09bea257e9c1b49d991d9458836879150444e5b8b70"},"_framework/System.Security.Cryptography.Algorithms.667n7jcyg1.wasm":{bytes:6933,sha256:"f2a8e4d45f9f2967b51b58bb85319e8852d3a333dbaf9cd2386ca4b00652e373"},"_framework/System.Security.Cryptography.Cng.bd7h0b8iov.wasm":{bytes:5909,sha256:"8f4b9ed85aec8a2564ebe8d7d8a4d1150bb46f2aea851733c26166faddb90fd7"},"_framework/System.Security.Cryptography.Csp.z1odikd5x2.wasm":{bytes:5909,sha256:"f912404d06760570df5a52dd7b64e8af3125dd6f452bd8938faec529f3e02366"},"_framework/System.Security.Cryptography.Encoding.o0gt2d4ysx.wasm":{bytes:5397,sha256:"a8b33cdbba50e569c52acb0fe72e17ad4e278c1209bcc338d41025e38071bc63"},"_framework/System.Security.Cryptography.OpenSsl.90bbqu9909.wasm":{bytes:5397,sha256:"87916287aef8bdf7bb1fb87fdf1e64dc8b715228c129319cc41b17e64dc5b13e"},"_framework/System.Security.Cryptography.Primitives.wc69ogz8hc.wasm":{bytes:5397,sha256:"90efa59ad8a365908c18aff92e86336eb346914ede31bc51e3008aa394c66acd"},"_framework/System.Security.Cryptography.X509Certificates.zdajb5d4ry.wasm":{bytes:6421,sha256:"a95583972db3c698e929f1e9d0bfd5268c20247b39ffebe0e435ced691e01069"},"_framework/System.Security.Cryptography.isqs0vklct.wasm":{bytes:643861,sha256:"5e2d390cae360df7f1a224f866cd4648f896a02bdd8dc8b6dd97f4036a3434a6"},"_framework/System.Security.Principal.8kc2gzptia.wasm":{bytes:4885,sha256:"18f86f82bdc342716c4f4d1ce95cef59f29516c18f4b107e20e4fb2283bf3ca3"},"_framework/System.Security.Principal.Windows.lvinz1flf3.wasm":{bytes:27413,sha256:"af696bc41c787f9d87ae55b4bc5799b1e384083d610340774246b5283f2b5f76"},"_framework/System.Security.SecureString.287gima5tn.wasm":{bytes:5397,sha256:"92d299c328a15eb44a972aaa0142d628d9b35c1a555d5e6b296d14fcf1f31736"},"_framework/System.Security.zwe9caa7de.wasm":{bytes:7957,sha256:"c3076430d76f8d122b73973756f5c601c96444d2e303834fbda2151aa3fb117c"},"_framework/System.ServiceModel.Web.eh14pbj71g.wasm":{bytes:6421,sha256:"7e6a649d68f4543fefcd8add264555779efc37b5986ec96106f1598703eaa247"},"_framework/System.ServiceProcess.thnl06mz62.wasm":{bytes:5397,sha256:"cf9d149513509280a136812038d16f8421e5ced70788b6c9595170242d702530"},"_framework/System.Text.Encoding.CodePages.r4fb0qucdq.wasm":{bytes:732437,sha256:"a556ef19b61455e586137ff454f3120091897dcc43a44c19a71d7ef489a3ddfc"},"_framework/System.Text.Encoding.Extensions.qyio04sfs3.wasm":{bytes:5397,sha256:"fe7930a6f00825e1c4a3f32e0e3bd42117377db151afc127110c70fbb701366a"},"_framework/System.Text.Encoding.x8frxl6434.wasm":{bytes:5397,sha256:"f11aa7fbf9e9a4f86b0a34a5478e6553d314461dcbe69fc8097adf1f9d69808b"},"_framework/System.Text.Encodings.Web.i5h886ktzy.wasm":{bytes:55573,sha256:"2a97377ae59b872eb3d69f1eb9555ba512f577708f951f7a2ef8040292911df0"},"_framework/System.Text.Json.rfs8iutklf.wasm":{bytes:638741,sha256:"f79b95a0e74fb4fb30fb90a704078e0b910c6d9d08cd9a7ab7a589b8fdcc24ef"},"_framework/System.Text.RegularExpressions.3wwgc8ow33.wasm":{bytes:374549,sha256:"8336c54d5413476b6125468549c98d35c0a9e5bd0db682b3795a7351d38e7b4c"},"_framework/System.Threading.5z3yk0hlih.wasm":{bytes:34581,sha256:"a12c2a6463d08e453a9e0dc72152b68692c5e6b2f5d69d8700f0c0bd2c4ba90a"},"_framework/System.Threading.AccessControl.3jdprnrbz3.wasm":{bytes:23317,sha256:"41c872fb18d50bc6d15f2f2c79ca48e825b0de88f0959f1356b02d2df31dc28e"},"_framework/System.Threading.Channels.u6jwukaw3f.wasm":{bytes:56085,sha256:"2677baa60a9cc551734e24a4eb400413c2157d310d8eae8c666a9f428e14df75"},"_framework/System.Threading.Overlapped.906hny6ev5.wasm":{bytes:5397,sha256:"57a8b7621e425edb8bc3c1114daed57774c1dfc75975a3aa12a0e4cfd1e3612b"},"_framework/System.Threading.Tasks.Dataflow.yxumrwtpb9.wasm":{bytes:175381,sha256:"da2eef656f41a87395f3f24935b557e4b054d994e220ae70401a820712cd440f"},"_framework/System.Threading.Tasks.Extensions.c9qgjzqtfp.wasm":{bytes:5397,sha256:"f027df139487b8613d3b6e1271a920c441ff5d7fcae2bc774009b50a3f703a30"},"_framework/System.Threading.Tasks.Parallel.984t0vlw0h.wasm":{bytes:50965,sha256:"a9e66658c76d0aa175b202b59391a313ed841a8ca09fbe80ef88962090b72b6e"},"_framework/System.Threading.Tasks.e8zo3kytn9.wasm":{bytes:6421,sha256:"a224a48edb58b9d097a72b83d5804930357555dee3f8be811827482e827ac544"},"_framework/System.Threading.Thread.0kl8n21ama.wasm":{bytes:5397,sha256:"206e44a32770dab61b10150554dd82dc69e29779609405d2a79da858f1ec5ff1"},"_framework/System.Threading.ThreadPool.uis7d1kkur.wasm":{bytes:5397,sha256:"da628e4a405d14fcf624643d3b9c632d47e4f478b30a21680c142901aec3bfe7"},"_framework/System.Threading.Timer.d0q7n4qone.wasm":{bytes:4885,sha256:"93d9959881dd75ace8b74ecf1307fa1c8bf210bd384e44feb84d203502a23486"},"_framework/System.Transactions.1rh8d3l1yg.wasm":{bytes:6421,sha256:"ddb4bf21d75f14d92cddd44d6d5abb88fc2f6dbabd24e4f692ce8a24c42ba5af"},"_framework/System.Transactions.Local.88eb0ckc89.wasm":{bytes:165653,sha256:"c80cdc0b7339172c58d06b47543bacf5ead18c6fbc50f483e6eee1973eb4102b"},"_framework/System.ValueTuple.dz9n78v09g.wasm":{bytes:5397,sha256:"490935cf3415a01a302a6caf3e404a0c8591bc6a5ad039e1ad4c892cee66edda"},"_framework/System.Web.HttpUtility.zkk9vwuwmx.wasm":{bytes:19733,sha256:"73afab7ffbcfa6e1479aa8ad626e3470e3346a80a2e7574d766e41c61e9df242"},"_framework/System.Web.cpb2jt6aj4.wasm":{bytes:4885,sha256:"c00e79f45b25abca38109c095dfa83a4616f107129ce05badc98ef08ea0ab819"},"_framework/System.Windows.z1cdp2137j.wasm":{bytes:5397,sha256:"474f8c034c878c2877fd38bfcc81a7ca91ec14f465067924def2447f3a0ceb1f"},"_framework/System.Xml.Linq.zfqbqkhg85.wasm":{bytes:5397,sha256:"616bc8b437b614c7e754c5ab40ea583b2075fbefd75684218446ce675a330615"},"_framework/System.Xml.ReaderWriter.j5zd7b3r9j.wasm":{bytes:11541,sha256:"375655970f08782d60c0b7e660a2ed18b100632cd0beccf6072f453461b33537"},"_framework/System.Xml.Serialization.g3ffx007q0.wasm":{bytes:5909,sha256:"d48409f2e83289d8a283e0dac4e15f6daaba7d0d9f1ef0ed0632479fcb670fea"},"_framework/System.Xml.XDocument.d9vqmjsh7t.wasm":{bytes:5397,sha256:"c12264747d6099b7063ae2ecc540848a570d33620fdf5f4815d34ded85c9bc8f"},"_framework/System.Xml.XPath.XDocument.ikh0avvfe3.wasm":{bytes:5909,sha256:"0ed162b5f6ceb1cae414c70bb8cdd960c5f77b1a39b4a9ab87b7703d92c5bce5"},"_framework/System.Xml.XPath.j7e58ql0yh.wasm":{bytes:5397,sha256:"d128d847ee39abbfee50d6e837d5dc953df248de890c894d92c15186f159092d"},"_framework/System.Xml.XmlDocument.2laigo0hd6.wasm":{bytes:5397,sha256:"16b6cd94446e868c5e744b876de60222eb25d1485c9f628fd03e64957d7b8cb0"},"_framework/System.Xml.XmlSerializer.o9fse2o32f.wasm":{bytes:7445,sha256:"4c9262e9ed66c40706ed51ea1dc312138035b44519f57ef97a94a4f323d192f7"},"_framework/System.Xml.ukjc8es4qk.wasm":{bytes:13077,sha256:"1eae6308964b64da01c885edee4c9af89173ec21ef4f99b71fd5350d8000a1ad"},"_framework/System.a2ormnao9q.wasm":{bytes:39701,sha256:"6e1ba6200e75ccd9b5be39467babe2d28067106bdd6ff0a1f292a2411177e27a"},"_framework/WindowsBase.pulybckt2x.wasm":{bytes:5909,sha256:"21be528b1fb2c3451736fb9a49f1f8063a164c6e4d089aec470d1d670ecc6340"},"_framework/dotnet.js":{bytes:80782,sha256:"0c8a1d506ef027d577f0efd776a42cc6639514b2cf1e90eaca8c18d18fae9c5f"},"_framework/dotnet.native.a6k1euv12n.wasm":{bytes:3001771,sha256:"62521652bab002242e009341397f999bdc2958bfac177278e3d885abb247a2e4"},"_framework/dotnet.native.bjoj0wmylw.js":{bytes:145050,sha256:"099d0855990b4c8bde7bb9f5c95bce8ad94958d763fd88da160a4c82588833ae"},"_framework/dotnet.runtime.5nc8i5dl74.js":{bytes:198480,sha256:"ff774183db23d722c3de1d0f0cc1e73545d6b3fdb35b020c133a26d57cf7438d"},"_framework/mscorlib.79r0fdidgd.wasm":{bytes:49429,sha256:"0553f8bd2703ce8aeebac01fc6c0d8fa7cf720fa64911da16e2a0efc9b988f12"},"_framework/netstandard.f948f8b5mo.wasm":{bytes:90389,sha256:"6db9b1e3952428d5958c52e5b36212b0bef4a1c4013fd49d3f5073c39133efcd"},"refs.pack":{bytes:6046672,sha256:"60252255312e28c33fa2bcde9646c7d92c6b2e7c2fb078a813b57de3146d8bed"}}};function j(e){if(!e||e.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(e)||e.split("/").some(s=>!s||s==="."||s===".."))throw new Error(`Invalid project path: ${JSON.stringify(e)}. Use relative paths without . or ...`);return e}function N(e,s,b){let f=j(b??"Program.cs"),n=s?{...s}:{[f]:e};if(!Object.hasOwn(n,f))throw new Error(`Entry file ${f} does not exist.`);let d=Object.keys(n).map(j).sort(),o=d.find(c=>!c.endsWith(".cs"));if(o)throw new Error(`C# projects can only contain .cs files for now: ${o}.`);if(d.length>32)throw new Error("Project limit: 32 source files.");if(Object.values(n).reduce((c,h)=>c+new TextEncoder().encode(h).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{names:d,sources:d.map(c=>n[c])}}var D="Roslyn 5.0.0 / .NET 10.0.14 r1",$=3,X=2e3,U=1e6,A=P.assets,W={wasm:"application/wasm",js:"text/javascript"},g=e=>globalThis.postMessage(e),v=(e,s,b)=>g({type:"progress",id:e,phase:s,message:b}),M=e=>`${e.file}(${e.line},${e.column}): ${e.severity} ${e.id}: ${e.message}`,z;async function F(e){let s=performance.now(),b=f=>g({id:e.id,durationMs:performance.now()-s,...f});try{let f=N(e.code,e.files,e.entry),n=0,d=async a=>{let t=A[a];if(!t)throw new Error(`Not a pinned C# compiler file: ${a}.`);let k=await T(a,t,z,E,()=>{});return v(e.id,"downloading",`Loading the C# compiler: ${++n} files\\u2026`),k},o=async a=>{let t=new TextDecoder().decode(await d(a)).replaceAll("import.meta.url",JSON.stringify(new URL(a,z).href));return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};v(e.id,"downloading","Loading the C# compiler\\u2026");let{dotnet:c}=await import(await o("_framework/dotnet.js")),h=new Map;await Promise.all(Object.keys(A).filter(a=>/^_framework\\/dotnet\\.[^/]*\\.js$/.test(a)).map(async a=>{h.set(a,await o(a))}));let y=[],w=0,r=!1,l=a=>{a.trim()&&(y.length<$?y.push(a.slice(0,X)):w++)},i=await(typeof c.withModuleConfig=="function"?c.withModuleConfig({printErr:l}):c).withResourceLoader((a,t)=>{let k="_framework/"+t;if(a==="dotnetjs"||a.startsWith("js-module")){let x=h.get(k);if(!x)throw new Error(`Not a pinned C# compiler script: ${t}.`);return x}return d(k).then(x=>new Response(x,{headers:{"Content-Type":W[t.slice(t.lastIndexOf(".")+1)]??"application/octet-stream"}}))}).create(),u=0,p=!1;i.setModuleImports("playpad",{write:(a,t)=>{if(!p){if(u+=t.length,u>U){p=!0,b({type:"error",message:"Output limit exceeded (1 MB)."});return}g({type:a?"stderr":"stdout",id:e.id,text:t})}},managedExit:()=>{r=!0}});let{Compiler:S}=await i.getAssemblyExports(i.getConfig().mainAssemblyName);S.LoadReferences(new Uint8Array(await d("refs.pack"))),v(e.id,"compiling","Compiling\\u2026");let m=JSON.parse(S.Compile(f.names,f.sources)),R=()=>i.Module?.HEAPU8?.length??0,O=R(),I=m.diagnostics.filter(a=>a.severity==="error");if(!m.ok){b({type:"error",message:I.map(M).join(`\n`)||"Compilation failed."});return}let q=m.diagnostics.filter(a=>a.origin==="user").map(M);q.length&&g({type:"stderr",id:e.id,text:q.join(`\n`)+`\n`}),v(e.id,"running","Running\\u2026"),y=[],w=0;let _;try{_=await S.Run(e.stdin??"")}catch(a){let t=a.status;if(typeof t!="number")throw a;if(!r){let k=y.length?[...y]:["The .NET runtime ended the program unexpectedly."];w&&k.push(`(${w} more runtime lines not shown)`),b({type:"error",message:k.join(`\n`)});return}_=t}if(p)return;b(_!==0?{type:"error",message:`Program exited with status ${_}.`}:{type:"result",memory:{compilerBytes:O,programBytes:R()}})}catch(f){b({type:"error",message:f instanceof Error?f.message:String(f)})}}globalThis.addEventListener("message",({data:e})=>{e.type==="init"?(z=e.toolchainURL,g({type:"ready",version:D,interactiveStdin:!1})):e.type==="run"&&F(e)});})();\n',a=new class extends n{get label(){return`C# 14 (experimental)`}get source(){return i}get recycleAfterRun(){return!0}get startTimeoutMs(){return 3e4}async load(e){return await t(r),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}},o={id:`csharp`,label:a.label,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){let[e,t]=await Promise.all([import(`@codemirror/language`),import(`@codemirror/legacy-modes/mode/clike`)]);return e.StreamLanguage.define(t.csharp)},load:e=>a.load(e),run:(t,n={})=>a.run(t,{...n,timeoutMs:n.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)};export{o as csharpRuntime};
|
|
1
|
+
import{s as e}from"./config-3Z6xX6Jr.js";import{n as t}from"./compiler-cache-XwslsU5H.js";import{t as n}from"./worker-runtime-dxTpNm5e.js";var r=`code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1`,i='"use strict";(()=>{var E="code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1";async function T(e,s,b,f,n){let d=new URL(e,b).href,o;try{o=await caches.open(f)}catch{}let c;try{c=await o?.match(d)}catch{}let h=async r=>{if(!r.ok)throw new Error(`Toolchain download failed: ${e} (HTTP ${r.status}). Check the asset URL and retry.`);let l=r.body?.getReader();if(!l)return r.arrayBuffer();let C=[],i=0,u=0;for(;;){let m=await l.read();if(m.done)break;if(i+=m.value.length,i>s.bytes)throw await l.cancel(),new Error(`Unexpected toolchain size: ${e}.`);C.push(m.value),performance.now()-u>100&&(n(`${c?"Reading cached":"Downloading"} ${e}: ${(i/1e6).toFixed(1)} / ${(s.bytes/1e6).toFixed(1)} MB (decoded)`),u=performance.now())}let p=new Uint8Array(i),S=0;for(let m of C)p.set(m,S),S+=m.length;return p.buffer},y=async r=>r.byteLength===s.bytes&&[...new Uint8Array(await crypto.subtle.digest("SHA-256",r))].map(l=>l.toString(16).padStart(2,"0")).join("")===s.sha256;if(c){try{let r=await h(c);if(await y(r))return r}catch{}try{await o?.delete(d)}catch{}c=void 0}let w=await h(await fetch(d));if(!await y(w))throw new Error(`Toolchain integrity check failed: ${e}. Use the pinned toolchain assets.`);try{await o?.put(d,new Response(w))}catch{}return w}var P={id:"code-playpad-csharp-roslyn-5.0.0-dotnet-10.0.14-r1",assets:{"_framework/Microsoft.CSharp.45w5ndn4gy.wasm":{bytes:301333,sha256:"0893b8a6e6506cb2dbfa2dd01ac779d4616d013a2fac80e8cc15a64cdf526f0c"},"_framework/Microsoft.CodeAnalysis.CSharp.df8hfd5o8z.wasm":{bytes:6828825,sha256:"17a863076b8e6cdfad78e7e9b739ea6940939880f2916523aaa19e7a2b3b463c"},"_framework/Microsoft.CodeAnalysis.erp1n29u9n.wasm":{bytes:3048217,sha256:"56f8336593d9e41ee553106871e5aa82aadac0ab3f04496c8d1bbe601f619089"},"_framework/Microsoft.VisualBasic.6b1p6yq8b3.wasm":{bytes:6933,sha256:"1eff194716c295748d936659cab92e84a0d13515c34c2f05838c910f0fb9e2d5"},"_framework/Microsoft.VisualBasic.Core.4day4tivbb.wasm":{bytes:418581,sha256:"f860e30addf5a3562ba06fd93984663df5ca52ba9feadf1edc88e249fcb05c5d"},"_framework/Microsoft.Win32.Primitives.4bv2m8ah4f.wasm":{bytes:5397,sha256:"00e133d3bcca6baa47c8389b471441c9d4b89bcea2a308b5b779a70e714e2894"},"_framework/Microsoft.Win32.Registry.o7q57g4y3v.wasm":{bytes:22805,sha256:"0c854e9283334e2be8c837a9e95040ab6a649b45cb0078e0b19f1cd215604788"},"_framework/Playpad.CSharp.bc2sx86ihs.wasm":{bytes:19733,sha256:"25449d8432b31e70aa0109d2244595d3f1becb0493d3b9b9aa21f91a13fbc11f"},"_framework/System.AppContext.7pfnw66j8s.wasm":{bytes:4885,sha256:"3bc775156968db8b138e70f0d6cf919e8eceda801518dc4395a6c1b7029a76a2"},"_framework/System.Buffers.n9eydi1g7o.wasm":{bytes:4885,sha256:"bb413f159d106aa82005001b72d3dbe21702fe5b0729dfb0ad411e3b9ae14933"},"_framework/System.Collections.Concurrent.j651l47s89.wasm":{bytes:78613,sha256:"85fa85329f2778f2d7feeabe96e17150c2529cdee2671227f6adca55511e85ba"},"_framework/System.Collections.Immutable.5srny90eq0.wasm":{bytes:240917,sha256:"659249897525dbdd045be0c365aa78670911e71f082962fab29cb3d92f659523"},"_framework/System.Collections.NonGeneric.0gs0za6wta.wasm":{bytes:37653,sha256:"005b930e461f6d5f28714586e73c030a2d0d7705b93ff701e96465dcec8626de"},"_framework/System.Collections.Specialized.0lamnc2eez.wasm":{bytes:37653,sha256:"14a6ecd2d98964854df3c84e5d28c9e370f8511d88e17e19894bdd5487074534"},"_framework/System.Collections.zkl9zn110m.wasm":{bytes:102677,sha256:"7d1b8e3fb815980cc84b2d67b6894fa6bf936064cb4c0639547f214d3337826e"},"_framework/System.ComponentModel.2dg08nsbgq.wasm":{bytes:5909,sha256:"2a69c31d5b96be96e2dbd84b2eb722f33401245e3c3c18b449fa49d6b35b516c"},"_framework/System.ComponentModel.Annotations.qqu4bynrpj.wasm":{bytes:92437,sha256:"5ea898870e6d334ac03751ca45e941bdc786959862a4604c0b7925ae22365c1c"},"_framework/System.ComponentModel.DataAnnotations.6ljk5kma3w.wasm":{bytes:6421,sha256:"2a75102b3e594a3a5aec02c737c07bb07d67b31d84584a84dc93bd8fceaa44f7"},"_framework/System.ComponentModel.EventBasedAsync.0necwturs4.wasm":{bytes:16149,sha256:"1c2972979910342271b8e94c4455ff86593b6b428dbe29283927fc5038739df9"},"_framework/System.ComponentModel.Primitives.ex1da4zowy.wasm":{bytes:32021,sha256:"feaafe39e5531ccded6bd652b0ecbd1ddc7a3600e3ee89091411dbb113ae6489"},"_framework/System.ComponentModel.TypeConverter.t0513robn6.wasm":{bytes:306453,sha256:"53c1eda4d6b514c881cee8f6c7023ca6aa25304c2560c2a27357d5912b7e9efa"},"_framework/System.Configuration.11exwmwngo.wasm":{bytes:8981,sha256:"45bdaf5a151f8d873e4f3d63924b0b8e4711aa8e53a1a6b49bbaf8722ca07851"},"_framework/System.Console.4o049fyksq.wasm":{bytes:43797,sha256:"9cbe95b0e710127a9dc6fb016d89e3198bf5602e8767b4fe3318de77cc2e4184"},"_framework/System.Core.2bi377k7h6.wasm":{bytes:13077,sha256:"6e627a49290c7337183d58c756ca20ee0c6aef3716c73f748a1f2a040ec13f12"},"_framework/System.Data.Common.zrj82y4hfd.wasm":{bytes:1007893,sha256:"1fa0c46a27e2d1eb30b6ece5431b62a99eb0d3dbfff0ab3b0160d202b1283e62"},"_framework/System.Data.DataSetExtensions.ndyqwckzh5.wasm":{bytes:5397,sha256:"8b005ca671c5224a36cc8fcaee97ebd9fc9c8b44a4f431211c0e279b67605ef4"},"_framework/System.Data.cbzplu1klk.wasm":{bytes:15125,sha256:"08fc7cad424adfa678e5e03e1561fe679db996e8a887b14de7893786bdcfc11c"},"_framework/System.Diagnostics.Contracts.xbykr1nyue.wasm":{bytes:5909,sha256:"33867da04cc7cd4d8de2f10f0490f5488a8c8b83928597d906e86aae59e96c24"},"_framework/System.Diagnostics.Debug.faxnhsagf6.wasm":{bytes:5397,sha256:"b9b6df298d8fc68baec7ecf30ef40095a0810b44033dc2285e6e4d94eacac0cb"},"_framework/System.Diagnostics.DiagnosticSource.o8neuaehsr.wasm":{bytes:192277,sha256:"d82c2d87d4b05f79cded591ec897e75aef9fd5c93a5ec034bb76b8c67c211dd8"},"_framework/System.Diagnostics.FileVersionInfo.3veftfofsy.wasm":{bytes:12565,sha256:"ff1105930376d41151ef2e5c3d79cdb7002dfb3f7923bb3bf5caf3c33e301ce3"},"_framework/System.Diagnostics.Process.m02d4wsk19.wasm":{bytes:46357,sha256:"8af0d33b005cf399b2d983101aabd789b759fce6d53724ab17e4257df275f357"},"_framework/System.Diagnostics.StackTrace.3n0s7h4d43.wasm":{bytes:15637,sha256:"c1428e9f1dd799329b94b73a3a739c726195e78c7e499a7f9fa76abc9711a153"},"_framework/System.Diagnostics.TextWriterTraceListener.eytcvy9k8s.wasm":{bytes:21269,sha256:"a6f9c9665c871e8702c313c72aff56d8678fa2aeef5d58bdbd22895b5d7bb0cc"},"_framework/System.Diagnostics.Tools.fj2fven09q.wasm":{bytes:4885,sha256:"655eda3c94089e2fd9a0eda837027d39fdc8782124027f1ecb5e1627306f3ab2"},"_framework/System.Diagnostics.TraceSource.zdzes0xpw3.wasm":{bytes:48405,sha256:"596906ce63f2a87afc7c0c93ce63b8edd564dbab4cf44cba12e1e1de57cd3989"},"_framework/System.Diagnostics.Tracing.p8zfsagsem.wasm":{bytes:5909,sha256:"29645956735e67930940e0068fdf939e7724ac191aec9af9fc7fad2a5c478b4e"},"_framework/System.Drawing.Primitives.qihgks5s1u.wasm":{bytes:54549,sha256:"4e6f66a93b0178adcba6b52555fe1665e5d5c9f295ede78bb1f88a8ce7cd1730"},"_framework/System.Drawing.yh4pswp3to.wasm":{bytes:10005,sha256:"064f946cd835b5c06b88b5e8d3baafa1b65212fea3f741846530b9c15e8397a8"},"_framework/System.Dynamic.Runtime.qf4wa78w3a.wasm":{bytes:5909,sha256:"76243dbb12aaf714360cd6bb1adff3eac41d019028d45706f9a877fa0b8b4933"},"_framework/System.Formats.Asn1.ei47lr61p0.wasm":{bytes:86805,sha256:"963360faa396a0ac4f0ee1fb6a4de8195c8abc8722cfcb5e3f34c8f8cfa2cc44"},"_framework/System.Formats.Tar.jt7yo4wxzn.wasm":{bytes:28949,sha256:"e9bb9ece17de3bb99b99f9e27d9be6ea25feb824606217a81a581a3defd799e3"},"_framework/System.Globalization.Calendars.vfqjdvj4bj.wasm":{bytes:5397,sha256:"9b458344e441af8a342d90d9756002bd53d3ca81fd2ecec1d9956c09ab738761"},"_framework/System.Globalization.Extensions.fb3tp0zu2j.wasm":{bytes:4885,sha256:"0b1f2e8dd68f450050c6ea5d933b06ffc0133120dff33a87b5ccf1e523439be2"},"_framework/System.Globalization.jpj90sbpo9.wasm":{bytes:5397,sha256:"07ac16899c10c3af6fb0bb4cd1ca976ddf3fe82165fb06b74bb034cab14a0bad"},"_framework/System.IO.Compression.Brotli.fpnvzsxpvo.wasm":{bytes:18197,sha256:"c3cc052fa471c3f25016b7eee90ab7eb3793995aea8f08ba93e3b6d85c9ba0b7"},"_framework/System.IO.Compression.FileSystem.tk5twcs8br.wasm":{bytes:4885,sha256:"7d51272f3b3ec7a32ef1b73e693fc90753705665cc50f98a56a3e7f60970cd31"},"_framework/System.IO.Compression.ZipFile.f6odqd84z5.wasm":{bytes:43285,sha256:"59161959d34a7935b83bc858b589d34cc17ade5912137658ee3d7ca1ec4b090c"},"_framework/System.IO.Compression.zo5nnp1cfl.wasm":{bytes:157461,sha256:"6df8da5437998a60f5afd17b4c0b7145d94171dd2b0dd1bed6ef0d762074062d"},"_framework/System.IO.FileSystem.4xxxdm8fc4.wasm":{bytes:5397,sha256:"f8ae1910ff477fbb38b7a1a689ddb555d5ab9f7b5ec59e183fb7c7aebacbe077"},"_framework/System.IO.FileSystem.AccessControl.3nsp4r0ce1.wasm":{bytes:21781,sha256:"3f2d25968e0dad93040716ef7d97382bd6a5517bd0e3c6d707fa520df255d627"},"_framework/System.IO.FileSystem.DriveInfo.2dz9a3mpco.wasm":{bytes:13589,sha256:"46f152531a56b5a1234b905b5460060a3a76c74a94f575e6444848bb7d15a0fc"},"_framework/System.IO.FileSystem.Primitives.ts09gphu65.wasm":{bytes:4885,sha256:"b3efcf0755c59862ad4893ad4b668d5dab114f3561ae632d1ea7479e65c22180"},"_framework/System.IO.FileSystem.Watcher.zra8jhxo53.wasm":{bytes:22805,sha256:"8fcf89a027896f110eefc2e1e76a86bd91f6537a748afdc2ecc7fbd00d1110a1"},"_framework/System.IO.IsolatedStorage.czh3ilflkw.wasm":{bytes:24853,sha256:"388c1f0e6894454587ae794e210a93feaa23c8932064b68ad76e660a2b3d4fb1"},"_framework/System.IO.MemoryMappedFiles.f0h74bif4r.wasm":{bytes:39701,sha256:"dfc14559b3102cdd3d1155ec7cc198999db5b31439aafcd1775dffa39015d0a7"},"_framework/System.IO.Pipelines.eqtd8a5j6e.wasm":{bytes:67861,sha256:"3aa8165bec8d2b718d927cf0ba7ba9fb2e301544164d62202a578d3e3010d850"},"_framework/System.IO.Pipes.AccessControl.cz75e7snno.wasm":{bytes:13077,sha256:"a881296c9ae2cefe4f57c030f0cd13a0384ae7a82519dd0063d62feab0877a2b"},"_framework/System.IO.Pipes.amk3gre8pn.wasm":{bytes:32021,sha256:"22c795928e765dae50c2632f264efde23032c0225fcff6acb4aa075855543436"},"_framework/System.IO.UnmanagedMemoryStream.pjda8c8goj.wasm":{bytes:5397,sha256:"159b449cef234de1150ea545ce482dadadcffb47cccc4e60038840eb1be87a4c"},"_framework/System.IO.hvb68vhf4w.wasm":{bytes:5397,sha256:"63ca4a239901c3ba9517ab48c5c70e2b2f2f983b8f5c96c6215ffb74efb90d42"},"_framework/System.Linq.AsyncEnumerable.p5kf8px69a.wasm":{bytes:446229,sha256:"cdaf09cf14de62c8172a64d1f1fd540b050edf1a751873b575f1c6dab92f171d"},"_framework/System.Linq.Expressions.rrm2f8e4yg.wasm":{bytes:565013,sha256:"c74ef523be9ae6830a76be0baf9a9a508ce7ca31ac5876bb80dc7d1d777b5cab"},"_framework/System.Linq.Parallel.2c1yb2s745.wasm":{bytes:212757,sha256:"be110713a9092c3594d36dc664441be579d17fbe9b0be0a1bd289bd4fca58ee9"},"_framework/System.Linq.Queryable.trhrf5j8ds.wasm":{bytes:68373,sha256:"b965d6be5e8744b201ab8142f11c57aaf0a95081020880c1ec709fb9654c338c"},"_framework/System.Linq.gvekllsg4c.wasm":{bytes:190741,sha256:"4cf1e524ac3f80887e4c7d723c29f54b676ad76325c8472ecbbd064652881d57"},"_framework/System.Memory.rvge25ilzk.wasm":{bytes:45333,sha256:"09ddaf85e36c7c13ef4d7e32cc5436cfec4984e1c26c989072e499ddde8ae062"},"_framework/System.Net.Http.8ubauysc2i.wasm":{bytes:286485,sha256:"903f936e8d7a67798c76e85d53838ac80c88b1ef3d45ec53ff2ac95a8bbc4c2b"},"_framework/System.Net.Http.Json.cnwprpsgic.wasm":{bytes:45845,sha256:"8830cced672b10f509c317186768b69245fbc9c3695eb870b9a81e31a1dfa086"},"_framework/System.Net.HttpListener.ij8kltpk25.wasm":{bytes:45845,sha256:"c23e07ce4477568bf5687cc8f81f2eb9ce806667398756ab96507671f83a3594"},"_framework/System.Net.Mail.z8qhziwoem.wasm":{bytes:94997,sha256:"ddd584fafc23dc46fd5eca406b6f0edb6fc2af837280fd50b276327c867a41ee"},"_framework/System.Net.NameResolution.ncmdi0kq9p.wasm":{bytes:14101,sha256:"993b5c9ce17363348c5d77766b5ef8ba7cd9e9bf8490f54bf295d600c0318f5d"},"_framework/System.Net.NetworkInformation.es6jl8uhrp.wasm":{bytes:32021,sha256:"e2e10d93298c3e8ba16fc2acfebc314c9e32ad07d28b99a491ad1f215795f216"},"_framework/System.Net.Ping.leo6kko976.wasm":{bytes:17685,sha256:"0de562db7b1035f071863450f7e875892b1705ba696cc11ee3593dda48894fc9"},"_framework/System.Net.Primitives.yzzu57r5h4.wasm":{bytes:97045,sha256:"bea2dfad62c29bbf61a9b34552bb6b28356cc6ce36c56e96c058639c3ee2a3fc"},"_framework/System.Net.Quic.t4x9xorc7c.wasm":{bytes:28949,sha256:"031f5366680b6a4b90cf8ed2ced5d135391b1942a1423e991ebeddfd7b47940a"},"_framework/System.Net.Requests.hvrao969rw.wasm":{bytes:55573,sha256:"9d27640110c78c3c04da4f2f070589ff6857804316f91765cc59d305e45ae9dc"},"_framework/System.Net.Security.z570hyrh50.wasm":{bytes:104213,sha256:"b972545804845422c6b90682ef9585ff07ca24394bc4abcafaa8aab8841476ff"},"_framework/System.Net.ServerSentEvents.b3gkat9xqz.wasm":{bytes:30485,sha256:"89c3d8604b565dd8b5ac18dcd39b73f311c81e20b8d5cdbd3c3a704c958515f3"},"_framework/System.Net.ServicePoint.k1tgr3lkj6.wasm":{bytes:4885,sha256:"082ef4faa63db1a669223b6b892729a426f1017c61a8140167d9a935f65cabd5"},"_framework/System.Net.Sockets.fgcxent7fc.wasm":{bytes:64277,sha256:"b1284556b3eeceed8cee152f19f6a6b32c7d35ab031f64a4b96968cbef84ff90"},"_framework/System.Net.WebClient.kpwi6t40sc.wasm":{bytes:45845,sha256:"18108441da8fd4dc43cd29a42d491c27e23961e0188714ce41deffa5e113b034"},"_framework/System.Net.WebHeaderCollection.fnxrdiu9j1.wasm":{bytes:22805,sha256:"1bb8ab08176b1d4878d9d5732629e730cd863d2e0e458de1914cd71aafcc7a86"},"_framework/System.Net.WebProxy.wtgabypaqs.wasm":{bytes:11541,sha256:"4cc9d37b00460499d38df4cc1bb4a9408fa0996e9cdef5244ad645b550cd87b2"},"_framework/System.Net.WebSockets.4zomq83cjx.wasm":{bytes:99093,sha256:"102e21acf0257c9bd1115dd74f36f0cf1844ea1872ecf3e78f4af2d9038878c9"},"_framework/System.Net.WebSockets.Client.l4ui9wgjyz.wasm":{bytes:42261,sha256:"fbade9ba11569ee8ead57e48bfad3419d4b5800f2a0503de1ea87ddbab5e78d6"},"_framework/System.Net.plchg2cs85.wasm":{bytes:6933,sha256:"f38d34d3e084c72fda1c6182f4fd11644d922dfa7b4efdb83809b6bb6eba4879"},"_framework/System.Numerics.7xa3ygjnjn.wasm":{bytes:4885,sha256:"f513f73d4658cd05b3d587d5dc634450d3d2811ca92b12e0065d111f0fb7fe08"},"_framework/System.Numerics.Vectors.2neq4xg5b1.wasm":{bytes:5397,sha256:"624bf089833a6c91bd2c0e83cf58f9db9b8e702dcc8c9e2b389610f8f3ad9924"},"_framework/System.ObjectModel.0us7g9291u.wasm":{bytes:30997,sha256:"b8c1e66933e2073d4d95b7971ce949d2aee7caacd85a222261200d12368e6305"},"_framework/System.Private.CoreLib.7henw1oe7e.wasm":{bytes:4870425,sha256:"0b6d3f3864053400013921497367c1f9806b10baa069e9e80ea2ba7ff1943d20"},"_framework/System.Private.DataContractSerialization.45rz0h7hbh.wasm":{bytes:849173,sha256:"2808c98580c4009f7850dde898e1f8d81a15e427ddeb122033384dd48a0c1252"},"_framework/System.Private.Uri.c0pesqh6or.wasm":{bytes:95509,sha256:"e4b56986f49b6104f86884d59fd3a4eff4e525fdd2d1f83baee01b752efa337e"},"_framework/System.Private.Xml.Linq.91dmao781k.wasm":{bytes:143637,sha256:"7d05fc1b72e4d16c33f13e7cfd85a6f5a92f5c2ca343c8f78d4425d2afa50d0a"},"_framework/System.Private.Xml.ihpa1sp5u8.wasm":{bytes:3096857,sha256:"86009953171be26f62eab577e33c3502d82ddc74a9d6f27c6b4d07ea6300e498"},"_framework/System.Reflection.DispatchProxy.dotf7d6gov.wasm":{bytes:27925,sha256:"03a1a48a2b900d219650d22288cb1ebb62feb218fef7788daa6aead0e237f14d"},"_framework/System.Reflection.Emit.ILGeneration.0x2k63jlqj.wasm":{bytes:5397,sha256:"c46d97174687a1f77ef95a0c085d632881c1f315d7141b985a673662131235e0"},"_framework/System.Reflection.Emit.Lightweight.5yjn7ykajf.wasm":{bytes:5397,sha256:"bdb328f85330a0991ea097895f5f233c7c185bcc54d115f9f4deb7c02fa7ce83"},"_framework/System.Reflection.Emit.ynxp91g9b8.wasm":{bytes:123157,sha256:"52fc8f0a51bcc2c5da80be2148b8391dc1665768e3aa6e04a0a0a7a2aeee52c8"},"_framework/System.Reflection.Extensions.0ouvp5b0xg.wasm":{bytes:4885,sha256:"00b61c99e5b7930e88707c4614942c0f69e91bd0acadd0e728d3e219f1137a53"},"_framework/System.Reflection.Metadata.vkm0bf1n4h.wasm":{bytes:493333,sha256:"b136c7933bc62da5e4f3e34ad6fea876f5cc7a7e47d35e7b7c64055927fc68f6"},"_framework/System.Reflection.Primitives.cnvk9lkykl.wasm":{bytes:5397,sha256:"c84511d42d21a09fd8818bb0ee4d4423584f19dd9a58a98a8d8631c0435336bb"},"_framework/System.Reflection.TypeExtensions.jnvi38irak.wasm":{bytes:14101,sha256:"bf533973a0a50cba610aac73875d9f8627c173b463311d060f79ea4922a9d64e"},"_framework/System.Reflection.qdi0svky7b.wasm":{bytes:5909,sha256:"0e958c24d437bc1b1e321617c69dda15aba94d0e13b741c39a514108dab87958"},"_framework/System.Resources.Reader.tkyk3pewoj.wasm":{bytes:4885,sha256:"f34cfbeb3f39e7bfa7d0d892e3fdcfeda727e269b2a622d74ca455d41ad740b3"},"_framework/System.Resources.ResourceManager.mxgnwpq6s6.wasm":{bytes:5397,sha256:"7af92fba46216d614859a6466c6a013e936a510d492affb6ee74179d23620998"},"_framework/System.Resources.Writer.u12ln0bq25.wasm":{bytes:16661,sha256:"a2a46ada8be5659c787b4da0494298da0ffc2467a0b02a7eab604dca5c532866"},"_framework/System.Runtime.CompilerServices.Unsafe.mvjra26big.wasm":{bytes:4885,sha256:"624f428a1c8ffd524aa47ced54090373d0f389162b6dfb00689343f2a3ac5803"},"_framework/System.Runtime.CompilerServices.VisualC.0zws5y4za8.wasm":{bytes:6933,sha256:"ec82d7e3669ba41156f4d70d94bf30c47dd28829cf5de4591f18bce80943d1a0"},"_framework/System.Runtime.Extensions.53v9tmujmf.wasm":{bytes:7445,sha256:"5f05d3f29944d5adc9a644a37e1818edc5cb9f4450fe1ed88b600b0d84bda226"},"_framework/System.Runtime.Handles.dtp1f2k1pr.wasm":{bytes:5397,sha256:"f16fe73e38bb80ab6b26486ad193d8766254138bac0524f2861959c7834cbee1"},"_framework/System.Runtime.InteropServices.JavaScript.b9bqw25qxw.wasm":{bytes:79637,sha256:"810c9571d56aae8aabdccec828936d48cb8664b4e2e923d3c49f5c288234a26c"},"_framework/System.Runtime.InteropServices.RuntimeInformation.5dmsm0qrdq.wasm":{bytes:5397,sha256:"c7696a8781fbc588fa126969f0a8b0703c3df1181e9e723631d5a7816636c406"},"_framework/System.Runtime.InteropServices.zc5o5oswy7.wasm":{bytes:54549,sha256:"dd89331d3297a0c4a5aac4e6ed289c59d6c8858f7f85d55a46fb0d80c69ca429"},"_framework/System.Runtime.Intrinsics.uupmanm0z1.wasm":{bytes:6933,sha256:"6692c7b97d8261781b893a91a9bed12a8da493d0ad20d6e2e941ab4b052c6218"},"_framework/System.Runtime.Loader.bmhnwgr24i.wasm":{bytes:5397,sha256:"0db7813efcf24740ffc3121704940e5b39bac5745b05c3cbd23a71bbc13d7800"},"_framework/System.Runtime.Numerics.hnmfmtcdek.wasm":{bytes:134933,sha256:"937500e9e310341dabaee15f5c1f39eccc0214d055b846951547ed19f635659d"},"_framework/System.Runtime.Serialization.890gxgs7km.wasm":{bytes:6933,sha256:"b41917f9c13f891781b2babb541b8d01f8394a51f2e9323922eb94a2816a2d5d"},"_framework/System.Runtime.Serialization.Formatters.k6qqn2m2yp.wasm":{bytes:55573,sha256:"f4592c11ffc0e2a191254f637a0d117e1a09f8d1ff5a1065e5c175310183097b"},"_framework/System.Runtime.Serialization.Json.rmpm3bs9gf.wasm":{bytes:5397,sha256:"bde54b4f956372ced92d5efee2c37314343968505e7146ab269a2e3771a7b38d"},"_framework/System.Runtime.Serialization.Primitives.rhltpkb1qn.wasm":{bytes:13077,sha256:"0f8b94ee594a9fcc5c8506072e13a7d50735d02df44adf5e34a533e3e38d9a9b"},"_framework/System.Runtime.Serialization.Xml.2qu958brox.wasm":{bytes:6421,sha256:"36472147c1166a70a5722cf793fa9abbe1bab93527241979607865df0a2f58be"},"_framework/System.Runtime.q3byyncrvz.wasm":{bytes:34581,sha256:"4af52a715b0a80fca05f4fe3d35e0882a47699e2cc64a8d6dfdb5fbfc5bddedd"},"_framework/System.Security.AccessControl.frpe4iqtxg.wasm":{bytes:47893,sha256:"eb65f6286a07968d12c0b8e5330b6c9dfa314dd224e877a0c4aea82e78028785"},"_framework/System.Security.Claims.1iu8vf654n.wasm":{bytes:44821,sha256:"97f82dc8889938fdcce4e09bea257e9c1b49d991d9458836879150444e5b8b70"},"_framework/System.Security.Cryptography.Algorithms.667n7jcyg1.wasm":{bytes:6933,sha256:"f2a8e4d45f9f2967b51b58bb85319e8852d3a333dbaf9cd2386ca4b00652e373"},"_framework/System.Security.Cryptography.Cng.bd7h0b8iov.wasm":{bytes:5909,sha256:"8f4b9ed85aec8a2564ebe8d7d8a4d1150bb46f2aea851733c26166faddb90fd7"},"_framework/System.Security.Cryptography.Csp.z1odikd5x2.wasm":{bytes:5909,sha256:"f912404d06760570df5a52dd7b64e8af3125dd6f452bd8938faec529f3e02366"},"_framework/System.Security.Cryptography.Encoding.o0gt2d4ysx.wasm":{bytes:5397,sha256:"a8b33cdbba50e569c52acb0fe72e17ad4e278c1209bcc338d41025e38071bc63"},"_framework/System.Security.Cryptography.OpenSsl.90bbqu9909.wasm":{bytes:5397,sha256:"87916287aef8bdf7bb1fb87fdf1e64dc8b715228c129319cc41b17e64dc5b13e"},"_framework/System.Security.Cryptography.Primitives.wc69ogz8hc.wasm":{bytes:5397,sha256:"90efa59ad8a365908c18aff92e86336eb346914ede31bc51e3008aa394c66acd"},"_framework/System.Security.Cryptography.X509Certificates.zdajb5d4ry.wasm":{bytes:6421,sha256:"a95583972db3c698e929f1e9d0bfd5268c20247b39ffebe0e435ced691e01069"},"_framework/System.Security.Cryptography.isqs0vklct.wasm":{bytes:643861,sha256:"5e2d390cae360df7f1a224f866cd4648f896a02bdd8dc8b6dd97f4036a3434a6"},"_framework/System.Security.Principal.8kc2gzptia.wasm":{bytes:4885,sha256:"18f86f82bdc342716c4f4d1ce95cef59f29516c18f4b107e20e4fb2283bf3ca3"},"_framework/System.Security.Principal.Windows.lvinz1flf3.wasm":{bytes:27413,sha256:"af696bc41c787f9d87ae55b4bc5799b1e384083d610340774246b5283f2b5f76"},"_framework/System.Security.SecureString.287gima5tn.wasm":{bytes:5397,sha256:"92d299c328a15eb44a972aaa0142d628d9b35c1a555d5e6b296d14fcf1f31736"},"_framework/System.Security.zwe9caa7de.wasm":{bytes:7957,sha256:"c3076430d76f8d122b73973756f5c601c96444d2e303834fbda2151aa3fb117c"},"_framework/System.ServiceModel.Web.eh14pbj71g.wasm":{bytes:6421,sha256:"7e6a649d68f4543fefcd8add264555779efc37b5986ec96106f1598703eaa247"},"_framework/System.ServiceProcess.thnl06mz62.wasm":{bytes:5397,sha256:"cf9d149513509280a136812038d16f8421e5ced70788b6c9595170242d702530"},"_framework/System.Text.Encoding.CodePages.r4fb0qucdq.wasm":{bytes:732437,sha256:"a556ef19b61455e586137ff454f3120091897dcc43a44c19a71d7ef489a3ddfc"},"_framework/System.Text.Encoding.Extensions.qyio04sfs3.wasm":{bytes:5397,sha256:"fe7930a6f00825e1c4a3f32e0e3bd42117377db151afc127110c70fbb701366a"},"_framework/System.Text.Encoding.x8frxl6434.wasm":{bytes:5397,sha256:"f11aa7fbf9e9a4f86b0a34a5478e6553d314461dcbe69fc8097adf1f9d69808b"},"_framework/System.Text.Encodings.Web.i5h886ktzy.wasm":{bytes:55573,sha256:"2a97377ae59b872eb3d69f1eb9555ba512f577708f951f7a2ef8040292911df0"},"_framework/System.Text.Json.rfs8iutklf.wasm":{bytes:638741,sha256:"f79b95a0e74fb4fb30fb90a704078e0b910c6d9d08cd9a7ab7a589b8fdcc24ef"},"_framework/System.Text.RegularExpressions.3wwgc8ow33.wasm":{bytes:374549,sha256:"8336c54d5413476b6125468549c98d35c0a9e5bd0db682b3795a7351d38e7b4c"},"_framework/System.Threading.5z3yk0hlih.wasm":{bytes:34581,sha256:"a12c2a6463d08e453a9e0dc72152b68692c5e6b2f5d69d8700f0c0bd2c4ba90a"},"_framework/System.Threading.AccessControl.3jdprnrbz3.wasm":{bytes:23317,sha256:"41c872fb18d50bc6d15f2f2c79ca48e825b0de88f0959f1356b02d2df31dc28e"},"_framework/System.Threading.Channels.u6jwukaw3f.wasm":{bytes:56085,sha256:"2677baa60a9cc551734e24a4eb400413c2157d310d8eae8c666a9f428e14df75"},"_framework/System.Threading.Overlapped.906hny6ev5.wasm":{bytes:5397,sha256:"57a8b7621e425edb8bc3c1114daed57774c1dfc75975a3aa12a0e4cfd1e3612b"},"_framework/System.Threading.Tasks.Dataflow.yxumrwtpb9.wasm":{bytes:175381,sha256:"da2eef656f41a87395f3f24935b557e4b054d994e220ae70401a820712cd440f"},"_framework/System.Threading.Tasks.Extensions.c9qgjzqtfp.wasm":{bytes:5397,sha256:"f027df139487b8613d3b6e1271a920c441ff5d7fcae2bc774009b50a3f703a30"},"_framework/System.Threading.Tasks.Parallel.984t0vlw0h.wasm":{bytes:50965,sha256:"a9e66658c76d0aa175b202b59391a313ed841a8ca09fbe80ef88962090b72b6e"},"_framework/System.Threading.Tasks.e8zo3kytn9.wasm":{bytes:6421,sha256:"a224a48edb58b9d097a72b83d5804930357555dee3f8be811827482e827ac544"},"_framework/System.Threading.Thread.0kl8n21ama.wasm":{bytes:5397,sha256:"206e44a32770dab61b10150554dd82dc69e29779609405d2a79da858f1ec5ff1"},"_framework/System.Threading.ThreadPool.uis7d1kkur.wasm":{bytes:5397,sha256:"da628e4a405d14fcf624643d3b9c632d47e4f478b30a21680c142901aec3bfe7"},"_framework/System.Threading.Timer.d0q7n4qone.wasm":{bytes:4885,sha256:"93d9959881dd75ace8b74ecf1307fa1c8bf210bd384e44feb84d203502a23486"},"_framework/System.Transactions.1rh8d3l1yg.wasm":{bytes:6421,sha256:"ddb4bf21d75f14d92cddd44d6d5abb88fc2f6dbabd24e4f692ce8a24c42ba5af"},"_framework/System.Transactions.Local.88eb0ckc89.wasm":{bytes:165653,sha256:"c80cdc0b7339172c58d06b47543bacf5ead18c6fbc50f483e6eee1973eb4102b"},"_framework/System.ValueTuple.dz9n78v09g.wasm":{bytes:5397,sha256:"490935cf3415a01a302a6caf3e404a0c8591bc6a5ad039e1ad4c892cee66edda"},"_framework/System.Web.HttpUtility.zkk9vwuwmx.wasm":{bytes:19733,sha256:"73afab7ffbcfa6e1479aa8ad626e3470e3346a80a2e7574d766e41c61e9df242"},"_framework/System.Web.cpb2jt6aj4.wasm":{bytes:4885,sha256:"c00e79f45b25abca38109c095dfa83a4616f107129ce05badc98ef08ea0ab819"},"_framework/System.Windows.z1cdp2137j.wasm":{bytes:5397,sha256:"474f8c034c878c2877fd38bfcc81a7ca91ec14f465067924def2447f3a0ceb1f"},"_framework/System.Xml.Linq.zfqbqkhg85.wasm":{bytes:5397,sha256:"616bc8b437b614c7e754c5ab40ea583b2075fbefd75684218446ce675a330615"},"_framework/System.Xml.ReaderWriter.j5zd7b3r9j.wasm":{bytes:11541,sha256:"375655970f08782d60c0b7e660a2ed18b100632cd0beccf6072f453461b33537"},"_framework/System.Xml.Serialization.g3ffx007q0.wasm":{bytes:5909,sha256:"d48409f2e83289d8a283e0dac4e15f6daaba7d0d9f1ef0ed0632479fcb670fea"},"_framework/System.Xml.XDocument.d9vqmjsh7t.wasm":{bytes:5397,sha256:"c12264747d6099b7063ae2ecc540848a570d33620fdf5f4815d34ded85c9bc8f"},"_framework/System.Xml.XPath.XDocument.ikh0avvfe3.wasm":{bytes:5909,sha256:"0ed162b5f6ceb1cae414c70bb8cdd960c5f77b1a39b4a9ab87b7703d92c5bce5"},"_framework/System.Xml.XPath.j7e58ql0yh.wasm":{bytes:5397,sha256:"d128d847ee39abbfee50d6e837d5dc953df248de890c894d92c15186f159092d"},"_framework/System.Xml.XmlDocument.2laigo0hd6.wasm":{bytes:5397,sha256:"16b6cd94446e868c5e744b876de60222eb25d1485c9f628fd03e64957d7b8cb0"},"_framework/System.Xml.XmlSerializer.o9fse2o32f.wasm":{bytes:7445,sha256:"4c9262e9ed66c40706ed51ea1dc312138035b44519f57ef97a94a4f323d192f7"},"_framework/System.Xml.ukjc8es4qk.wasm":{bytes:13077,sha256:"1eae6308964b64da01c885edee4c9af89173ec21ef4f99b71fd5350d8000a1ad"},"_framework/System.a2ormnao9q.wasm":{bytes:39701,sha256:"6e1ba6200e75ccd9b5be39467babe2d28067106bdd6ff0a1f292a2411177e27a"},"_framework/WindowsBase.pulybckt2x.wasm":{bytes:5909,sha256:"21be528b1fb2c3451736fb9a49f1f8063a164c6e4d089aec470d1d670ecc6340"},"_framework/dotnet.js":{bytes:80782,sha256:"0c8a1d506ef027d577f0efd776a42cc6639514b2cf1e90eaca8c18d18fae9c5f"},"_framework/dotnet.native.a6k1euv12n.wasm":{bytes:3001771,sha256:"62521652bab002242e009341397f999bdc2958bfac177278e3d885abb247a2e4"},"_framework/dotnet.native.bjoj0wmylw.js":{bytes:145050,sha256:"099d0855990b4c8bde7bb9f5c95bce8ad94958d763fd88da160a4c82588833ae"},"_framework/dotnet.runtime.5nc8i5dl74.js":{bytes:198480,sha256:"ff774183db23d722c3de1d0f0cc1e73545d6b3fdb35b020c133a26d57cf7438d"},"_framework/mscorlib.79r0fdidgd.wasm":{bytes:49429,sha256:"0553f8bd2703ce8aeebac01fc6c0d8fa7cf720fa64911da16e2a0efc9b988f12"},"_framework/netstandard.f948f8b5mo.wasm":{bytes:90389,sha256:"6db9b1e3952428d5958c52e5b36212b0bef4a1c4013fd49d3f5073c39133efcd"},"refs.pack":{bytes:6046672,sha256:"60252255312e28c33fa2bcde9646c7d92c6b2e7c2fb078a813b57de3146d8bed"}}};function j(e){if(!e||e.startsWith("/")||/[\\\\\\x00-\\x1f:]/.test(e)||e.split("/").some(s=>!s||s==="."||s===".."))throw new Error(`Invalid project path: ${JSON.stringify(e)}. Use relative paths without . or ...`);return e}function N(e,s,b){let f=j(b??"Program.cs"),n=s?{...s}:{[f]:e};if(!Object.hasOwn(n,f))throw new Error(`Entry file ${f} does not exist.`);let d=Object.keys(n).map(j).sort(),o=d.find(c=>!c.endsWith(".cs"));if(o)throw new Error(`C# projects can only contain .cs files for now: ${o}.`);if(d.length>32)throw new Error("Project limit: 32 source files.");if(Object.values(n).reduce((c,h)=>c+new TextEncoder().encode(h).length,0)>2e6)throw new Error("Project exceeds the 2 MB source limit.");return{names:d,sources:d.map(c=>n[c])}}var D="Roslyn 5.0.0 / .NET 10.0.14 r1",$=3,X=2e3,U=1e6,A=P.assets,W={wasm:"application/wasm",js:"text/javascript"},g=e=>globalThis.postMessage(e),v=(e,s,b)=>g({type:"progress",id:e,phase:s,message:b}),M=e=>`${e.file}(${e.line},${e.column}): ${e.severity} ${e.id}: ${e.message}`,z;async function F(e){let s=performance.now(),b=f=>g({id:e.id,durationMs:performance.now()-s,...f});try{let f=N(e.code,e.files,e.entry),n=0,d=async a=>{let t=A[a];if(!t)throw new Error(`Not a pinned C# compiler file: ${a}.`);let k=await T(a,t,z,E,()=>{});return v(e.id,"downloading",`Loading the C# compiler: ${++n} files\\u2026`),k},o=async a=>{let t=new TextDecoder().decode(await d(a)).replaceAll("import.meta.url",JSON.stringify(new URL(a,z).href));return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};v(e.id,"downloading","Loading the C# compiler\\u2026");let{dotnet:c}=await import(await o("_framework/dotnet.js")),h=new Map;await Promise.all(Object.keys(A).filter(a=>/^_framework\\/dotnet\\.[^/]*\\.js$/.test(a)).map(async a=>{h.set(a,await o(a))}));let y=[],w=0,r=!1,l=a=>{a.trim()&&(y.length<$?y.push(a.slice(0,X)):w++)},i=await(typeof c.withModuleConfig=="function"?c.withModuleConfig({printErr:l}):c).withResourceLoader((a,t)=>{let k="_framework/"+t;if(a==="dotnetjs"||a.startsWith("js-module")){let x=h.get(k);if(!x)throw new Error(`Not a pinned C# compiler script: ${t}.`);return x}return d(k).then(x=>new Response(x,{headers:{"Content-Type":W[t.slice(t.lastIndexOf(".")+1)]??"application/octet-stream"}}))}).create(),u=0,p=!1;i.setModuleImports("playpad",{write:(a,t)=>{if(!p){if(u+=t.length,u>U){p=!0,b({type:"error",message:"Output limit exceeded (1 MB)."});return}g({type:a?"stderr":"stdout",id:e.id,text:t})}},managedExit:()=>{r=!0}});let{Compiler:S}=await i.getAssemblyExports(i.getConfig().mainAssemblyName);S.LoadReferences(new Uint8Array(await d("refs.pack"))),v(e.id,"compiling","Compiling\\u2026");let m=JSON.parse(S.Compile(f.names,f.sources)),R=()=>i.Module?.HEAPU8?.length??0,O=R(),I=m.diagnostics.filter(a=>a.severity==="error");if(!m.ok){b({type:"error",message:I.map(M).join(`\n`)||"Compilation failed."});return}let q=m.diagnostics.filter(a=>a.origin==="user").map(M);q.length&&g({type:"stderr",id:e.id,text:q.join(`\n`)+`\n`}),v(e.id,"running","Running\\u2026"),y=[],w=0;let _;try{_=await S.Run(e.stdin??"")}catch(a){let t=a.status;if(typeof t!="number")throw a;if(!r){let k=y.length?[...y]:["The .NET runtime ended the program unexpectedly."];w&&k.push(`(${w} more runtime lines not shown)`),b({type:"error",message:k.join(`\n`)});return}_=t}if(p)return;b(_!==0?{type:"error",message:`Program exited with status ${_}.`}:{type:"result",memory:{compilerBytes:O,programBytes:R()}})}catch(f){b({type:"error",message:f instanceof Error?f.message:String(f)})}}globalThis.addEventListener("message",({data:e})=>{e.type==="init"?(z=e.toolchainURL,g({type:"ready",version:D,interactiveStdin:!1})):e.type==="run"&&F(e)});})();\n',a=new class extends n{get label(){return`C# 14 (experimental)`}get source(){return i}get recycleAfterRun(){return!0}get startTimeoutMs(){return 3e4}async load(e){return await t(r),super.load(e)}initPayload(){return{toolchainURL:e().indexURL}}},o={id:`csharp`,label:a.label,statusDecidesFailure:!0,get ready(){return a.ready},interactiveStdin:!1,async editorLanguage(){let[e,t]=await Promise.all([import(`@codemirror/language`),import(`@codemirror/legacy-modes/mode/clike`)]);return e.StreamLanguage.define(t.csharp)},load:e=>a.load(e),run:(t,n={})=>a.run(t,{...n,timeoutMs:n.timeoutMs??e().timeoutMs}),stop:e=>a.stop(e)};export{o as csharpRuntime};
|
|
@@ -10,7 +10,7 @@ var e=[{id:`default-dark`,label:`One Dark`,mode:`dark`},{id:`monokai`,label:`Mon
|
|
|
10
10
|
--cp-ok: ${n.ok};
|
|
11
11
|
color-scheme: ${t};
|
|
12
12
|
}`]:[]).join(`
|
|
13
|
-
`)}async function d(e){try{return await g(e)}catch(t){return console.warn(`[code-playpad] CodeMirror unavailable, using plain textarea:`,t),_(e)}}var f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Set,m=!1;function h(){m||(m=!0,queueMicrotask(()=>{m=!1;for(let e of p){let t=[...e.adoptedStyleSheets];e.adoptedStyleSheets=[],e.adoptedStyleSheets=t}}))}async function g(t){let[n,r,i,a,o,s,c]=await Promise.all([import(`@codemirror/view`),import(`@codemirror/state`),import(`@codemirror/commands`),import(`@codemirror/language`),import(`@codemirror/autocomplete`),import(`@codemirror/theme-one-dark`),import(`@lezer/highlight`)]),{EditorView:l,keymap:u,lineNumbers:d,highlightActiveLine:m,highlightActiveLineGutter:g,highlightSpecialChars:_,drawSelection:v,rectangularSelection:y,crosshairCursor:b}=n,{EditorState:x,Compartment:S}=r,{defaultKeymap:C,history:w,historyKeymap:T,indentWithTab:E}=i,{syntaxHighlighting:D,defaultHighlightStyle:O,HighlightStyle:k,indentOnInput:A,bracketMatching:j,foldGutter:M,foldKeymap:N}=a,{autocompletion:P,closeBrackets:F,closeBracketsKeymap:I,completionKeymap:L}=o,R=new S,z=new S,B=new S,V=f.get(`default-light`)??[l.theme({"&":{color:`#1f2328`,backgroundColor:`#ffffff`},".cm-gutters":{backgroundColor:`#f6f8fa`,color:`#8b949e`,border:`none`},".cm-activeLine":{backgroundColor:`#f6f8fa88`},".cm-activeLineGutter":{backgroundColor:`#eaeef2`},".cm-cursor":{borderLeftColor:`#1f2328`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:`#cfe3ff`}}),D(O,{fallback:!0})];f.set(`default-light`,V);let{tags:H}=c,U=(e,t)=>[l.theme({"&":{color:e.fg,backgroundColor:e.bg},".cm-content":{caretColor:e.fg},".cm-gutters":{backgroundColor:e.surface,color:e.muted,border:`none`},".cm-activeLine":{backgroundColor:e.activeLine},".cm-activeLineGutter":{backgroundColor:e.selection},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.fg},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:e.selection},".cm-tooltip":{backgroundColor:e.surface,color:e.fg,border:`1px solid ${e.border}`},".cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:e.selection,color:e.fg}},{dark:t}),D(k.define([{tag:[H.comment,H.meta],color:e.comment,fontStyle:`italic`},{tag:[H.keyword,H.operatorKeyword,H.modifier],color:e.keyword},{tag:[H.string,H.special(H.string),H.regexp],color:e.string},{tag:[H.number,H.bool,H.null,H.atom],color:e.number},{tag:[H.function(H.variableName),H.function(H.propertyName),H.definition(H.function(H.variableName))],color:e.fn},{tag:[H.typeName,H.className,H.namespace,H.tagName],color:e.type},{tag:[H.variableName,H.propertyName,H.attributeName],color:e.variable},{tag:H.invalid,color:e.keyword,textDecoration:`underline`}]))],W=(t,n)=>{let r=e.find(e=>e.id===n);if(!r?.colors)return t?s.oneDark:V;let i=f.get(r.id);return i||(i=U(r.colors,r.mode===`dark`),f.set(r.id,i)),i},G=u.of([{key:`Mod-Enter`,preventDefault:!0,run:()=>(t.onRun?.(),!0)},{key:`Shift-Enter`,preventDefault:!0,run:()=>(t.onRun?.(),!0)}]),K=t.dark,q=t.themeId,J=t.readOnly,Y=t.language??[],X=e=>x.create({doc:e,extensions:[d(),g(),_(),w(),M(),v(),x.allowMultipleSelections.of(!0),A(),j(),F(),P(),y(),b(),m(),G,u.of([...I,...C,...T,...N,...L,E]),l.lineWrapping,B.of(Y),R.of(W(K,q)),z.of(x.readOnly.of(J)),l.updateListener.of(e=>{e.startState.facet(l.styleModule)!==e.state.facet(l.styleModule)&&h(),e.docChanged&&t.onChange?.(e.state.doc.toString())})]}),Z=new l({parent:t.parent,state:X(t.doc)});p.add(Z.root),h();let Q=/* @__PURE__ */ new Map,$=t.name??``;return{fallback:!1,getCode:()=>Z.state.doc.toString(),setCode(e){Z.dispatch({changes:{from:0,to:Z.state.doc.length,insert:e}})},openFile(e,t){if(e===$)return;Q.set($,Z.state);let n=Q.get(e);Z.setState(n??X(t)),$=e,n&&Z.dispatch({effects:[R.reconfigure(W(K,q)),z.reconfigure(x.readOnly.of(J)),B.reconfigure(Y)]}),h()},fileCode(e,t){if(e===$)return Z.state.doc.toString();let n=Q.get(e);return n?n.doc.toString():t},forgetFiles(e){for(let t of[...Q.keys()])e.includes(t)||Q.delete(t)},setTheme(e,t){K=e,q=t,Z.dispatch({effects:R.reconfigure(W(K,q))})},setReadOnly(e){J=e,Z.dispatch({effects:z.reconfigure(x.readOnly.of(J))})},setLanguage(e){Y=e,Z.dispatch({effects:B.reconfigure(Y)})},focus:()=>Z.focus(),destroy(){p.delete(Z.root),Z.destroy()}}}function _(e){let t=document.createElement(`textarea`);t.className=`cp-fallback-editor`,t.spellcheck=!1,t.value=e.doc,t.readOnly=e.readOnly,t.addEventListener(`input`,()=>e.onChange?.(t.value)),t.addEventListener(`keydown`,t=>{(t.metaKey||t.ctrlKey)&&t.key===`Enter`&&(t.preventDefault(),e.onRun?.())}),e.parent.appendChild(t);let n=/* @__PURE__ */ new Map,r=e.name??``;return{fallback:!0,getCode:()=>t.value,setCode:e=>{t.value=e},openFile(e,i){e!==r&&(n.set(r,t.value),t.value=n.get(e)??i,r=e)},fileCode(e,i){return e===r?t.value:n.get(e)??i},forgetFiles(e){for(let t of[...n.keys()])e.includes(t)||n.delete(t)},setTheme:()=>{},setReadOnly:e=>{t.readOnly=e},setLanguage:()=>{},focus:()=>t.focus(),destroy:()=>t.remove()}}var v=/* @__PURE__ */ new Map,y=/* @__PURE__ */ new Map;function b(e,t){v.set(e,t)}function x(){return[...v.keys()]}function S(e){let t=y.get(e);if(t)return t;let n=v.get(e);if(!n)return Promise.reject(/* @__PURE__ */ Error(`Unknown runtime "${e}". Registered: ${x().join(`, `)||`none`}`));let r=n().catch(t=>{throw y.delete(e),t});return y.set(e,r),r}b(`python`,()=>import(`./pyodide-
|
|
13
|
+
`)}async function d(e){try{return await g(e)}catch(t){return console.warn(`[code-playpad] CodeMirror unavailable, using plain textarea:`,t),_(e)}}var f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Set,m=!1;function h(){m||(m=!0,queueMicrotask(()=>{m=!1;for(let e of p){let t=[...e.adoptedStyleSheets];e.adoptedStyleSheets=[],e.adoptedStyleSheets=t}}))}async function g(t){let[n,r,i,a,o,s,c]=await Promise.all([import(`@codemirror/view`),import(`@codemirror/state`),import(`@codemirror/commands`),import(`@codemirror/language`),import(`@codemirror/autocomplete`),import(`@codemirror/theme-one-dark`),import(`@lezer/highlight`)]),{EditorView:l,keymap:u,lineNumbers:d,highlightActiveLine:m,highlightActiveLineGutter:g,highlightSpecialChars:_,drawSelection:v,rectangularSelection:y,crosshairCursor:b}=n,{EditorState:x,Compartment:S}=r,{defaultKeymap:C,history:w,historyKeymap:T,indentWithTab:E}=i,{syntaxHighlighting:D,defaultHighlightStyle:O,HighlightStyle:k,indentOnInput:A,bracketMatching:j,foldGutter:M,foldKeymap:N}=a,{autocompletion:P,closeBrackets:F,closeBracketsKeymap:I,completionKeymap:L}=o,R=new S,z=new S,B=new S,V=f.get(`default-light`)??[l.theme({"&":{color:`#1f2328`,backgroundColor:`#ffffff`},".cm-gutters":{backgroundColor:`#f6f8fa`,color:`#8b949e`,border:`none`},".cm-activeLine":{backgroundColor:`#f6f8fa88`},".cm-activeLineGutter":{backgroundColor:`#eaeef2`},".cm-cursor":{borderLeftColor:`#1f2328`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:`#cfe3ff`}}),D(O,{fallback:!0})];f.set(`default-light`,V);let{tags:H}=c,U=(e,t)=>[l.theme({"&":{color:e.fg,backgroundColor:e.bg},".cm-content":{caretColor:e.fg},".cm-gutters":{backgroundColor:e.surface,color:e.muted,border:`none`},".cm-activeLine":{backgroundColor:e.activeLine},".cm-activeLineGutter":{backgroundColor:e.selection},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.fg},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:e.selection},".cm-tooltip":{backgroundColor:e.surface,color:e.fg,border:`1px solid ${e.border}`},".cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:e.selection,color:e.fg}},{dark:t}),D(k.define([{tag:[H.comment,H.meta],color:e.comment,fontStyle:`italic`},{tag:[H.keyword,H.operatorKeyword,H.modifier],color:e.keyword},{tag:[H.string,H.special(H.string),H.regexp],color:e.string},{tag:[H.number,H.bool,H.null,H.atom],color:e.number},{tag:[H.function(H.variableName),H.function(H.propertyName),H.definition(H.function(H.variableName))],color:e.fn},{tag:[H.typeName,H.className,H.namespace,H.tagName],color:e.type},{tag:[H.variableName,H.propertyName,H.attributeName],color:e.variable},{tag:H.invalid,color:e.keyword,textDecoration:`underline`}]))],W=(t,n)=>{let r=e.find(e=>e.id===n);if(!r?.colors)return t?s.oneDark:V;let i=f.get(r.id);return i||(i=U(r.colors,r.mode===`dark`),f.set(r.id,i)),i},G=u.of([{key:`Mod-Enter`,preventDefault:!0,run:()=>(t.onRun?.(),!0)},{key:`Shift-Enter`,preventDefault:!0,run:()=>(t.onRun?.(),!0)}]),K=t.dark,q=t.themeId,J=t.readOnly,Y=t.language??[],X=e=>x.create({doc:e,extensions:[d(),g(),_(),w(),M(),v(),x.allowMultipleSelections.of(!0),A(),j(),F(),P(),y(),b(),m(),G,u.of([...I,...C,...T,...N,...L,E]),l.lineWrapping,B.of(Y),R.of(W(K,q)),z.of(x.readOnly.of(J)),l.updateListener.of(e=>{e.startState.facet(l.styleModule)!==e.state.facet(l.styleModule)&&h(),e.docChanged&&t.onChange?.(e.state.doc.toString())})]}),Z=new l({parent:t.parent,state:X(t.doc)});p.add(Z.root),h();let Q=/* @__PURE__ */ new Map,$=t.name??``;return{fallback:!1,getCode:()=>Z.state.doc.toString(),setCode(e){Z.dispatch({changes:{from:0,to:Z.state.doc.length,insert:e}})},openFile(e,t){if(e===$)return;Q.set($,Z.state);let n=Q.get(e);Z.setState(n??X(t)),$=e,n&&Z.dispatch({effects:[R.reconfigure(W(K,q)),z.reconfigure(x.readOnly.of(J)),B.reconfigure(Y)]}),h()},fileCode(e,t){if(e===$)return Z.state.doc.toString();let n=Q.get(e);return n?n.doc.toString():t},forgetFiles(e){for(let t of[...Q.keys()])e.includes(t)||Q.delete(t)},setTheme(e,t){K=e,q=t,Z.dispatch({effects:R.reconfigure(W(K,q))})},setReadOnly(e){J=e,Z.dispatch({effects:z.reconfigure(x.readOnly.of(J))})},setLanguage(e){Y=e,Z.dispatch({effects:B.reconfigure(Y)})},focus:()=>Z.focus(),destroy(){p.delete(Z.root),Z.destroy()}}}function _(e){let t=document.createElement(`textarea`);t.className=`cp-fallback-editor`,t.spellcheck=!1,t.value=e.doc,t.readOnly=e.readOnly,t.addEventListener(`input`,()=>e.onChange?.(t.value)),t.addEventListener(`keydown`,t=>{(t.metaKey||t.ctrlKey)&&t.key===`Enter`&&(t.preventDefault(),e.onRun?.())}),e.parent.appendChild(t);let n=/* @__PURE__ */ new Map,r=e.name??``;return{fallback:!0,getCode:()=>t.value,setCode:e=>{t.value=e},openFile(e,i){e!==r&&(n.set(r,t.value),t.value=n.get(e)??i,r=e)},fileCode(e,i){return e===r?t.value:n.get(e)??i},forgetFiles(e){for(let t of[...n.keys()])e.includes(t)||n.delete(t)},setTheme:()=>{},setReadOnly:e=>{t.readOnly=e},setLanguage:()=>{},focus:()=>t.focus(),destroy:()=>t.remove()}}var v=/* @__PURE__ */ new Map,y=/* @__PURE__ */ new Map;function b(e,t){v.set(e,t)}function x(){return[...v.keys()]}function S(e){let t=y.get(e);if(t)return t;let n=v.get(e);if(!n)return Promise.reject(/* @__PURE__ */ Error(`Unknown runtime "${e}". Registered: ${x().join(`, `)||`none`}`));let r=n().catch(t=>{throw y.delete(e),t});return y.set(e,r),r}b(`python`,()=>import(`./pyodide-DJAtHIb8.js`).then(e=>e.pythonRuntime)),b(`javascript`,()=>import(`./javascript-DZlNZDDe.js`).then(e=>e.javascriptRuntime)),b(`typescript`,()=>import(`./javascript-DZlNZDDe.js`).then(e=>e.typescriptRuntime)),b(`java`,()=>import(`./java-cevrzY6x.js`).then(e=>e.javaRuntime)),b(`c`,()=>import(`./cpp-CDeK5gz8.js`).then(e=>e.cRuntime)),b(`cpp`,()=>import(`./cpp-CDeK5gz8.js`).then(e=>e.cppRuntime)),b(`csharp`,()=>import(`./csharp-D2mcw4Xx.js`).then(e=>e.csharpRuntime)),b(`cs`,()=>import(`./csharp-D2mcw4Xx.js`).then(e=>e.csharpRuntime)),b(`react`,()=>import(`./react-SfE82Kr_.js`).then(e=>e.reactRuntime)),b(`next`,()=>import(`./next-CKL809hs.js`).then(e=>e.nextRuntime));var C=class extends Error{constructor(e=`Execution stopped`){super(e),this.name=`RunStopped`}},w=class extends Error{constructor(e=`Web Workers are unavailable in this page`){super(e),this.name=`WorkerUnavailable`}},T=/* @__PURE__ */ new WeakSet,E=String.raw`
|
|
14
14
|
:host {
|
|
15
15
|
--cp-bg: #ffffff;
|
|
16
16
|
--cp-fg: #1f2328;
|
package/dist/element.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{t as CodePlayPadElement,n as defineCodePlayPad}from"./element-
|
|
1
|
+
export{t as CodePlayPadElement,n as defineCodePlayPad}from"./element-Biju-4SA.js";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h,v as g,y as _}from"./element-
|
|
1
|
+
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h,v as g,y as _}from"./element-Biju-4SA.js";import{t as v}from"./react-version.generated-BNNJmf7J.js";import{a as y,f as b,i as x,n as S,o as C,r as w,t as T}from"./config-3Z6xX6Jr.js";export{m as CodePlayPadElement,a as EDITOR_THEMES,T as PYODIDE_VERSION,v as REACT_VERSION,h as RunStopped,r as WorkerUnavailable,f as allProgress,s as clearSnippet,S as configureCSharp,w as configureCpp,x as configurePython,y as configureReact,C as configureTypeScript,o as createEditor,l as defineCodePlayPad,t as getProgress,i as getRuntime,e as getThemePreference,d as listRuntimes,u as loadSnippet,g as onThemePreferenceChange,b as pyodideAssetUrls,c as registerRuntime,p as saveSnippet,n as setProgress,_ as setThemePreference};
|