livecode-static/livecodes/blockly.a492d1a6649a4c24e9b487c5cf7634a9.js
2025-06-12 09:37:26 +08:00

40 lines
60 KiB
JavaScript

var qr=Object.create;var de=Object.defineProperty;var Nr=Object.getOwnPropertyDescriptor;var Dr=Object.getOwnPropertyNames;var $r=Object.getPrototypeOf,Fr=Object.prototype.hasOwnProperty;var Hr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Jr=(e,t,s,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of Dr(t))!Fr.call(e,p)&&p!==s&&de(e,p,{get:()=>t[p],enumerable:!(a=Nr(t,p))||a.enumerable});return e};var Vr=(e,t,s)=>(s=e!=null?qr($r(e)):{},Jr(t||!e||!e.__esModule?de(s,"default",{value:e,enumerable:!0}):s,e));var it=Hr((ra,z)=>{var ds=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",a={};function p(o,i){if(!a[o]){a[o]={};for(var u=0;u<o.length;u++)a[o][o.charAt(u)]=u}return a[o][i]}var y={compressToBase64:function(o){if(o==null)return"";var i=y._compress(o,6,function(u){return t.charAt(u)});switch(i.length%4){default:case 0:return i;case 1:return i+"===";case 2:return i+"==";case 3:return i+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:y._decompress(o.length,32,function(i){return p(t,o.charAt(i))})},compressToUTF16:function(o){return o==null?"":y._compress(o,15,function(i){return e(i+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:y._decompress(o.length,16384,function(i){return o.charCodeAt(i)-32})},compressToUint8Array:function(o){for(var i=y.compress(o),u=new Uint8Array(i.length*2),m=0,d=i.length;m<d;m++){var b=i.charCodeAt(m);u[m*2]=b>>>8,u[m*2+1]=b%256}return u},decompressFromUint8Array:function(o){if(o==null)return y.decompress(o);for(var i=new Array(o.length/2),u=0,m=i.length;u<m;u++)i[u]=o[u*2]*256+o[u*2+1];var d=[];return i.forEach(function(b){d.push(e(b))}),y.decompress(d.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":y._compress(o,6,function(i){return s.charAt(i)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),y._decompress(o.length,32,function(i){return p(s,o.charAt(i))}))},compress:function(o){return y._compress(o,16,function(i){return e(i)})},_compress:function(o,i,u){if(o==null)return"";var m,d,b={},j={},S="",k="",v="",L=2,E=3,x=2,w=[],l=0,c=0,C;for(C=0;C<o.length;C+=1)if(S=o.charAt(C),Object.prototype.hasOwnProperty.call(b,S)||(b[S]=E++,j[S]=!0),k=v+S,Object.prototype.hasOwnProperty.call(b,k))v=k;else{if(Object.prototype.hasOwnProperty.call(j,v)){if(v.charCodeAt(0)<256){for(m=0;m<x;m++)l=l<<1,c==i-1?(c=0,w.push(u(l)),l=0):c++;for(d=v.charCodeAt(0),m=0;m<8;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1}else{for(d=1,m=0;m<x;m++)l=l<<1|d,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=0;for(d=v.charCodeAt(0),m=0;m<16;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1}L--,L==0&&(L=Math.pow(2,x),x++),delete j[v]}else for(d=b[v],m=0;m<x;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1;L--,L==0&&(L=Math.pow(2,x),x++),b[k]=E++,v=String(S)}if(v!==""){if(Object.prototype.hasOwnProperty.call(j,v)){if(v.charCodeAt(0)<256){for(m=0;m<x;m++)l=l<<1,c==i-1?(c=0,w.push(u(l)),l=0):c++;for(d=v.charCodeAt(0),m=0;m<8;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1}else{for(d=1,m=0;m<x;m++)l=l<<1|d,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=0;for(d=v.charCodeAt(0),m=0;m<16;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1}L--,L==0&&(L=Math.pow(2,x),x++),delete j[v]}else for(d=b[v],m=0;m<x;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1;L--,L==0&&(L=Math.pow(2,x),x++)}for(d=2,m=0;m<x;m++)l=l<<1|d&1,c==i-1?(c=0,w.push(u(l)),l=0):c++,d=d>>1;for(;;)if(l=l<<1,c==i-1){w.push(u(l));break}else c++;return w.join("")},decompress:function(o){return o==null?"":o==""?null:y._decompress(o.length,32768,function(i){return o.charCodeAt(i)})},_decompress:function(o,i,u){var m=[],d,b=4,j=4,S=3,k="",v=[],L,E,x,w,l,c,C,h={val:u(0),position:i,index:1};for(L=0;L<3;L+=1)m[L]=L;for(x=0,l=Math.pow(2,2),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;switch(d=x){case 0:for(x=0,l=Math.pow(2,8),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;C=e(x);break;case 1:for(x=0,l=Math.pow(2,16),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;C=e(x);break;case 2:return""}for(m[3]=C,E=C,v.push(C);;){if(h.index>o)return"";for(x=0,l=Math.pow(2,S),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;switch(C=x){case 0:for(x=0,l=Math.pow(2,8),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;m[j++]=e(x),C=j-1,b--;break;case 1:for(x=0,l=Math.pow(2,16),c=1;c!=l;)w=h.val&h.position,h.position>>=1,h.position==0&&(h.position=i,h.val=u(h.index++)),x|=(w>0?1:0)*c,c<<=1;m[j++]=e(x),C=j-1,b--;break;case 2:return v.join("")}if(b==0&&(b=Math.pow(2,S),S++),m[C])k=m[C];else if(C===j)k=E+E.charAt(0);else return null;v.push(k),m[j++]=E+k.charAt(0),b--,E=k,b==0&&(b=Math.pow(2,S),S++)}}};return y}();typeof z<"u"&&z!=null&&(z.exports=ds)});var ge=["esm.sh","skypack","esm.run","jsdelivr.esm","fastly.jsdelivr.esm","gcore.jsdelivr.esm","testingcf.jsdelivr.esm","jsdelivr.b-cdn.esm","jspm"],fe=["jsdelivr","fastly.jsdelivr","unpkg","gcore.jsdelivr","testingcf.jsdelivr","jsdelivr.b-cdn","npmcdn"],ye=["jsdelivr.gh","fastly.jsdelivr.gh","statically","gcore.jsdelivr.gh","testingcf.jsdelivr.gh","jsdelivr.b-cdn.gh"],P={getModuleUrl:(e,{isModule:t=!0,defaultCDN:s="esm.sh",external:a}={})=>{e=e.replace(/#nobundle/g,"");let p=o=>!a||!o.includes("https://esm.sh")?o:o.includes("?")?`${o}&external=${a}`:`${o}?external=${a}`,y=ue(e,t,s);return y?p(y):t?p("https://esm.sh/"+e):"https://cdn.jsdelivr.net/npm/"+e},getUrl:(e,t)=>e.startsWith("http")||e.startsWith("data:")?e:ue(e,!1,t||he())||e,cdnLists:{npm:fe,module:ge,gh:ye},checkCDNs:async(e,t)=>{let s=[t,...P.cdnLists.npm].filter(Boolean);for(let a of s)try{if((await fetch(P.getUrl(e,a),{method:"HEAD"})).ok)return a}catch{}return P.cdnLists.npm[0]}},he=()=>{if(globalThis.appCDN)return globalThis.appCDN;try{return new URL(location.href).searchParams.get("appCDN")||P.cdnLists.npm[0]}catch{return P.cdnLists.npm[0]}},ue=(e,t,s)=>{let a=t&&e.startsWith("unpkg:")?"?module":"";e.startsWith("gh:")?e=e.replace("gh",ye[0]):e.includes(":")||(e=(s||(t?ge[0]:fe[0]))+":"+e);for(let p of zr){let[y,o]=p;if(y.test(e))return e.replace(y,o)+a}return null},zr=[[/^(esm\.sh:)(.+)/i,"https://esm.sh/$2"],[/^(npm:)(.+)/i,"https://esm.sh/$2"],[/^(node:)(.+)/i,"https://esm.sh/$2"],[/^(jsr:)(.+)/i,"https://esm.sh/jsr/$2"],[/^(skypack:)(.+)/i,"https://cdn.skypack.dev/$2"],[/^(jsdelivr:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2"],[/^(fastly\.jsdelivr:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2"],[/^(gcore\.jsdelivr:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2"],[/^(testingcf\.jsdelivr:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2"],[/^(jsdelivr\.b-cdn:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2"],[/^(jsdelivr\.gh:)(.+)/i,"https://cdn.jsdelivr.net/gh/$2"],[/^(fastly\.jsdelivr\.gh:)(.+)/i,"https://fastly.jsdelivr.net/gh/$2"],[/^(gcore\.jsdelivr\.gh:)(.+)/i,"https://gcore.jsdelivr.net/gh/$2"],[/^(testingcf\.jsdelivr\.gh:)(.+)/i,"https://testingcf.jsdelivr.net/gh/$2"],[/^(jsdelivr\.b-cdn\.gh:)(.+)/i,"https://jsdelivr.b-cdn.net/gh/$2"],[/^(statically:)(.+)/i,"https://cdn.statically.io/gh/$2"],[/^(esm\.run:)(.+)/i,"https://esm.run/$2"],[/^(jsdelivr\.esm:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2/+esm"],[/^(fastly\.jsdelivr\.esm:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2/+esm"],[/^(gcore\.jsdelivr\.esm:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2/+esm"],[/^(testingcf\.jsdelivr\.esm:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2/+esm"],[/^(jsdelivr\.b-cdn\.esm:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2/+esm"],[/^(jspm:)(.+)/i,"https://jspm.dev/$2"],[/^(esbuild:)(.+)/i,"https://esbuild.vercel.app/$2"],[/^(bundle\.run:)(.+)/i,"https://bundle.run/$2"],[/^(unpkg:)(.+)/i,"https://unpkg.com/$2"],[/^(npmcdn:)(.+)/i,"https://npmcdn.com/$2"],[/^(bundlejs:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(bundle:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(deno:)(.+)/i,"https://deno.bundlejs.com/?file&q=https://deno.land/x/$2/mod.ts"],[/^(https:\/\/deno\.land\/.+)/i,"https://deno.bundlejs.com/?file&q=$1"],[/^(github:|https:\/\/github\.com\/)(.[^\/]+?)\/(.[^\/]+?)\/(?!releases\/)(?:(?:blob|raw)\/)?(.+?\/.+)/i,"https://deno.bundlejs.com/?file&q=https://cdn.jsdelivr.net/gh/$2/$3@$4"],[/^(gist\.github:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(gitlab:|https:\/\/gitlab\.com\/)([^\/]+.*\/[^\/]+)\/(?:raw|blob)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://gl.githack.com/$2/raw/$3"],[/^(bitbucket:|https:\/\/bitbucket\.org\/)([^\/]+\/[^\/]+)\/(?:raw|src)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://bb.githack.com/$2/raw/$3"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/]+)\/revisions\/([^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/$3/files/$4"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/HEAD/files/$3"],[/^(bitbucket:)\!api\/2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(api\.bitbucket:)2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(rawgit:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(rawgit:|https:\/\/raw\.githubusercontent\.com)(\/[^\/]+\/[^\/]+|[0-9A-Za-z-]+\/[0-9a-f]+\/raw)\/(.+)/i,"https://deno.bundlejs.com/?file&q=https://raw.githack.com/$2/$3"]];var{getUrl:f,getModuleUrl:Hs}=P,n=f("@live-codes/browser-compilers@0.22.3/dist/");var xe=f("art-template@4.13.2/lib/template-web.js"),be=f("@asciidoctor/core@2.2.8/dist/browser/asciidoctor.js"),we=f("@assemblyscript/loader@0.27.29/umd/index.js");var ve=f("@hatemhosny/astro-internal@0.0.4/");var Se=f("@babel/standalone@7.26.4/babel.js"),je=f("biwascheme@0.8.0/release/biwascheme.js"),Le=f("blockly@11.1.1/");var X=f("brython@3.12.4/");var H=f("cherry-cljs@0.2.19/");var G=f("@live-codes/clio-browser-compiler@0.0.3/public/build/");var Ue=f("coffeescript@2.7.0/lib/coffeescript-browser-compiler-legacy/coffeescript.js");var Ce=f("dot@1.1.3/doT.js"),ke=f("ejs@3.1.10/ejs.js");var Te=f("eta@3.4.0/dist/eta.umd.js");var I=f("@live-codes/go2js@0.5.0/build/");var Z=f("handlebars@4.7.8/dist/");var Q=f("imba@2.0.0-alpha.229/dist/");var _e=f("gh:jscl-project/jscl-project.github.io@058adc599f0d012718ef3ad28e704a92c4dd741e/jscl.js");var Pe=f("liquidjs@10.14.0/dist/liquid.browser.min.js");var R=f("fengari-web@0.1.4/dist/fengari-web.js");var Ee=f("malinajs@0.7.19/"),Re=f("marked@13.0.2/marked.min.js");var Me=f("mjml-browser@4.15.3/lib/index.js");var Ae=f("mustache@4.2.0/mustache.js");var Y=f("nunjucks@3.2.4/browser/"),q=f("https://cdn.opalrb.com/opal/1.8.2/"),Ie=f("parinfer@3.13.1/parinfer.js");var M=f("prettier@3.3.2/"),Be=f("@prettier/plugin-php@0.22.2/standalone.js");var Oe=f("requirejs@2.3.6/require.js");var ee=f("riot@9.2.2/");var We=f("@ruby/wasm-wasi@2.6.2/dist/browser.umd.js");var J=f("sql-formatter@12.2.1/dist/sql-formatter.min.js"),qe=f("sql.js@1.10.3/dist/"),B=f("squint-cljs@0.4.81/"),Ne=f("@stencil/core@3.2.2/compiler/stencil.js"),De=f("stylis@4.3.2/dist/umd/stylis.js"),U=f("svelte@5.12.0/");var T=f("tau-prolog@0.3.4/modules/");var $e=f("twig@1.17.1/twig.min.js"),Fe=f("typescript@5.6.2/lib/typescript.js");var He=f("uniter@2.18.0/dist/uniter.js");var te=f("vue@2"),Je=f("vue@3/dist/vue.runtime.esm-browser.prod.js"),Ve=f("livecodes@0.11.1/vue.js"),ze=f("vue3-sfc-loader@0.9.5/dist/"),Ke=f("wabt@1.0.35/index.js"),Xe=f("wasmoon@1.16.0/dist/index.js");var Zs=M+"standalone.js",r={babel:M+"plugins/babel.js",estree:M+"plugins/estree.js",glimmer:M+"plugins/glimmer.js",html:M+"plugins/html.js",markdown:M+"plugins/markdown.js",postcss:M+"plugins/postcss.js",php:Be,pug:n+"prettier/parser-pug.js",java:n+"prettier/parser-java.js"};var Ge={name:"art-template",title:"art",longTitle:"art-template",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:xe,factory:(e,t)=>(self.importScripts(t+"lang-art-template-compiler.f7f28bfde1988e977306171ed26474d0.js"),self.createArtTemplateCompiler())},extensions:["art","art-template"],editor:"markup",editorLanguage:"html"};var Ze=(e,t)=>{let s;return(...a)=>{s&&clearTimeout(s),s=setTimeout(()=>e.apply(null,a),typeof t=="function"?t():t)}};var re=(e,t=!0)=>e.replace(/\\/g,t?"\\\\":"\\").replace(/`/g,"\\`").replace(/<\/script>/g,"<\\/script>");var g=(e,t)=>({...t.customSettings[e]});var Kr={name:"lightningcss",title:"Lightning CSS",isPostcssPlugin:!1,compiler:{url:n+"lightningcss/lightningcss.js",factory:(e,t)=>(self.importScripts(t+"processor-lightningcss-compiler.bfb68fd433e1548d10fee6992259f228.js"),self.createLightningcssCompiler())},editor:"style"};var Xr={name:"autoprefixer",title:"Autoprefixer",isPostcssPlugin:!0,compiler:{url:n+"autoprefixer/autoprefixer.js",factory:e=>self.autoprefixer.autoprefixer({...g("autoprefixer",e)})},editor:"style"},Gr={name:"cssnano",title:"cssnano",isPostcssPlugin:!0,compiler:{url:n+"cssnano/cssnano.js",factory:()=>{let e=self.cssnano.cssnanoPresetDefault().plugins,t=[];for(let s of e){let[a,p]=s;(typeof p>"u"||typeof p=="object"&&!p.exclude||typeof p=="boolean"&&p===!0)&&t.push(a(p))}return t}},editor:"style"};var Zr={name:"postcssPresetEnv",title:"Preset Env",isPostcssPlugin:!0,compiler:{url:n+"postcss-preset-env/postcss-preset-env.js",factory:e=>self.postcssPresetEnv.postcssPresetEnv({autoprefixer:!1,...g("postcssPresetEnv",e)})},editor:"style"},Qr={name:"purgecss",title:"PurgeCSS",isPostcssPlugin:!0,needsHTML:!0,compiler:{url:n+"purgecss/purgecss.js",factory:(e,t,s)=>self.purgecss.purgecss({...g("purgecss",e),content:[{raw:`<template>${s.html}
<script>${e.script.content}<\/script></template>`,extension:"html"}]})},editor:"style"},Yr={name:"tokencss",title:"Token CSS",isPostcssPlugin:!0,compiler:{url:n+"tokencss/tokencss.js",factory:e=>{let t=g("tokencss",e);Object.keys(t).length===0&&(t.$schema="https://tokencss.com/schema@0.0.1",t.extends="@tokencss/core/preset");let s=(p,y)=>{let o=JSON.parse(JSON.stringify(p));return Object.keys(y).forEach(i=>{o[i]=typeof y[i]!="object"||Array.isArray(y[i])?y[i]:{...o[i],...y[i]}}),o},a=t.extends?.includes("@tokencss/core/preset")?s(self.tokencss.preset,t):t;return self.tokencss.tokencss({config:a})}},editor:"style"},es={name:"cssmodules",title:"CSS Modules",isPostcssPlugin:!0,needsHTML:!0,compiler:{url:n+"postcss-modules/postcss-modules.js",factory:(e,t,s)=>{let a=g("cssmodules",e);return self.postcssModules.postcssModules({localsConvention:"camelCase",...a,getJSON(p,y,o){let i=a.addClassesToHTML!==!1,u=a.removeOriginalClasses===!0;i&&(s.html=self.postcssModules.addClassesToHtml(s.html,y,u)),s.compileInfo={...s.compileInfo,cssModules:y,...i?{modifiedHTML:s.html}:{}}}})}},editor:"style"};var ts={name:"postcss",title:"Processors:",isPostcssPlugin:!1,compiler:{url:n+"postcss/postcss.js",factory:(e,t)=>(self.importScripts(t+"processor-postcss-compiler.a156278a718bc437b86f9a66e2701d1a.js"),self.createPostcssCompiler())},editor:"style",hidden:!0};var rs={name:"tailwindcss",title:"Tailwind CSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:n+"tailwindcss/tailwindcss.js",factory:(e,t)=>(self.importScripts(t+"processor-tailwindcss-compiler.b6231f1e58263b7fcdbbe0896acd4a60.js"),self.createTailwindcssCompiler())},editor:"style"};var ss={name:"unocss",title:"UnoCSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:n+"unocss/unocss.js",factory:(e,t)=>(self.importScripts(t+"processor-unocss-compiler.aff439fdf8caa3e77e917c16350607f8.js"),self.createUnocssCompiler())},editor:"style"};var os={name:"windicss",title:"Windi CSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:n+"windicss/windicss.js",factory:(e,t)=>(self.importScripts(t+"processor-windicss-compiler.e48498d127508183342dcd73b19cfbc4.js"),self.createWindicssCompiler())},editor:"style"};var Qe=(e="")=>{if(!e)return;let t=e?.toLowerCase();return V.find(s=>s.name===t||s.title.toLowerCase()===t||s.extensions.map(a=>a.toLowerCase()).includes(t))?.name};var oe=(e="")=>V.find(t=>t.name===Qe(e))?.editor;var ne=(e,t)=>{let s={...g(e,t)};return oe(e)==="markup"&&(s.template=t.customSettings.template),s};var Ye={name:"asciidoc",title:"AsciiDoc",compiler:{url:be,factory:()=>{let e=window.Asciidoctor();return async(t,{config:s})=>e.convert(t,{standalone:!0,attributes:{nofooter:!0},...g("asciidoc",s)})}},extensions:["adoc","asciidoc","asc"],editor:"markup"};var ns=n+"assemblyscript/assemblyscript.js",et={name:"assemblyscript",title:"AS",longTitle:"AssemblyScript",parser:{name:"babel-ts",pluginUrls:[r.babel]},compiler:{url:ns,factory:(e,t)=>(self.importScripts(t+"lang-assemblyscript-compiler.14e8b2e5f7646f2a3f66fe301f2b95f8.js"),self.createAssemblyscriptCompiler()),scripts:({baseUrl:e})=>[we,e+"lang-assemblyscript-script.bc1d8b506b4f8cae0a57028a76574d4b.js"],scriptType:"application/wasm-uint8",compiledCodeLanguage:"wat",types:{assemblyscript:{url:n+"types/assemblyscript.d.ts",declareAsModule:!1,autoload:!0}}},extensions:["as","ts"],editor:"script",editorLanguage:"typescript"};var as=ve+"compiler.min.js",tt={name:"astro",title:"Astro",parser:{name:"html",pluginUrls:[r.html,r.babel]},compiler:{url:as,factory:(e,t)=>(self.importScripts(t+"lang-astro-compiler.9f88bb4e6574ee0d7d5cbf92d1203b5c.js"),self.createAstroCompiler())},extensions:["astro"],editor:"markup"};var rt={name:"babel",title:"Babel",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{url:Se,factory:()=>async(e,{config:t})=>{let s=g("babel",t),a=g("@babel/preset-env",t),p=g("@babel/preset-typescript",t),y=g("@babel/preset-react",t);return window.Babel.transform(e,{filename:"script.tsx",presets:[["env",{modules:!1,...a}],["typescript",p],["react",y]],...s}).code}},extensions:["es","babel"],editor:"script",editorLanguage:"typescript"};var st={name:"bbcode",title:"BBCode",compiler:{url:n+"bbob/bbob.js",factory:()=>async e=>self.BBob.bbobHTML(e,self.BBob.presetHTML5())},extensions:["bbcode","bb"],editor:"markup"};var ot={name:"blockly",title:"Blockly",compiler:{factory:()=>async(e,{options:t})=>t?.blockly?.js||""},extensions:["blockly.xml","xml"],editor:"script",editorLanguage:"xml"};var is=n+"civet/civet.js",nt={name:"civet",title:"Civet",compiler:{url:is,factory:()=>async e=>window.civet.compile(e,{js:!0})},extensions:["civet"],editor:"script",editorLanguage:"coffeescript"};var at={name:"clio",title:"Clio",compiler:{url:G+"compile.js",factory:(e,t)=>(self.importScripts(t+"lang-clio-compiler.a832d7f2e7ce46c3517b100c4491fe54.js"),self.createClioCompiler()),scripts:[G+"exec.js"]},extensions:["clio"],editor:"script",editorLanguage:"coffeescript"};var O=e=>typeof e=="string"?{code:e,info:{}}:e;var W=async(e,t,s,a={},p=self)=>new Promise(y=>{if(!e||!t||!s)return y(O(""));let o=async function(i){let u=i.data.payload;i.data.trigger==="compileInCompiler"&&u?.content===e&&u?.language===t&&(p.removeEventListener("message",o),y(O(u.compiled)))};p.addEventListener("message",o),p.postMessage({type:"compileInCompiler",payload:{content:e,language:t,config:s,options:a}})});var N=(e=location.origin)=>!!(e&&(e.endsWith("livecodes.io")||e.endsWith("livecodes.pages.dev")||e.endsWith("localpen.pages.dev")||e.startsWith("http://127.0.0.1")||e.startsWith("http://localhost")));var ae=Vr(it());var gs="https://livecodes-sandbox.pages.dev";var ie=gs,ct="v8",D={getResultUrl:()=>`${ie}/${ct}/`,getCompilerUrl:()=>`${ie}/${ct}/compiler`,getOrigin:()=>new URL(ie).origin};var pt="https://dpaste.com/",fs="https://dpaste.com/api/v2/",mt="https://api2.livecodes.io/share",dt={getProject:async e=>{try{let t=await fetch(pt+e+".txt");return t.ok?JSON.parse(await t.text()):{}}catch{return{}}},shareProject:async e=>{try{let t=await fetch(fs,{method:"POST",mode:"cors",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"LiveCodes / https://livecodes.io/"},body:`content=${encodeURIComponent(JSON.stringify(e))}&title=${encodeURIComponent(e.title||"")}&syntax=json&expiry_days=365`});return t.ok?(await t.text()).replace(pt,""):""}catch{return""}}},ys={getProject:async e=>{if(e.length<11)return dt.getProject(e);if(!N())return{};try{let t=await fetch(mt+"?id="+e);return t.ok?JSON.parse(await t.text()):{}}catch{return{}}},shareProject:async e=>{if(!N())return"";try{let t=await fetch(mt,{method:"POST",mode:"cors",body:JSON.stringify(e)});return t.ok?t.text():""}catch{return""}}},ii=N()?ys:dt;var A=()=>{let e=Ie;return self.importScripts(e),async t=>({formatted:window.parinfer.parenMode(t).text,cursorOffset:0})},ut={name:"commonlisp",title:"Lisp",longTitle:"Common Lisp",formatter:{factory:A},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[_e,e+"lang-commonlisp-script.85aff84d1f43955ac9a6d44a09319e4a.js"],scriptType:"text/commonlisp",compiledCodeLanguage:"commonlisp"},extensions:["lisp","common-lisp"],editor:"script",editorLanguage:"scheme"};var gt={name:"clojurescript",title:"CLJS (cherry)",longTitle:"ClojureScript (cherry)",formatter:{factory:A},compiler:{url:H+"lib/cherry.umd.js",factory:()=>async(e,{config:t,options:s})=>{let a=self.CherryCljs.compileString(e);return e.includes("#jsx")?(await W(a,"jsx",t,s)).code:a},imports:{"cherry-cljs":H+"index.js","cherry-cljs/cljs.core.js":H+"cljs.core.js","cherry-cljs/lib/clojure.string.js":"lib/clojure.string.js","cherry-cljs/lib/clojure.set.js":"lib/clojure.set.js","cherry-cljs/lib/clojure.walk.js":"lib/clojure.walk.js","squint-cljs":B+"index.js","squint-cljs/core.js":B+"core.js","squint-cljs/string.js":B+"string.js","squint-cljs/src/squint/string.js":B+"src/squint/string.js","squint-cljs/src/squint/set.js":B+"src/squint/set.js"}},extensions:["cljs","clj","cljc","edn","clojure"],editor:"script",editorLanguage:"clojure"};var ft={name:"coffeescript",title:"Coffee",longTitle:"CoffeeScript",compiler:{url:Ue,factory:()=>async(e,{config:t})=>window.CoffeeScript.compile(e,{bare:!0,...g("coffeescript",t)})},extensions:["coffee"],editor:"script"};var hs=n+"jscpp/JSCPP.es5.min.js",yt={name:"cpp",title:"C++",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[hs,e+"lang-cpp-script.1e5263583356866f0f64127eb91f2615.js"],scriptType:"text/cpp",compiledCodeLanguage:"cpp"},extensions:["cpp","c","C","cp","cxx","c++","cppm","ixx","ii","hpp","h"],editor:"script"};var ht={name:"cpp-wasm",title:"C++ (Wasm)",longTitle:"C/C++ (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-cpp-wasm-script.4bdb90c1687ad5624f153fb7f0cfc644.js"],scriptType:"text/cpp",compiledCodeLanguage:"cpp",liveReload:!0},extensions:["wasm.cpp","cppwasm","cwasm","clang.cpp","clang","cpp","c","C","cp","cxx","c++","cppm","ixx","ii","hpp","h"],editor:"script",editorLanguage:"cpp",largeDownload:!0};var xt={name:"csharp-wasm",title:"C# (Wasm)",parser:{name:"java",pluginUrls:[r.java]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-csharp-wasm-script.868efdb8e970b8f22607eed67c7bc790.js"],scriptType:"text/csharp-wasm",compiledCodeLanguage:"csharp-wasm",liveReload:!0},extensions:["cs","csharp","wasm.cs","cs-wasm"],editor:"script",editorLanguage:"csharp",largeDownload:!0};var bt={name:"css",title:"CSS",info:!1,parser:{name:"css",pluginUrls:[r.postcss]},compiler:{factory:()=>async e=>e},extensions:["css"],editor:"style"};var xs=async(e,{baseUrl:t,config:s})=>{let{diagramsCompiler:a}=await import(t+"lang-diagrams-compiler-esm.aa9e8f85aaeda2c0c80b0f00a3ef5ce4.js");return a(e,{config:s})},wt={name:"diagrams",title:"Diagrams",parser:{name:"html",pluginUrls:[r.html]},compiler:{factory:()=>async e=>e||"",runOutsideWorker:xs},extensions:["diagrams","diagram","graph","plt"],editor:"markup",editorLanguage:"html"};var vt={name:"dot",title:"doT",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Ce,factory:(e,t)=>(self.importScripts(t+"lang-dot-compiler.787b3a4d145ce986b7bd6479773a624f.js"),self.createDotCompiler())},extensions:["dot"],editor:"markup",editorLanguage:"html"};var St={name:"ejs",title:"EJS",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:ke,factory:(e,t)=>(self.importScripts(t+"lang-ejs-compiler.76c23bffb3766c76e7a8c72b445ed620.js"),self.createEjsCompiler())},extensions:["ejs"],editor:"markup",editorLanguage:"html"};var jt={name:"eta",title:"Eta",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Te,factory:(e,t)=>(self.importScripts(t+"lang-eta-compiler.784e346037787c2e491855cecb47cf18.js"),self.createEtaCompiler())},extensions:["eta"],editor:"markup",editorLanguage:"html"};var Lt={name:"fennel",title:"Fennel",formatter:{factory:A},compiler:{url:R,factory:(e,t)=>(self.importScripts(t+"lang-fennel-compiler.d1e50e33c517a60ab2ed6c8437e285a4.js"),self.createFennelCompiler()),scripts:[R],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["fnl"],editor:"script",editorLanguage:"scheme"};var Ut={name:"flow",title:"Flow",parser:{name:"babel-flow",pluginUrls:[r.babel,r.html]},compiler:{url:n+"flow-remove-types/flow-remove-types.js",factory:()=>async(e,{config:t})=>window.flowRemoveTypes.transpile(e,{all:!0,...g("flow",t)}).toString()},extensions:["flow"],editor:"script",editorLanguage:"typescript"};var Ct={name:"gleam",title:"Gleam",compiler:{factory:(e,t)=>(self.importScripts(t+"lang-gleam-compiler.618be256b27ee64fdc09aa22926ba12d.js"),self.createGleamCompiler()),loadAsExternalModule:!0,inlineModule:`(async() => {
const main = (await import('./script')).main;
if (typeof main === "function") main();
})();
`},extensions:["gleam"],editor:"script",editorLanguage:"swift"};var kt={name:"go",title:"Go",formatter:{factory:()=>(importScripts(I+"go2js-format.js"),async e=>{if(!e)return{formatted:"",cursorOffset:0};let[t,s]=globalThis.go2jsFormat(e);return s?(console.error(s),{formatted:e,cursorOffset:0}):{formatted:t,cursorOffset:0}})},compiler:{url:I+"go2js-compile.js",factory:()=>e=>new Promise(t=>{if(!e){t("");return}let s=I.endsWith("/")?I.slice(0,-1):I;globalThis.go2jsCompile(e,s,(a,p)=>{a?(console.error(a),t("")):t(p)})})},extensions:["go","golang"],editor:"script"};var Tt={name:"haml",title:"Haml",compiler:{url:n+"clientside-haml-js/haml.js",factory:(e,t)=>(self.importScripts(t+"lang-haml-compiler.01bd0f7511970c9c19a93fa9b7ef2e93.js"),self.createHamlCompiler())},extensions:["haml"],editor:"markup"};var bs=Z+"handlebars.min.js",fc=Z+"handlebars.runtime.min.js",_t={name:"handlebars",title:"Handlebars",parser:{name:"glimmer",pluginUrls:[r.glimmer]},compiler:{url:bs,factory:(e,t)=>(self.importScripts(t+"lang-handlebars-compiler.379609fba0d45706c82e516e1c8469c1.js"),self.createHandlebarsCompiler())},extensions:["hbs","handlebars"],editor:"markup",editorLanguage:"html"};var Pt={name:"html",title:"HTML",info:!1,parser:{name:"html",pluginUrls:[r.html]},compiler:{factory:()=>async e=>e},extensions:["html","htm"],editor:"markup"};var Et={name:"imba",title:"Imba",compiler:{url:Q+"compiler.js",factory:(e,t)=>(self.importScripts(t+"lang-imba-compiler.c5c7b69434893c97f82c4b3e8be7af1e.js"),self.createImbaCompiler()),imports:{imba:Q+"imba.mjs"}},extensions:["imba"],editor:"script"};var Rt={name:"java",title:"Java",parser:{name:"java",pluginUrls:[r.java]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-java-script.82635c292b0ee9bf858442862c4d22fe.js"],scriptType:"text/java",compiledCodeLanguage:"java",liveReload:!0},extensions:["java"],editor:"script",largeDownload:!0};var Mt={name:"javascript",title:"JS",longTitle:"JavaScript",info:!1,parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{factory:()=>async e=>e},extensions:["js"],editor:"script"};var At=`${n}jinja/jinja.js`,It={name:"jinja",title:"Jinja",formatter:{factory:()=>(self.importScripts(At),async(e,t,s)=>({formatted:new self.Jinja.Template(e).format({indent:s?.tabSize||2}),cursorOffset:t}))},compiler:{url:At,factory:(e,t)=>(self.importScripts(t+"lang-jinja-compiler.7460c4e443fb6f1e1e8586f1b9320a36.js"),self.createJinjaCompiler())},extensions:["jinja"],editor:"markup",editorLanguage:"html"};var Bt={name:"jsx",title:"JSX",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:"typescript",extensions:["jsx"],editor:"script",editorLanguage:"javascript"};var Ot={name:"tsx",title:"TSX",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:"typescript",extensions:["tsx"],editor:"script",editorLanguage:"typescript"};var Wt={name:"julia",title:"Julia",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-julia-script.145b3c3d3e7c0cf2debd9fc6c627b282.js"],liveReload:!0,scriptType:"text/julia",compiledCodeLanguage:"julia"},extensions:["jl"],editor:"script",largeDownload:!0};var qt={name:"less",title:"Less",parser:{name:"less",pluginUrls:[r.postcss]},compiler:{url:n+"less/less.js",factory:()=>async(e,{config:t})=>(await window.less.render(e,{...g("less",t)})).css},extensions:["less"],editor:"style"};var Nt={name:"liquid",title:"Liquid",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Pe,factory:(e,t)=>(self.importScripts(t+"lang-liquid-compiler.393ead92b46cb0179f641adb899644b0.js"),self.createLiquidCompiler())},extensions:["liquid","liquidjs"],editor:"markup",editorLanguage:"html"};var Dt={name:"livescript",title:"LiveScript",compiler:{url:n+"livescript/livescript-min.js",factory:()=>async(e,{config:t})=>window.require("livescript").compile(e,{bare:!0,...g("livescript",t)}),scripts:[n+"livescript/prelude-browser-min.js"]},extensions:["ls"],editor:"script"};var ws=n+"lua-fmt/lua-fmt.js",$={factory:()=>(self.importScripts(ws),async(e,t)=>({formatted:self.luaFmt.formatText(e),cursorOffset:t}))},$t={name:"lua",title:"Lua",formatter:$,compiler:{factory:()=>async e=>e,scripts:[R],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["lua"],editor:"script"};var Ft={name:"lua-wasm",title:"Lua (Wasm)",formatter:$,compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[Xe,e+"lang-lua-wasm-script.2a146a5647d5e8031a46a4f407c87fe0.js"],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["wasm.lua","luawasm"],editor:"script",editorLanguage:"lua"};var Ht={name:"malina",title:"Malina.js",parser:{name:"html",pluginUrls:[r.html,r.babel]},compiler:{factory:(e,t)=>(self.importScripts(t+"lang-malina-compiler.45a2bf8cdae3c17bc7ddc032775198f6.js"),self.createMalinaCompiler()),imports:{"malinajs/runtime.js":`${Ee}runtime.js`}},extensions:["xht"],editor:"script"};var Jt={name:"markdown",title:"Markdown",parser:{name:"markdown",pluginUrls:[r.markdown,r.html]},compiler:{url:Re,factory:()=>async(e,{config:t})=>window.marked.parse(e,{...g("markdown",t)})},extensions:["md","markdown","mdown","mkdn"],editor:"markup"};var vs=async(e,{config:t,worker:s})=>new Promise(async a=>{if(!e)return a("");let[p,{default:y}]=await Promise.all([import(n+"mdx/mdx.js"),import(n+"remark-gfm/remark-gfm.js")]),o=(await p.compile(e,{remarkPlugins:[y],...g("mdx",t)})).value,u=(b=>b.replace(/, {[^}]*} = _components/g,"").replace(/const {[^:]*} = props.components[^;]*;/g,""))(o),m=`import React from "react";
import { createRoot } from "react-dom/client";
${re(u,!1)}
createRoot(document.querySelector('#__livecodes_mdx_root__')).render(<MDXContent />,);
`,d=(await W(m,"jsx",t,{},s)).code;a(`<div id="__livecodes_mdx_root__"></div><script type="module">${d}<\/script>`)}),Vt={name:"mdx",title:"MDX",parser:{name:"markdown",pluginUrls:[r.markdown,r.html]},compiler:{factory:()=>async e=>e,runOutsideWorker:vs,compiledCodeLanguage:"javascript"},extensions:["mdx"],editor:"markup",editorLanguage:"markdown"};var zt={name:"mjml",title:"MJML",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Me,factory:()=>async(e,{config:t})=>{if(!e.trim())return"";let{html:s,errors:a}=self.mjml(e,g("mjml",t));return a?.forEach(p=>{console.warn(p.formattedMessage)}),s}},extensions:["mjml"],editor:"markup",editorLanguage:"xml"};var Kt={name:"mustache",title:"Mustache",parser:{name:"glimmer",pluginUrls:[r.glimmer]},compiler:{url:Ae,factory:(e,t)=>(self.importScripts(t+"lang-mustache-compiler.a424c09f7c71713de83052878738af3a.js"),self.createMustacheCompiler())},extensions:["mustache"],editor:"markup",editorLanguage:"html"};var Ss=Y+"nunjucks.min.js",Zp=Y+"nunjucks-slim.min.js",Xt={name:"nunjucks",title:"Nunjucks",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Ss,factory:(e,t)=>(self.importScripts(t+"lang-nunjucks-compiler.21cb34f6735421a4d66b5faa1204e975.js"),self.createNunjucksCompiler())},extensions:["njk","nunjucks"],editor:"markup",editorLanguage:"html"};var Gt={name:"ocaml",title:"OCaml",compiler:"rescript",extensions:["ml","mli"],editor:"script",editorLanguage:"javascript"};var Zt={name:"perl",title:"Perl",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[n+"perlito/perlito5.min.js",e+"lang-perl-script.d52ac95fd51fa6f4617c22ec2574a87d.js"],scriptType:"text/perl"},extensions:["pl","pm"],editor:"script"};var Qt={name:"php",title:"PHP",parser:{name:"php",pluginUrls:[r.php]},compiler:{factory:()=>async e=>(e=e.trim(),e.startsWith("<?php")&&(e=e.replace("<?php","/* <?php */"),e.endsWith("?>")&&(e=e.replace("?>","/* ?> */"))),e),scripts:[He],deferScripts:!0,scriptType:"text/x-uniter-php",compiledCodeLanguage:"php"},extensions:["php"],editor:"script"};var Yt={name:"php-wasm",title:"PHP (Wasm)",parser:{name:"php",pluginUrls:[r.php]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[n+"php-wasm/php-wasm.js",e+"lang-php-wasm-script.94b7508d299d33857fb195f7a1adb898.js"],scriptType:"text/php-wasm",compiledCodeLanguage:"php"},extensions:["wasm.php","phpwasm"],editor:"script",editorLanguage:"php"};var js=async(e,{baseUrl:t,config:s})=>{let{pgSqlCompiler:a}=await import(t+"lang-postgresql-compiler-esm.6545a5cef6703b1764ac56bee22b14d8.js");return a(e,{baseUrl:t,config:s})},er={name:"postgresql",title:"PostgreSQL",formatter:{factory:()=>(importScripts(J),async e=>({formatted:await self.sqlFormatter.format(e,{linesBetweenQueries:2}),cursorOffset:0}))},compiler:{factory:()=>async e=>e,runOutsideWorker:js,scripts:({baseUrl:e})=>[e+"lang-sql-script.0fda13b68543df41c3693dcb15145df0.js"],scriptType:"application/json",compiledCodeLanguage:"json"},extensions:["pg.sql","pgsql","pgsql.sql","pgsql","pg","pglite","pglite.sql","postgresql","postgres","postgre.sql","postgresql.sql"],editor:"script",editorLanguage:"sql"};var tr={name:"prolog",title:"Prolog",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[T+"core.js",T+"charsio.js",T+"dom.js",T+"format.js",T+"js.js",T+"lists.js",T+"os.js",T+"promises.js",T+"random.js",T+"statistics.js",e+"lang-prolog-script.b3fee5e86ac565f479d689f252f2b4d4.js"],scriptType:"text/prolog",compiledCodeLanguage:"prolog"},extensions:["prolog.pl","prolog"],editor:"script"};var rr={name:"pug",title:"Pug",parser:{name:"pug",pluginUrls:[r.pug]},compiler:{url:n+"pug/pug.min.js",factory:(e,t)=>(self.importScripts(t+"lang-pug-compiler.61645362532461bc77195784b673d3fd.js"),self.createPugCompiler())},extensions:["pug","jade"],editor:"markup"};var Ls=X+"brython.min.js",Us=X+"brython_stdlib.js",sr={name:"python",title:"Python",compiler:{factory:()=>async e=>e,scripts:({compiled:e,config:t})=>{let{autoloadStdlib:s}=g("python",t),a=/^(?:from[ ]+(\S+)[ ]+)?import[ ]+(\S+)(?:[ ]+as[ ]+\S+)?[ ]*$/gm,p=s!==!1&&e.match(a)?[Us]:[];return[Ls,...p]},scriptType:"text/python",compiledCodeLanguage:"python"},extensions:["py"],editor:"script"};var or={name:"python-wasm",title:"Py (Wasm)",longTitle:"Python (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-python-wasm-script.244b165fea07788db6e85b872a834a24.js"],liveReload:!0,scriptType:"text/python",compiledCodeLanguage:"python"},extensions:["wasm.py","py3","pyodide","py-wasm","pythonwasm","pywasm"],editor:"script",editorLanguage:"python",largeDownload:!0};var nr={name:"r",title:"R",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-r-script-esm.b65480d355a294472ad00aef7c3f1ecf.js"],inlineScript:`
livecodes.r = livecodes.r || {config: {}};
// reset config before next load
livecodes.r.config = {};
livecodes.r.evaluated = new Promise((resolve) => {
addEventListener('load', async () => {
await livecodes.r.loaded;
if (livecodes.r.config?.autoEvaluate !== false) {
await livecodes.r.run();
resolve();
}
});
});
`,liveReload:!0,scriptType:"text/r",compiledCodeLanguage:"r"},extensions:["r","rlang","rstats","r-wasm"],editor:"script",largeDownload:!0};var ar={name:"react",title:"React",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{dependencies:["babel"],url:n+"babel-plugin-react-compiler/babel-plugin-react-compiler.js",factory:()=>async(e,{config:t,language:s})=>{let a=g("babel",t),p=g("@babel/preset-env",t),y=g("@babel/preset-typescript",t),o=g("@babel/preset-react",t),i=g("babel-plugin-react-compiler",t);return window.Babel.transform(e,{filename:"script.tsx",presets:[["env",{modules:!1,...p}],...s==="react-tsx"?["typescript",y]:[],["react",{runtime:"automatic",...o}]],plugins:[[window.reactCompiler.reactCompiler,i]],...a}).code}},extensions:["react.jsx","react-jsx"],editor:"script",editorLanguage:"javascript"};var ir={name:"react-tsx",title:"React (TSX)",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:"react",extensions:["react.tsx"],editor:"script",editorLanguage:"typescript"};var Cs=(e,t)=>{let s={...g("typescript",t),...g(t.script.language,t)};return!!(s.jsx||s.jsxFactory||new RegExp(/\/\*\*[\s\*]*@jsx\s/g).test(e))},le={target:"es2020",jsx:"react",allowUmdGlobalAccess:!0,esModuleInterop:!0},lr={name:"typescript",title:"TS",longTitle:"TypeScript",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:{url:Fe,factory:()=>async(e,{config:t})=>window.ts.transpile(e,{...le,...["jsx","tsx"].includes(t.script.language)&&!Cs(e,t)?{jsx:"react-jsx"}:{},...g("typescript",t),...g(t.script.language,t)})},extensions:["ts","typescript"],editor:"script"};var cr=n+"react-native-web/react-native-web.js",pr={name:"react-native",title:"RN",longTitle:"React Native",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{dependencies:["typescript"],factory:()=>async(e,{config:t,language:s})=>window.ts.transpile(e,{...le,jsx:"react-jsx",...g("typescript",t),...g(s,t)}),imports:{react:cr,"react-native":cr}},extensions:["react-native.jsx"],editor:"script",editorLanguage:"javascript"};var mr={name:"react-native-tsx",title:"RN (TSX)",longTitle:"React Native (TSX)",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:"react-native",extensions:["react-native.tsx"],editor:"script",editorLanguage:"typescript"};var ks=async(e,{baseUrl:t,language:s})=>{let{rescriptCompiler:a}=await import(t+"lang-rescript-compiler-esm.b23bcabef7b65641eb53cfa5b118f03e.js");return a(e,{baseUrl:t,language:s})},ce=(e,t)=>(importScripts(e+"lang-rescript-formatter.ddbe9ab24da560d072e9e8b2949ea790.js"),self.createRescriptFormatter(e,t)),dr={name:"rescript",title:"ReScript",formatter:{factory:ce},compiler:{factory:()=>async e=>e,runOutsideWorker:ks,scriptType:"module"},extensions:["res","resi"],editor:"script",editorLanguage:"javascript"};var ur={name:"reason",title:"Reason",formatter:{factory:ce},compiler:"rescript",extensions:["re","rei"],editor:"script",editorLanguage:"javascript"};var gr={name:"richtext",title:"Rich Text",longTitle:"Rich Text Editor",compiler:{factory:()=>async(e,{config:t})=>t.markup.content||"",styles:["quill.8e9d74c74d2c8aaa5d849678c215cf7e.css"]},extensions:["rte","rte.html","rich"],editor:"markup",editorLanguage:"html"};var Ts=ee+"riot+compiler.min.js",_s=ee+"riot.min.js",fr={name:"riot",title:"Riot.js",parser:{name:"html",pluginUrls:[r.html,r.babel]},compiler:{url:Ts,factory:(e,t)=>(self.importScripts(t+"lang-riot-compiler.53d553538a398e85d2f64fb7b21d9ff5.js"),self.createRiotCompiler()),scripts:[_s],scriptType:"module"},extensions:["riot","riotjs"],editor:"script"};var Ps=(e,t={})=>Array.from(new Set([...e.matchAll(new RegExp(/^\s*self\.\$require\("(\S+)"\);/gm))].map(s=>s[1]).map(s=>s.split("/")[0]).filter(s=>t.hasOwnProperty(s)||s!=="opal").map(s=>t[s]||`${q+s}.min.js`))),yr={name:"ruby",title:"Ruby",compiler:{url:q+"opal.min.js",factory:()=>(importScripts(q+"opal-parser.min.js"),self.Opal.config.unsupported_features_severity="ignore",self.Opal.load("opal-parser"),async(e,{config:t})=>{let{autoloadStdlib:s,requireMap:a,...p}=g("ruby",t),y=e.includes("$0")?`$0 = __FILE__
`:"";return self.Opal.compile(y+e,p)}),scripts:({compiled:e,config:t})=>{let{autoloadStdlib:s,requireMap:a}=g("ruby",t),p=Ps(e,a),y=s!==!1?p:[];return[q+"opal.min.js",...y]}},extensions:["rb"],editor:"script"};var hr={name:"ruby-wasm",title:"Ruby (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[We,e+"lang-ruby-wasm-script.a7f7c94266fa081bf59d3f75b666e99f.js"],liveReload:!0,scriptType:"text/ruby-wasm",compiledCodeLanguage:"ruby"},extensions:["wasm.rb","rubywasm"],editor:"script",editorLanguage:"ruby",largeDownload:!0};var xr={name:"scheme",title:"Scheme",formatter:{factory:A},compiler:{factory:()=>async e=>e,scripts:[je],scriptType:"text/biwascheme",compiledCodeLanguage:"scheme"},extensions:["scm"],editor:"script"};var br={name:"sass",title:"Sass",compiler:"scss",extensions:["sass"],editor:"style"};var wr={name:"scss",title:"SCSS",parser:{name:"scss",pluginUrls:[r.postcss]},compiler:{url:n+"sass/sass.js",factory:(e,t)=>(self.importScripts(t+"lang-scss-compiler.142208576c5da932631999efaf07ffaa.js"),self.createScssCompiler())},extensions:["scss"],editor:"style"};var vr={name:"solid",title:"Solid",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{dependencies:["babel"],url:n+"babel-preset-solid/babel-preset-solid.js",factory:(e,t)=>(self.importScripts(t+"lang-solid-compiler.6ade5d553f3b537b0bbb98d536f2c513.js"),self.createSolidCompiler())},extensions:["solid.jsx"],editor:"script",editorLanguage:"javascript"};var Sr={name:"solid.tsx",title:"Solid (TS)",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:"solid",extensions:["solid.tsx"],editor:"script",editorLanguage:"typescript"};var Es="application/json",jr={name:"sql",title:"SQL",formatter:{factory:()=>(importScripts(J),async e=>({formatted:await self.sqlFormatter.format(e,{linesBetweenQueries:2}),cursorOffset:0}))},compiler:{url:qe+"sql-wasm.js",factory:(e,t)=>(self.importScripts(t+"lang-sql-compiler.be3194e4332711421f17ac09851f498d.js"),self.createSqlCompiler()),scripts:({baseUrl:e})=>[e+"lang-sql-script.0fda13b68543df41c3693dcb15145df0.js"],scriptType:Es,compiledCodeLanguage:"json"},extensions:["sql","sqlite","sqlite3"],editor:"script"};var Lr={name:"stencil",title:"Stencil",parser:{name:"babel-ts",pluginUrls:[r.babel,r.html]},compiler:{url:Ne,factory:()=>async(e,{config:t})=>(await window.stencil.transpile(e,{sourceMap:!1,target:"es2019",...g("stencil",t)})).code,types:{"@stencil/core":{url:n+"types/stencil-core.d.ts",declareAsModule:!1}}},extensions:["stencil.tsx"],editor:"script",editorLanguage:"typescript"};var Ur={name:"stylis",title:"Stylis",compiler:{url:De,factory:()=>async e=>{let{compile:t,serialize:s,stringify:a,middleware:p,prefixer:y}=window.stylis;return s(t(e),p([y,a]))}},extensions:["stylis"],editor:"style",editorLanguage:"scss"};var Cr={name:"stylus",title:"Stylus",compiler:{url:n+"stylus/stylus.min.js",factory:()=>async e=>window.stylus.render(e)},extensions:["styl"],editor:"style"};var kr={name:"sucrase",title:"Sucrase",parser:{name:"babel",pluginUrls:[r.babel,r.html]},compiler:{url:n+"sucrase/sucrase.js",factory:()=>async(e,{config:t})=>window.sucrase.transform(e,{transforms:["jsx","typescript"],...g("sucrase",t)}).code},extensions:["sucrase"],editor:"script",editorLanguage:"typescript"};var pe={name:"svelte",title:"Svelte",parser:{name:"html",pluginUrls:[r.html,r.babel]},compiler:{url:U+"compiler/index.js",factory:(e,t)=>(self.importScripts(t+"lang-svelte-compiler.1f96fadc857fa675003c5e0896b33176.js"),self.createSvelteCompiler()),imports:{svelte:U+"src/index-client.js","svelte/animate":U+"src/animate/index.js","svelte/easing":U+"src/easing/index.js","svelte/internal":U+"src/internal/index.js","svelte/internal/client":U+"src/internal/client/index.js","svelte/internal/disclose-version":U+"src/internal/disclose-version.js","svelte/internal/flags/legacy":U+"src/internal/flags/legacy.js","svelte/internal/server":U+"src/internal/server/index.js","svelte/legacy":U+"src/legacy/legacy-client.js","svelte/motion":U+"src/motion/index.js","svelte/reactivity":U+"src/reactivity/index-client.js","svelte/reactivity/window":U+"src/reactivity/window/index.js","svelte/server":U+"src/server/index.js","svelte/store":U+"src/store/index-client.js","svelte/transition":U+"src/transition/index.js","svelte/events":U+"src/events/index.js","esm-env":"https://esm.sh/esm-env"},inlineScript:'globalThis.process = { env: { NODE_ENV: "production" } };'},extensions:["svelte"],editor:"script"},Tr={...pe,name:"svelte-app",compiler:"svelte",extensions:["app.svelte"],editor:"markup",editorLanguage:"html"};var _r={name:"tcl",title:"Tcl",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[Oe,e+"lang-tcl-script.13e0dc2896459f7fde59003e695128f1.js"],scriptType:"text/tcl",compiledCodeLanguage:"tcl"},extensions:["tcl"],editor:"script"};var Pr={name:"teal",title:"Teal",formatter:$,compiler:{url:R,factory:(e,t)=>(self.importScripts(t+"lang-teal-compiler.5e899632e64aeb99d08d3e86f87130cb.js"),self.createTealCompiler()),scripts:[R],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["tl"],editor:"script",editorLanguage:"lua"};var Er={name:"twig",title:"Twig",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:$e,factory:(e,t)=>(self.importScripts(t+"lang-twig-compiler.ed89f9f78311b48e27359c1852c0d9b9.js"),self.createTwigCompiler())},extensions:["twig"],editor:"markup",editorLanguage:"html"};var Rr={name:"vento",title:"Vento",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:n+"vento/vento.js",factory:(e,t)=>(self.importScripts(t+"lang-vento-compiler.358ef2bdf9c0cab04c4b962547117894.js"),self.createVentoCompiler())},extensions:["vto","vento"],editor:"markup",editorLanguage:"html"};var Rs=n+"vue-compiler-sfc/vue-compiler-sfc.js",me={name:"vue",title:"Vue",longTitle:"Vue SFC",parser:{name:"html",pluginUrls:[r.html]},compiler:{url:Rs,factory:(e,t)=>(self.importScripts(t+"lang-vue-compiler.b74487d290c184058a72b3cb69841ddb.js"),self.createVueCompiler()),imports:{vue:Je,"livecodes/vue":Ve}},extensions:["vue","vue3"],editor:"script",editorLanguage:"html"},Mr={...me,name:"vue-app",compiler:"vue",extensions:["app.vue"],editor:"markup",editorLanguage:"html"};var Ms=ze+"vue2-sfc-loader.js",Ar={name:"vue2",title:"Vue 2",longTitle:"Vue 2 SFC",parser:{name:"html",pluginUrls:[r.html]},compiler:{factory:(e,t)=>(self.importScripts(t+"lang-vue2-compiler.e04e344ed772dff1f3cf93633a6fac26.js"),self.createVue2Compiler()),scripts:[te,Ms],imports:{vue:te+"/dist/vue.runtime.esm-browser.prod.js"}},extensions:["vue2"],editor:"script",editorLanguage:"html"};var As=n+"wast-refmt/wast-refmt.js",Is="application/wasm-uint8",Ir={name:"wat",title:"WAT",longTitle:"WebAssembly Text",formatter:{factory:()=>(importScripts(As),async e=>{let t=e;try{t=self.wastRefmt.format(e)}catch(s){console.warn("failed parsing WAT",s)}return{formatted:t,cursorOffset:0}})},compiler:{url:Ke,factory:(e,t)=>(self.importScripts(t+"lang-wat-compiler.9028f4a79f4c0eee08624aa3dc049fe5.js"),self.createWatCompiler()),scripts:({baseUrl:e})=>[e+"lang-wat-script.22a1f4a3b7bce7bfb16db8c2f422372f.js"],scriptType:Is,compiledCodeLanguage:"Binary"},extensions:["wat","wast","webassembly","wasm"],editor:"script"};var V=[Pt,Jt,Vt,tt,rr,Ye,Tt,Kt,_t,St,jt,Xt,Nt,vt,Er,Rr,Ge,It,st,zt,wt,gr,bt,wr,br,qt,Cr,Ur,Mt,lr,Ut,rt,kr,Bt,Ot,ar,ir,pr,mr,me,Ar,Mr,pe,Tr,Lr,vr,Sr,fr,Ht,ft,Dt,nt,at,Et,dr,ur,Gt,sr,or,nr,yr,hr,kt,Qt,Yt,yt,ht,Rt,xt,Zt,$t,Ft,Pr,Lt,Wt,xr,ut,gt,Ct,_r,et,Ir,jr,er,tr,ot];var Br=`<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Blockly Editor</title><style>body,html{margin:0;padding:0;height:100%}#blocklyDiv{width:100%;height:100%}</style><script src="{{CDN_URL}}blockly.min.js"><\/script><!-- <script src="https://cdn.jsdelivr.net/npm/@live-codes/blockly-utils@0.1.0/src/custom-dialog.js"><\/script> --></head><body><div id="blocklyDiv"></div><xml xmlns="https://developers.google.com/blockly/xml" id="toolbox" style="display:none"><category name="Logic" colour="#5b80a5"><block type="controls_if"></block><block type="logic_compare"><field name="OP">EQ</field></block><block type="logic_operation"><field name="OP">AND</field></block><block type="logic_negate"></block><block type="logic_boolean"><field name="BOOL">TRUE</field></block><block type="logic_null"></block><block type="logic_ternary"></block></category><category name="Loops" colour="#5ba55b"><block type="controls_repeat_ext"><value name="TIMES"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="controls_whileUntil"><field name="MODE">WHILE</field></block><block type="controls_for"><field name="VAR" id="mhPqYhZH,S)tSOh0bq]0">i</field><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">10</field></shadow></value><value name="BY"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="controls_forEach"><field name="VAR" id="P*OGeY|!5)*O-0D2XaR?">j</field></block><block type="controls_flow_statements"><field name="FLOW">BREAK</field></block></category><category name="Math" colour="#5b67a5"><block type="math_number"><field name="NUM">0</field></block><block type="math_arithmetic"><field name="OP">ADD</field><value name="A"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="math_single"><field name="OP">ROOT</field><value name="NUM"><shadow type="math_number"><field name="NUM">9</field></shadow></value></block><block type="math_trig"><field name="OP">SIN</field><value name="NUM"><shadow type="math_number"><field name="NUM">45</field></shadow></value></block><block type="math_constant"><field name="CONSTANT">PI</field></block><block type="math_number_property"><mutation divisor_input="false"></mutation><field name="PROPERTY">EVEN</field><value name="NUMBER_TO_CHECK"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="math_round"><field name="OP">ROUND</field><value name="NUM"><shadow type="math_number"><field name="NUM">3.1</field></shadow></value></block><block type="math_on_list"><mutation op="SUM"></mutation><field name="OP">SUM</field></block><block type="math_modulo"><value name="DIVIDEND"><shadow type="math_number"><field name="NUM">64</field></shadow></value><value name="DIVISOR"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="math_constrain"><value name="VALUE"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="LOW"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="HIGH"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_int"><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_float"></block></category><category name="Text" colour="#5ba58c"><block type="text"><field name="TEXT"></field></block><block type="text_join"><mutation items="2"></mutation></block><block type="text_append"><field name="VAR" id="{c*$G-wO_K85DOwAUN)0">item</field><value name="TEXT"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="text_length"><value name="VALUE"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_isEmpty"><value name="VALUE"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="text_indexOf"><field name="END">FIRST</field><value name="VALUE"><block type="variables_get"><field name="VAR" id="56^Bs:W6[;bSlf.n%D.0">text</field></block></value><value name="FIND"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_charAt"><mutation at="true"></mutation><field name="WHERE">FROM_START</field><value name="VALUE"><block type="variables_get"><field name="VAR" id="56^Bs:W6[;bSlf.n%D.0">text</field></block></value></block><block type="text_getSubstring"><mutation at1="true" at2="true"></mutation><field name="WHERE1">FROM_START</field><field name="WHERE2">FROM_START</field><value name="STRING"><block type="variables_get"><field name="VAR" id="56^Bs:W6[;bSlf.n%D.0">text</field></block></value></block><block type="text_changeCase"><field name="CASE">UPPERCASE</field><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_trim"><field name="MODE">BOTH</field><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_print"><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_prompt_ext"><mutation type="TEXT"></mutation><field name="TYPE">TEXT</field><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block></category><category name="Lists" colour="#745ba5"><block type="lists_create_with"><mutation items="0"></mutation></block><block type="lists_create_with"><mutation items="3"></mutation></block><block type="lists_repeat"><value name="NUM"><shadow type="math_number"><field name="NUM">5</field></shadow></value></block><block type="lists_length"></block><block type="lists_isEmpty"></block><block type="lists_indexOf"><field name="END">FIRST</field><value name="VALUE"><block type="variables_get"><field name="VAR" id="=[3|%qk6D5qw(*9IL-+N">list</field></block></value></block><block type="lists_getIndex"><mutation statement="false" at="true"></mutation><field name="MODE">GET</field><field name="WHERE">FROM_START</field><value name="VALUE"><block type="variables_get"><field name="VAR" id="=[3|%qk6D5qw(*9IL-+N">list</field></block></value></block><block type="lists_setIndex"><mutation at="true"></mutation><field name="MODE">SET</field><field name="WHERE">FROM_START</field><value name="LIST"><block type="variables_get"><field name="VAR" id="=[3|%qk6D5qw(*9IL-+N">list</field></block></value></block><block type="lists_getSublist"><mutation at1="true" at2="true"></mutation><field name="WHERE1">FROM_START</field><field name="WHERE2">FROM_START</field><value name="LIST"><block type="variables_get"><field name="VAR" id="=[3|%qk6D5qw(*9IL-+N">list</field></block></value></block><block type="lists_split"><mutation mode="SPLIT"></mutation><field name="MODE">SPLIT</field><value name="DELIM"><shadow type="text"><field name="TEXT">,</field></shadow></value></block><block type="lists_sort"><field name="TYPE">NUMERIC</field><field name="DIRECTION">1</field></block></category><category name="Colour" colour="#a5745b"><block type="colour_picker"><field name="COLOUR">#ff0000</field></block><block type="colour_random"></block><block type="colour_rgb"><value name="RED"><shadow type="math_number"><field name="NUM">100</field></shadow></value><value name="GREEN"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="BLUE"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="colour_blend"><value name="COLOUR1"><shadow type="colour_picker"><field name="COLOUR">#ff0000</field></shadow></value><value name="COLOUR2"><shadow type="colour_picker"><field name="COLOUR">#3333ff</field></shadow></value><value name="RATIO"><shadow type="math_number"><field name="NUM">0.5</field></shadow></value></block></category><sep></sep><category name="Variables" colour="#a55b80" custom="VARIABLE"></category><category name="Functions" colour="#995ba5" custom="PROCEDURE"></category><sep></sep></xml><!-- startBlocks placeholder --><script>!function(){var o=Blockly.Theme.defineTheme("dark",{base:Blockly.Themes.Classic,componentStyles:{workspaceBackgroundColour:"#1e1e1e",toolboxBackgroundColour:"blackBackground",toolboxForegroundColour:"#fff",flyoutBackgroundColour:"#252526",flyoutForegroundColour:"#ccc",flyoutOpacity:1,scrollbarColour:"#797979",insertionMarkerColour:"#fff",insertionMarkerOpacity:.3,scrollbarOpacity:.4,cursorColour:"#d0d0d0",blackBackground:"#333"}}),e={light:Blockly.Themes.Classic,dark:o},t=Blockly.inject("blocklyDiv",{zoom:{controls:!0,wheel:!1,startScale:.7,maxScale:2,minScale:.3,scaleSpeed:1.2,pinch:!0},trashcan:!0,renderer:"zelos",theme:e["{{theme}}"],media:"{{CDN_URL}}media/",toolbox:document.getElementById("toolbox")});function a(){window.LoopTrap=1e3,Blockly.JavaScript.INFINITE_LOOP_TRAP='if (--window.LoopTrap == 0) throw "Infinite loop.";\\n';var o=Blockly.JavaScript.workspaceToCode(t),e=Blockly.Xml.workspaceToDom(t),a=Blockly.Xml.domToPrettyText(e);Blockly.JavaScript.INFINITE_LOOP_TRAP=null,parent.postMessage({type:"blocklyCode",payload:{xml:a,js:o}},"*")}window.addEventListener("message",(function(o){o.data.result?(document.write(o.data.result),document.close()):"updateCode"===o.data.type?a():"setTheme"===o.data.type&&t.setTheme(e[o.data.payload])}));var l=function(o){Blockly.svgResize(t)};window.addEventListener("resize",l,!1),document.addEventListener("keydown",(function(o){o.shiftKey&&o.altKey&&"F"===o.key&&(t.markFocused(),t.beginCanvasTransition(),t.zoomCenter(0),t.scrollCenter(),setTimeout((function(){t.endCanvasTransition()}),500)),o.ctrlKey&&o.key})),window.addEventListener("load",(()=>{!function(o){if(o){t.clear();var e=Blockly.utils.xml.textToDom(o);Blockly.Xml.domToWorkspace(e,t)}}(document.querySelector("#startBlocksContainer")?.innerHTML||""),parent.postMessage({type:"blocklyLoaded",payload:!0},"*"),t.addChangeListener(a),a(),l()}))}()<\/script></body></html>`;var K=!1,_={src:"",customScripts:[],customXml:[]},F=()=>document.querySelector("#blockly-frame"),Or=e=>"..."+JSON.stringify({...ne("blockly",e),...e.readonly?{readOnly:!0}:{}})+",",Wr=async(e,t)=>{let a=new DOMParser().parseFromString(e,"text/html"),p=Array.from(a.querySelectorAll('script[type="blockly/script"], script[data-type="blockly/script"]')),y=Array.from(a.querySelectorAll('xml[type="blockly/xml"], xml[data-type="blockly/xml"]')),o=p.map(S=>S.src||S.dataset.src||S.innerHTML),i=y.map(S=>S.src||S.dataset.src||S.innerHTML),u=Or(t),m=JSON.stringify([o,i,u]);if(_.src===m)return[_.customScripts,_.customXml];K=!1;let d=async S=>Promise.all(S.map(async k=>{let v=k.src||k.dataset.src;return v?fetch(v).then(L=>L.text()):k.innerHTML})),[b,j]=await Promise.all([d(p),d(y)]);return _={..._,src:m,customScripts:b,customXml:j},[b,j]},Os=Ze((e,t)=>{let{xml:s,js:a}=t;_.xml=s,_.js!==a&&(_.js=a,e.script.setValue(s))},500),Ws=async({baseUrl:e,editors:t,config:s,html:a,eventsManager:p})=>{let[y,o]=await Wr(a,s);if(K)return;let i=()=>Br.replace(/{{CDN_URL}}/g,Le).replace("{{theme}}",s.theme).replace("// {{custom_config}}",Or(s)).replace("<!-- startBlocks placeholder -->",`<div id="startBlocksContainer" style="display:none;">${t.script.getValue()}</div>
${y?.map(u=>"<script>"+u+"<\/script>").join("/n")}
<script>
if (typeof window.editToolbox !== 'function') {
window.editToolbox = (toolboxElement, customXml) => {
const domParser = new DOMParser();
customXml.forEach(xml => {
const dom = domParser.parseFromString(xml, 'text/xml');
toolboxElement.innerHTML += dom.documentElement.innerHTML;
})
}
}
window.editToolbox(document.getElementById('toolbox'), [${o?.map(u=>"`"+u.replace(/\`/g,"\\`")+"`").join(", ")}]);
<\/script>
<script src="${e}custom-editor-utils.93da371294edff0056c5505aaf0a9ce5.js"><\/script>
`);await new Promise(u=>{let m=document.querySelector("#blockly"),d=F(),b=()=>{p.addEventListener(window,"message",j=>{if(!(j.source!==F()?.contentWindow||!["blocklyCode","blocklyLoaded"].includes(j.data.type))){if(j.data.type==="blocklyLoaded"){K=!0,p.removeEventListener(d,"load",b),qs(s.theme),Ns(),u("loaded");return}Os(t,j.data.payload)}}),F()?.contentWindow?.postMessage({result:i()},"*")};d?b():(d=document.createElement("iframe"),d.name="blockly",d.id="blockly-frame",d.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts"),p.addEventListener(d,"load",b),d.src=D.getResultUrl(),m.appendChild(d))})},Zf=async({baseUrl:e,editors:t,config:s,html:a,eventsManager:p})=>s.script.language!=="blockly"?{}:(await Wr(a,s),(!K||_.js==null)&&await Ws({baseUrl:e,config:s,editors:t,html:a,eventsManager:p}),{xml:_.xml,js:_.js}),qs=e=>{F()?.contentWindow?.postMessage({type:"setTheme",payload:e},D.getOrigin())},Ns=()=>{F()?.contentWindow?.postMessage({type:"updateCode"},D.getOrigin())};export{Zf as getBlocklyContent,qs as setBlocklyTheme,Ws as showBlockly};