code-playpad 0.17.0 → 0.18.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 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.17.0/dist/standalone.js"></script>
12
+ <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.18.0/dist/standalone.js"></script>
13
13
 
14
14
  <code-playpad height="auto">
15
15
  print("hello from a static page")
@@ -518,7 +518,7 @@ actually sent.
518
518
  ### From a CDN — nothing to install
519
519
 
520
520
  ```html
521
- <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.17.0/dist/standalone.js"></script>
521
+ <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.18.0/dist/standalone.js"></script>
522
522
  ```
523
523
 
524
524
  This is the `standalone` build: CodeMirror is bundled in, so a static blog post
@@ -538,12 +538,12 @@ npm install code-playpad @codemirror/state @codemirror/view @codemirror/commands
538
538
  ```
539
539
 
540
540
  CodeMirror is a peer dependency so you never end up with two copies of
541
- `@codemirror/state`. Language grammars are **optional** — install only what you
542
- use (`@codemirror/lang-python`, `@codemirror/lang-javascript`,
543
- `@codemirror/lang-json`, `@codemirror/lang-java`, `@codemirror/lang-cpp`,
544
- `@codemirror/legacy-modes` for C#, and for React `@codemirror/lang-css` and
545
- `@codemirror/lang-html`); a missing one degrades to
546
- plain text rather than throwing.
541
+ `@codemirror/state`. npm and pnpm install the grammars for HTML, CSS and JSON with
542
+ it, since any project can hold those files; with Yarn, add them yourself. The other
543
+ grammars are **optional** — install only what you use (`@codemirror/lang-python`,
544
+ `@codemirror/lang-javascript`, `@codemirror/lang-java`, `@codemirror/lang-cpp`,
545
+ `@codemirror/legacy-modes` for C#); a missing one degrades to plain text rather
546
+ than throwing.
547
547
 
548
548
  ```js
549
549
  import 'code-playpad/element'; // registers <code-playpad>
@@ -1216,6 +1216,18 @@ and `configureCSharp({ indexURL })`.
1216
1216
 
1217
1217
  ## Version history
1218
1218
 
1219
+ ### 0.18.0
1220
+
1221
+ - **Reset no longer breaks a project when another file is open.** It put the entry file's text in the open
1222
+ file's buffer, so that file showed the wrong text, was marked edited, and failed the next run, and the
1223
+ entry file kept the other file's highlighting. Assigning `files` while another file is open had the same bug.
1224
+ - **`@codemirror/lang-html`, `@codemirror/lang-css` and `@codemirror/lang-json` are now required peers.** A site
1225
+ that had not installed them showed those files as plain text with no warning. npm and pnpm install them for you;
1226
+ with Yarn, add them yourself.
1227
+ - **`height="auto"` no longer resizes the widget when you change files.** It fits the file on screen when the widget
1228
+ appears and keeps that size, for the file tabs and for Reset; a longer file scrolls. Double-clicking the divider
1229
+ fits the open file again, and assigning `files` starts over.
1230
+
1219
1231
  ### 0.17.0
1220
1232
 
1221
1233
  - **`language="next"`, four more differences from real Next 16.4.3,** each checked against a recording of it:
@@ -1,4 +1,4 @@
1
- import{u as e}from"./element-BpSZy4LD.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+\`
1
+ import{u as e}from"./element-DnazizZC.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.17.0: CDN entry, loads dist/standalone.js of this exact version */
2
- export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.17.0/dist/standalone.js";
1
+ /*! code-playpad 0.18.0: CDN entry, loads dist/standalone.js of this exact version */
2
+ export * from "https://cdn.jsdelivr.net/npm/code-playpad@0.18.0/dist/standalone.js";
@@ -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-BptYo0uF.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-BObmUwpG.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-BptYo0uF.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-BObmUwpG.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};