@epic-web/workshop-app 4.24.0 → 4.24.1

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.
@@ -0,0 +1,2 @@
1
+ import{c as j,j as e}from"./index-1cKOJFpX.js";import{I as p}from"./misc-BvHlNnqL.js";import{S as b}from"./tooltip-fa2eC7LQ.js";import{a as f}from"./progress-Dn5gs-vs.js";import{u as g,L as i,F as a}from"./components-CME-nGId.js";import"./pe-CUZaIcdt.js";const C={getSitemapEntries:()=>null},L=({matches:s})=>{var r;const l=(r=s.find(c=>c.id==="root"))==null?void 0:r.data;return[{title:`👷 | ${l==null?void 0:l.workshopTitle}`}]};function N(s,l){return s.type==="unknown"&&l.type==="unknown"?0:s.type==="unknown"?-1:l.type==="unknown"?1:0}function S(s){switch(s.type){case"workshop-instructions":return"/";case"workshop-finished":return"/finished";case"instructions":return`/${s.exerciseNumber.toString().padStart(2,"0")}`;case"step":return`/${s.exerciseNumber.toString().padStart(2,"0")}/${s.stepNumber.toString().padStart(2,"0")}`;case"finished":return`/${s.exerciseNumber.toString().padStart(2,"0")}/finished`;default:return""}}function T(){var o,d;const s=g(),l=j(),r=f(),c=((o=l.formData)==null?void 0:o.get("intent"))==="inspect",x=((d=l.formData)==null?void 0:d.get("intent"))==="stop-inspect",u={completed:"bg-blue-500",incomplete:"bg-yellow-500"};return e.jsxs("main",{className:"container mx-auto mt-8",children:[e.jsx("h1",{className:"text-4xl font-bold",children:"Admin"}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("nav",{children:e.jsxs("ul",{className:"flex gap-3",children:[e.jsx("li",{children:e.jsx(i,{className:"underline",to:"/",children:"Home"})}),e.jsx("li",{children:e.jsx(i,{className:"underline",to:"/diff",children:"Diff Viewer"})})]})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Progress"}),r?e.jsx("ul",{className:"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:r.sort(N).map(n=>{const t=n.epicCompletedAt?"completed":"incomplete",h=[n.epicLessonSlug,n.epicCompletedAt?`(${n.epicCompletedAt})`:null].filter(Boolean).join(" ");return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-3 w-3 rounded-full ${u[t]}`,title:t}),n.type==="unknown"?e.jsxs("span",{className:"flex items-center gap-1",children:[h,e.jsx("span",{className:"text-red-500",children:e.jsx(b,{content:"This video is in the workshop on EpicWeb.dev, but not in the local workshop.",children:e.jsx(p,{name:"Close"})})})]}):e.jsx(i,{to:S(n),children:h}),e.jsx(i,{to:n.epicLessonUrl,children:e.jsx(p,{name:"ExternalLink"})})]},n.epicLessonSlug)})}):e.jsx("p",{children:"No progress data"})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Commands"}),e.jsxs("ul",{className:"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("li",{children:e.jsx(a,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-caches",children:"Clear local caches"})})}),e.jsx("li",{children:e.jsx(a,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-data",children:"Clear all local data (including auth data)"})})}),e.jsx("li",{children:s.inspectorRunning?e.jsx(a,{method:"POST",children:e.jsx("button",{name:"intent",value:"stop-inspect",children:c?"Stopping inspector...":"Stop inspector"})}):e.jsx(a,{method:"POST",children:e.jsx("button",{name:"intent",value:"inspect",children:x?"Starting inspector...":"Start inspector"})})})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Apps"}),e.jsx("ul",{className:"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:s.apps.map(n=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[s.processes[n.name]?e.jsx(m,{status:"running"}):e.jsx(m,{status:"stopped"}),n.name]},n.name))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(s.processes).map(([n,t])=>e.jsx("li",{children:e.jsxs("span",{children:[n," - Port: ",t.port," - PID ",t.pid," -"," ",t.color]})},n))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Test Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(s.testProcesses).map(([n,t])=>e.jsx("li",{children:e.jsxs("span",{children:[n," - PID ",t.pid," - Exit code: ",t.exitCode]})},n))})]})]})]})}function m({status:s}){const l={running:{pinger:"bg-green-400",circle:"bg-green-500"},starting:{pinger:"bg-sky-400",circle:"bg-sky-500"},stopped:{circle:"bg-gray-500"},taken:{pinger:"bg-red-400",circle:"bg-red-500"}}[s];return e.jsxs("span",{className:"relative flex h-3 w-3",children:[l.pinger?e.jsx("span",{className:`absolute inline-flex h-full w-full animate-ping rounded-full ${l.pinger} opacity-75`}):null,e.jsx("span",{className:`relative inline-flex h-3 w-3 rounded-full ${l.circle}`})]})}export{T as default,C as handle,L as meta};
2
+ //# sourceMappingURL=_layout-mCB0NTJw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_layout-mCB0NTJw.js","sources":["../../../app/routes/admin+/_layout.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport {\n\tjson,\n\ttype ActionFunctionArgs,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n} from '@remix-run/node'\nimport { Form, Link, useLoaderData, useNavigation } from '@remix-run/react'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type loader as rootLoader } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tmatches,\n}) => {\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn json(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn json({ success: true })\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn json({ success: true })\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn json({ success: true })\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn json({ success: true })\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<main className=\"container mx-auto mt-8\">\n\t\t\t<h1 className=\"text-4xl font-bold\">Admin</h1>\n\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t<nav>\n\t\t\t\t\t<ul className=\"flex gap-3\">\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<Link className=\"underline\" to=\"/\">\n\t\t\t\t\t\t\t\tHome\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<Link className=\"underline\" to=\"/diff\">\n\t\t\t\t\t\t\t\tDiff Viewer\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t\t{epicProgress ? (\n\t\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","rootData","find","m","id","data","title","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","AdminLayout","useLoaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","Link","to","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"+PAiCO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAEaC,EAAiEA,CAAC,CAC9EC,QAAAA,CACD,IAAM,OACC,MAAAC,GAAWD,EAAAA,EAAQE,KAAMC,GAAMA,EAAEC,KAAO,MAAM,IAAnCJ,YAAAA,EAAsCK,KACvD,MAAO,CAAC,CAAEC,MAAO,QAAQL,GAAAA,YAAAA,EAAUM,aAAa,EAAG,CAAC,CACrD,EAuEA,SAASC,EAAaC,EAAuBC,EAAuB,CACnE,OAAOD,EAAEE,OAAS,WAAaD,EAAEC,OAAS,UACvC,EACAF,EAAEE,OAAS,UACV,GACAD,EAAEC,OAAS,UACV,EACA,CACN,CAEA,SAASC,EAAaC,EAA8B,CACnD,OAAQA,EAASF,KAAM,CACtB,IAAK,wBACG,MAAA,IACR,IAAK,oBACG,MAAA,YACR,IAAK,eACG,MAAA,IAAIE,EAASC,eAAeC,WAAWC,SAAS,EAAG,GAAG,CAAC,GAC/D,IAAK,OACJ,MAAO,IAAIH,EAASC,eAClBC,WACAC,SAAS,EAAG,GAAG,CAAC,IAAIH,EAASI,WAAWF,WAAWC,SAAS,EAAG,GAAG,CAAC,GACtE,IAAK,WACG,MAAA,IAAIH,EAASC,eAAeC,SAAA,EAAWC,SAAS,EAAG,GAAG,CAAC,YAC/D,QACQ,MAAA,EACT,CACD,CAEA,SAAwBE,GAAc,SACrC,MAAMb,EAAOc,IACPC,EAAaC,IACbC,EAAeC,IAEfC,IAAsBJ,EAAAA,EAAWK,WAAXL,YAAAA,EAAqBM,IAAI,aAAc,UAC7DC,IACLP,EAAAA,EAAWK,WAAXL,YAAAA,EAAqBM,IAAI,aAAc,eAElCE,EAAiB,CACtBC,UAAW,cACXC,WAAY,iBAIZ,OAAAC,EAAAA,KAAC,OAAK,CAAAC,UAAU,yBACfC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,qBAAqBC,SAAK,OAAA,CAAA,EACxCF,EAAA,KAAC,MAAI,CAAAC,UAAU,sBACdC,SAAA,CAAAC,EAAA,IAAC,MACA,CAAAD,SAAAF,EAAA,KAAC,KAAG,CAAAC,UAAU,aACbC,SAAA,CAACC,EAAA,IAAA,KAAA,CACAD,eAACE,EAAK,CAAAH,UAAU,YAAYI,GAAG,IAAIH,gBAEnC,CACD,CAAA,EACAC,EAAA,IAAC,MACAD,SAACC,EAAA,IAAAC,EAAA,CAAKH,UAAU,YAAYI,GAAG,QAAQH,SAAA,cAEvC,CACD,CAAA,CAAA,EACD,CACD,CAAA,SACC,MACA,CAAAA,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAQ,WAAA,EACzCX,EACCY,EAAA,IAAA,KAAA,CAAGF,UAAU,uGACZC,SAAaX,EAAAe,KAAK7B,CAAY,EAAE8B,IAAKzB,GAAa,CAC5C,MAAA0B,EAAS1B,EAAS2B,gBACrB,YACA,aACGC,EAAQ,CACb5B,EAAS6B,eACT7B,EAAS2B,gBACN,IAAI3B,EAAS2B,eAAe,IAC5B,IAAA,EAEFG,OAAOC,OAAO,EACdC,KAAK,GAAG,EAET,OAAAd,EAAAA,KAAC,KAAA,CAEAC,UAAU,0BAEVC,SAAA,CAAAC,EAAA,IAAC,OAAA,CACAF,UAAW,wBAAwBJ,EAAeW,CAAM,CAAC,GACzDjC,MAAOiC,CACR,CAAA,EACC1B,EAASF,OAAS,UACjBoB,EAAAA,KAAA,OAAA,CAAKC,UAAU,0BACdC,SAAA,CAAAQ,EACAP,EAAA,IAAA,OAAA,CAAKF,UAAU,eACfC,SAACC,EAAA,IAAAY,EAAA,CAAcC,QAAQ,+EACtBd,SAACC,EAAA,IAAAc,EAAA,CAAKC,KAAK,QAAQ,EACpB,CACD,CAAA,CAAA,CAAA,CACD,EAECf,EAAA,IAAAC,EAAA,CAAKC,GAAIxB,EAAaC,CAAQ,EAAIoB,SAAMQ,CAAA,CAAA,EAE1CP,EAAA,IAACC,GAAKC,GAAIvB,EAASqC,cAClBjB,SAACC,EAAA,IAAAc,EAAA,CAAKC,KAAK,eAAe,CAC3B,CAAA,CAAA,CAAA,EArBKpC,EAAS6B,cAsBf,EAED,CAAA,CACF,EAEAR,EAAA,IAAC,KAAED,SAAgB,kBAAA,CAAA,CAAA,CAErB,CAAA,SACC,MACA,CAAAA,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAQ,UAAA,CAAA,EAC1CF,EAAA,KAAC,KAAG,CAAAC,UAAU,mFACbC,SAAA,CAAAC,EAAA,IAAC,KACA,CAAAD,SAAAC,EAAA,IAACiB,EAAK,CAAAC,OAAO,OACZnB,SAAAC,EAAA,IAAC,SAAO,CAAAe,KAAK,SAASI,MAAM,eAAepB,SAAA,qBAE3C,EACD,CACD,CAAA,EACCC,EAAA,IAAA,KAAA,CACAD,SAACC,EAAA,IAAAiB,EAAA,CAAKC,OAAO,OACZnB,SAAAC,EAAA,IAAC,SAAO,CAAAe,KAAK,SAASI,MAAM,aAAapB,SAAA,6CAEzC,EACD,CACD,CAAA,EACCC,EAAA,IAAA,KAAA,CACCD,SAAK5B,EAAAiD,uBACJH,EAAK,CAAAC,OAAO,OACZnB,SAAAC,EAAA,IAAC,SAAO,CAAAe,KAAK,SAASI,MAAM,eAC1BpB,SACET,EAAA,wBACA,iBACJ,CAAA,CACD,EAEAU,EAAA,IAACiB,EAAK,CAAAC,OAAO,OACZnB,SAACC,EAAA,IAAA,SAAA,CAAOe,KAAK,SAASI,MAAM,UAC1BpB,SAAAN,EACE,wBACA,kBACJ,EACD,CAEF,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAAM,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAI,MAAA,CAAA,EACrCC,EAAA,IAAA,KAAA,CAAGF,UAAU,6FACZC,SAAK5B,EAAAkD,KAAKjB,IAAKkB,GACfzB,EAAA,KAAC,KAAkB,CAAAC,UAAU,+BAC3BC,SAAA,CAAA5B,EAAKoD,UAAUD,EAAIP,IAAI,EACtBf,EAAA,IAAAwB,EAAA,CAAOnB,OAAO,SAAA,CAAU,EAEzBL,EAAA,IAACwB,EAAO,CAAAnB,OAAO,SAAU,CAAA,EAEzBiB,EAAIP,IAAA,CANG,EAAAO,EAAIP,IAOb,CACA,CACF,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAAhB,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAS,WAAA,CAAA,QAC1C,KAAG,CAAAD,UAAU,0EACZC,SAAO0B,OAAAC,QAAQvD,EAAKoD,SAAS,EAAEnB,IAAI,CAAC,CAACuB,EAAKC,CAAO,IAChD5B,EAAAA,IAAA,KAAA,CACAD,gBAAC,OACC,CAAAA,SAAA,CAAA4B,EAAI,YAAUC,EAAQC,KAAK,UAAQD,EAAQE,IAAI,KAAG,IAClDF,EAAQG,KAAA,EACV,CAAA,EAJQJ,CAKT,CACA,CACF,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAA5B,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAc,gBAAA,CAAA,QAC/C,KAAG,CAAAD,UAAU,0EACZC,SAAO0B,OAAAC,QAAQvD,EAAK6D,aAAa,EAAE5B,IAAI,CAAC,CAACuB,EAAKC,CAAO,IACpD5B,EAAAA,IAAA,KAAA,CACAD,gBAAC,OACC,CAAAA,SAAA,CAAA4B,EAAI,UAAQC,EAAQE,IAAI,iBAAeF,EAAQK,QAAA,EACjD,CAAA,EAHQN,CAIT,CACA,CACF,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAAA,CAEF,CAEA,SAASH,EAAO,CACfnB,OAAAA,CACD,EAEG,CACF,MAAM6B,EAAS,CACdC,QAAS,CACRC,OAAQ,eACRC,OAAQ,cACT,EACAC,SAAU,CACTF,OAAQ,aACRC,OAAQ,YACT,EACAE,QAAS,CACRF,OAAQ,aACT,EACAG,MAAO,CACNJ,OAAQ,aACRC,OAAQ,YACT,GACChC,CAAM,EAEP,OAAAR,EAAAA,KAAC,OAAK,CAAAC,UAAU,wBACdC,SAAA,CAAAmC,EAAOE,OACPpC,EAAAA,IAAC,OAAA,CACAF,UAAW,gEAAgEoC,EAAOE,MAAM,cACzF,EACG,KACJpC,EAAA,IAAC,OAAA,CACAF,UAAW,6CAA6CoC,EAAOG,MAAM,EAAA,CACtE,CAAA,CACD,CAAA,CAEF"}
@@ -1 +1 @@
1
- window.__remixManifest={"entry":{"module":"/assets/entry.client-3M2p-8I3.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/root-BO8-KppB.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/error-boundary-w-YmME9H.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-B-hHvmeV.js","/assets/index-lG6dAghh.js","/assets/presence-Cr--lRCr.js","/assets/seo-pBpFCWsy.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_-BtebIQXw.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/error-boundary-w-YmME9H.js"],"css":[]},"routes/_app+/_layout":{"id":"routes/_app+/_layout","parentId":"root","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-DN2lWivk.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/workshop-config-CL4F08kr.js","/assets/product-BUD74Itn.js","/assets/index-Cr2THg3v.js","/assets/user-D6tTg1yS.js","/assets/presence-Cr--lRCr.js","/assets/progress-Dn5gs-vs.js"],"css":[]},"routes/_app+/account":{"id":"routes/_app+/account","parentId":"routes/_app+/_layout","path":"account","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/account-Boc55rcF.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/button-D3GGLffs.js","/assets/tooltip-fa2eC7LQ.js","/assets/user-D6tTg1yS.js","/assets/presence-Cr--lRCr.js"],"css":[]},"routes/_app+/app.$appName+/$":{"id":"routes/_app+/app.$appName+/$","parentId":"routes/_app+/_layout","path":"app/:appName/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/api.$":{"id":"routes/_app+/app.$appName+/api.$","parentId":"routes/_app+/_layout","path":"app/:appName/api/*","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/api._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/epic_ws[.js]":{"id":"routes/_app+/app.$appName+/epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/epic_ws.js","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/index":{"id":"routes/_app+/app.$appName+/index","parentId":"routes/_app+/_layout","path":"app/:appName/","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-DP2rzg_V.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.$testName":{"id":"routes/_app+/app.$appName+/test.$testName","parentId":"routes/_app+/_layout","path":"app/:appName/test/:testName","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test._testName-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.epic_ws[.js]":{"id":"routes/_app+/app.$appName+/test.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/test/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/discord":{"id":"routes/_app+/discord","parentId":"routes/_app+/_layout","path":"discord","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/discord-BZFQqiA1.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/user-D6tTg1yS.js","/assets/discord-ClGJ4reK.js"],"css":[]},"routes/_app+/exercise+/_layout":{"id":"routes/_app+/exercise+/_layout","parentId":"routes/_app+/_layout","path":"exercise","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-BUs3av-e.js","imports":["/assets/index-1cKOJFpX.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber":{"id":"routes/_app+/exercise+/$exerciseNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber-DPHRlskl.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/:stepNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber_._stepNumber-D1CLZqv3.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","path":":type","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_layout-D9AYVDws.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/index-Dx5GmdYq.js","/assets/error-boundary-w-YmME9H.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/set-playground-CCm119Nm.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"app","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/app-D21SF96g.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/button-D3GGLffs.js","/assets/loading-CYX0lUnA.js","/assets/progress-bar-C7Wl3UWv.js","/assets/preview-cQAZ1sWw.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-BMMmOqxO.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/mdx-DGrucPXJ.js","/assets/use-event-source-A_0lEOPX.js","/assets/set-playground-CCm119Nm.js","/assets/button-D3GGLffs.js","/assets/diff-Dlhnb9s0.js","/assets/error-boundary-w-YmME9H.js","/assets/discord-ClGJ4reK.js","/assets/index-B-hHvmeV.js","/assets/tests-DCK6NqSg.js","/assets/preview-cQAZ1sWw.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"test","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-CPv5Bgs_.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/index-lG6dAghh.js","/assets/use-event-source-A_0lEOPX.js","/assets/set-playground-CCm119Nm.js","/assets/tests-DCK6NqSg.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.finished":{"id":"routes/_app+/exercise+/$exerciseNumber_.finished","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_.finished-BtU0LxSx.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/finished":{"id":"routes/_app+/finished","parentId":"routes/_app+/_layout","path":"finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/finished-DpVgSUHh.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/seo-pBpFCWsy.js","/assets/progress-Dn5gs-vs.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/index":{"id":"routes/_app+/index","parentId":"routes/_app+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-4mfbmNml.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/error-boundary-w-YmME9H.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/login":{"id":"routes/_app+/login","parentId":"routes/_app+/_layout","path":"login","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-BfJnysK5.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/workshop-config-CL4F08kr.js","/assets/use-event-source-A_0lEOPX.js","/assets/button-D3GGLffs.js","/assets/loading-CYX0lUnA.js","/assets/product-BUD74Itn.js"],"css":[]},"routes/_app+/support":{"id":"routes/_app+/support","parentId":"routes/_app+/_layout","path":"support","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/support-hcqGIpir.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js"],"css":[]},"routes/admin+/_layout":{"id":"routes/admin+/_layout","parentId":"root","path":"admin","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-B6j31ToX.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/pe-CUZaIcdt.js","/assets/tooltip-fa2eC7LQ.js","/assets/workshop-config-CL4F08kr.js","/assets/progress-Dn5gs-vs.js"],"css":[]},"routes/admin+/apps":{"id":"routes/admin+/apps","parentId":"routes/admin+/_layout","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/cache":{"id":"routes/admin+/cache","parentId":"routes/admin+/_layout","path":"cache","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/apps":{"id":"routes/apps","parentId":"root","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-DP2rzg_V.js","imports":[],"css":[]},"routes/diff":{"id":"routes/diff","parentId":"root","path":"diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/diff-_Yp5qaGd.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/mdx-DGrucPXJ.js","/assets/diff-Dlhnb9s0.js","/assets/nav-chevrons-DNlM2M58.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/discord.callback":{"id":"routes/discord.callback","parentId":"root","path":"discord/callback","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/discord.callback-l0sNRNKZ.js","imports":[],"css":[]},"routes/exercises":{"id":"routes/exercises","parentId":"root","path":"exercises","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/exercises-l0sNRNKZ.js","imports":[],"css":[]},"routes/launch-editor":{"id":"routes/launch-editor","parentId":"root","path":"launch-editor","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/launch-editor-l0sNRNKZ.js","imports":[],"css":[]},"routes/login-sse":{"id":"routes/login-sse","parentId":"root","path":"login-sse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-sse-l0sNRNKZ.js","imports":[],"css":[]},"routes/og":{"id":"routes/og","parentId":"root","path":"og","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/og-l0sNRNKZ.js","imports":[],"css":[]},"routes/onboarding":{"id":"routes/onboarding","parentId":"root","path":"onboarding","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/onboarding-C9YKrBRk.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/button-D3GGLffs.js","/assets/epic-video-BDMU5eQx.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/processes":{"id":"routes/processes","parentId":"root","path":"processes","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/processes-l0sNRNKZ.js","imports":[],"css":[]},"routes/progress":{"id":"routes/progress","parentId":"root","path":"progress","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/progress-l0sNRNKZ.js","imports":[],"css":[]},"routes/robots[.]txt":{"id":"routes/robots[.]txt","parentId":"root","path":"robots.txt","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/robots_._txt-l0sNRNKZ.js","imports":[],"css":[]},"routes/set-playground":{"id":"routes/set-playground","parentId":"root","path":"set-playground","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/set-playground-l0sNRNKZ.js","imports":[],"css":[]},"routes/sitemap[.]xml":{"id":"routes/sitemap[.]xml","parentId":"root","path":"sitemap.xml","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/sitemap_._xml-l0sNRNKZ.js","imports":[],"css":[]},"routes/start":{"id":"routes/start","parentId":"root","path":"start","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/start-l0sNRNKZ.js","imports":[],"css":[]},"routes/test":{"id":"routes/test","parentId":"root","path":"test","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-l0sNRNKZ.js","imports":[],"css":[]},"routes/theme/index":{"id":"routes/theme/index","parentId":"root","path":"theme","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-l0sNRNKZ.js","imports":[],"css":[]},"routes/update-mdx-cache":{"id":"routes/update-mdx-cache","parentId":"root","path":"update-mdx-cache","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/update-mdx-cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/video-player/index":{"id":"routes/video-player/index","parentId":"root","path":"video-player","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-K6Dvbx-E.js","imports":[],"css":[]}},"url":"/assets/manifest-15aae756.js","version":"15aae756"};
1
+ window.__remixManifest={"entry":{"module":"/assets/entry.client-3M2p-8I3.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/root-BO8-KppB.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/error-boundary-w-YmME9H.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-B-hHvmeV.js","/assets/index-lG6dAghh.js","/assets/presence-Cr--lRCr.js","/assets/seo-pBpFCWsy.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_-BtebIQXw.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/error-boundary-w-YmME9H.js"],"css":[]},"routes/_app+/_layout":{"id":"routes/_app+/_layout","parentId":"root","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-DN2lWivk.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/workshop-config-CL4F08kr.js","/assets/product-BUD74Itn.js","/assets/index-Cr2THg3v.js","/assets/user-D6tTg1yS.js","/assets/presence-Cr--lRCr.js","/assets/progress-Dn5gs-vs.js"],"css":[]},"routes/_app+/account":{"id":"routes/_app+/account","parentId":"routes/_app+/_layout","path":"account","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/account-Boc55rcF.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/button-D3GGLffs.js","/assets/tooltip-fa2eC7LQ.js","/assets/user-D6tTg1yS.js","/assets/presence-Cr--lRCr.js"],"css":[]},"routes/_app+/app.$appName+/$":{"id":"routes/_app+/app.$appName+/$","parentId":"routes/_app+/_layout","path":"app/:appName/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/api.$":{"id":"routes/_app+/app.$appName+/api.$","parentId":"routes/_app+/_layout","path":"app/:appName/api/*","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/api._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/epic_ws[.js]":{"id":"routes/_app+/app.$appName+/epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/epic_ws.js","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/index":{"id":"routes/_app+/app.$appName+/index","parentId":"routes/_app+/_layout","path":"app/:appName/","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-K6Dvbx-E.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.$testName":{"id":"routes/_app+/app.$appName+/test.$testName","parentId":"routes/_app+/_layout","path":"app/:appName/test/:testName","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test._testName-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.epic_ws[.js]":{"id":"routes/_app+/app.$appName+/test.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/test/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/discord":{"id":"routes/_app+/discord","parentId":"routes/_app+/_layout","path":"discord","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/discord-BZFQqiA1.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/user-D6tTg1yS.js","/assets/discord-ClGJ4reK.js"],"css":[]},"routes/_app+/exercise+/_layout":{"id":"routes/_app+/exercise+/_layout","parentId":"routes/_app+/_layout","path":"exercise","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-BUs3av-e.js","imports":["/assets/index-1cKOJFpX.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber":{"id":"routes/_app+/exercise+/$exerciseNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber-DPHRlskl.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/:stepNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber_._stepNumber-D1CLZqv3.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","path":":type","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_layout-D9AYVDws.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/index-Dx5GmdYq.js","/assets/error-boundary-w-YmME9H.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/set-playground-CCm119Nm.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"app","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/app-D21SF96g.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/button-D3GGLffs.js","/assets/loading-CYX0lUnA.js","/assets/progress-bar-C7Wl3UWv.js","/assets/preview-cQAZ1sWw.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-BMMmOqxO.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/mdx-DGrucPXJ.js","/assets/use-event-source-A_0lEOPX.js","/assets/set-playground-CCm119Nm.js","/assets/button-D3GGLffs.js","/assets/diff-Dlhnb9s0.js","/assets/error-boundary-w-YmME9H.js","/assets/discord-ClGJ4reK.js","/assets/index-B-hHvmeV.js","/assets/tests-DCK6NqSg.js","/assets/preview-cQAZ1sWw.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"test","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-CPv5Bgs_.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/index-lG6dAghh.js","/assets/use-event-source-A_0lEOPX.js","/assets/set-playground-CCm119Nm.js","/assets/tests-DCK6NqSg.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.finished":{"id":"routes/_app+/exercise+/$exerciseNumber_.finished","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_.finished-BtU0LxSx.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js","/assets/seo-pBpFCWsy.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/finished":{"id":"routes/_app+/finished","parentId":"routes/_app+/_layout","path":"finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/finished-DpVgSUHh.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/nav-chevrons-DNlM2M58.js","/assets/mdx-DGrucPXJ.js","/assets/seo-pBpFCWsy.js","/assets/progress-Dn5gs-vs.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/index":{"id":"routes/_app+/index","parentId":"routes/_app+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-4mfbmNml.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/index-Dx5GmdYq.js","/assets/error-boundary-w-YmME9H.js","/assets/mdx-DGrucPXJ.js","/assets/progress-Dn5gs-vs.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/_app+/login":{"id":"routes/_app+/login","parentId":"routes/_app+/_layout","path":"login","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-BfJnysK5.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/workshop-config-CL4F08kr.js","/assets/use-event-source-A_0lEOPX.js","/assets/button-D3GGLffs.js","/assets/loading-CYX0lUnA.js","/assets/product-BUD74Itn.js"],"css":[]},"routes/_app+/support":{"id":"routes/_app+/support","parentId":"routes/_app+/_layout","path":"support","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/support-hcqGIpir.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js"],"css":[]},"routes/admin+/_layout":{"id":"routes/admin+/_layout","parentId":"root","path":"admin","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-mCB0NTJw.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/pe-CUZaIcdt.js","/assets/tooltip-fa2eC7LQ.js","/assets/progress-Dn5gs-vs.js"],"css":[]},"routes/admin+/apps":{"id":"routes/admin+/apps","parentId":"routes/admin+/_layout","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/cache":{"id":"routes/admin+/cache","parentId":"routes/admin+/_layout","path":"cache","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/apps":{"id":"routes/apps","parentId":"root","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-DP2rzg_V.js","imports":[],"css":[]},"routes/diff":{"id":"routes/diff","parentId":"root","path":"diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/diff-_Yp5qaGd.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/tooltip-fa2eC7LQ.js","/assets/index-Cr2THg3v.js","/assets/index-CrCyg109.js","/assets/request-info-CEhUGODY.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/epic-video-BDMU5eQx.js","/assets/progress-bar-C7Wl3UWv.js","/assets/accordion-BTylpyuo.js","/assets/mdx-DGrucPXJ.js","/assets/diff-Dlhnb9s0.js","/assets/nav-chevrons-DNlM2M58.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/discord.callback":{"id":"routes/discord.callback","parentId":"root","path":"discord/callback","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/discord.callback-l0sNRNKZ.js","imports":[],"css":[]},"routes/exercises":{"id":"routes/exercises","parentId":"root","path":"exercises","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/exercises-l0sNRNKZ.js","imports":[],"css":[]},"routes/launch-editor":{"id":"routes/launch-editor","parentId":"root","path":"launch-editor","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/launch-editor-l0sNRNKZ.js","imports":[],"css":[]},"routes/login-sse":{"id":"routes/login-sse","parentId":"root","path":"login-sse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-sse-l0sNRNKZ.js","imports":[],"css":[]},"routes/og":{"id":"routes/og","parentId":"root","path":"og","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/og-l0sNRNKZ.js","imports":[],"css":[]},"routes/onboarding":{"id":"routes/onboarding","parentId":"root","path":"onboarding","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/onboarding-C9YKrBRk.js","imports":["/assets/index-1cKOJFpX.js","/assets/components-CME-nGId.js","/assets/misc-BvHlNnqL.js","/assets/request-info-CEhUGODY.js","/assets/tooltip-fa2eC7LQ.js","/assets/pe-CUZaIcdt.js","/assets/index-lG6dAghh.js","/assets/loading-CYX0lUnA.js","/assets/user-D6tTg1yS.js","/assets/workshop-config-CL4F08kr.js","/assets/button-D3GGLffs.js","/assets/epic-video-BDMU5eQx.js"],"css":["/assets/epic-video-DUnRvy1A.css"]},"routes/processes":{"id":"routes/processes","parentId":"root","path":"processes","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/processes-l0sNRNKZ.js","imports":[],"css":[]},"routes/progress":{"id":"routes/progress","parentId":"root","path":"progress","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/progress-l0sNRNKZ.js","imports":[],"css":[]},"routes/robots[.]txt":{"id":"routes/robots[.]txt","parentId":"root","path":"robots.txt","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/robots_._txt-l0sNRNKZ.js","imports":[],"css":[]},"routes/set-playground":{"id":"routes/set-playground","parentId":"root","path":"set-playground","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/set-playground-l0sNRNKZ.js","imports":[],"css":[]},"routes/sitemap[.]xml":{"id":"routes/sitemap[.]xml","parentId":"root","path":"sitemap.xml","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/sitemap_._xml-l0sNRNKZ.js","imports":[],"css":[]},"routes/start":{"id":"routes/start","parentId":"root","path":"start","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/start-l0sNRNKZ.js","imports":[],"css":[]},"routes/test":{"id":"routes/test","parentId":"root","path":"test","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-l0sNRNKZ.js","imports":[],"css":[]},"routes/theme/index":{"id":"routes/theme/index","parentId":"root","path":"theme","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-l0sNRNKZ.js","imports":[],"css":[]},"routes/update-mdx-cache":{"id":"routes/update-mdx-cache","parentId":"root","path":"update-mdx-cache","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/update-mdx-cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/video-player/index":{"id":"routes/video-player/index","parentId":"root","path":"video-player","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-DP2rzg_V.js","imports":[],"css":[]}},"url":"/assets/manifest-ee5e1d99.js","version":"ee5e1d99"};
@@ -3605,7 +3605,7 @@ async function getProgress({
3605
3605
  const authInfo = await getAuthInfo();
3606
3606
  if (!authInfo) return [];
3607
3607
  const {
3608
- product: { slug }
3608
+ product: { slug, host }
3609
3609
  } = getWorkshopConfig();
3610
3610
  if (!slug) return [];
3611
3611
  const [
@@ -3622,9 +3622,9 @@ async function getProgress({
3622
3622
  getExercises({ request, timings })
3623
3623
  ]);
3624
3624
  const progress = [];
3625
- for (const section of workshopData.sections) {
3626
- const epicSectionSlug = section.slug;
3627
- for (const lesson of section.lessons) {
3625
+ for (const resource of workshopData.resources) {
3626
+ const lessons = resource._type === "section" ? resource.lessons : [resource];
3627
+ for (const lesson of lessons) {
3628
3628
  const epicLessonSlug = lesson.slug;
3629
3629
  const lessonProgress = epicProgress.find(
3630
3630
  ({ lessonId }) => lessonId === lesson._id
@@ -3635,17 +3635,18 @@ async function getProgress({
3635
3635
  workshopFinished,
3636
3636
  exercises
3637
3637
  });
3638
+ const epicLessonUrl = `https://${host}/workshops/${slug}/${epicLessonSlug}`;
3638
3639
  if (progressForLesson) {
3639
3640
  progress.push({
3640
3641
  ...progressForLesson,
3641
- epicSectionSlug,
3642
+ epicLessonUrl,
3642
3643
  epicLessonSlug,
3643
3644
  epicCompletedAt
3644
3645
  });
3645
3646
  } else {
3646
3647
  progress.push({
3647
3648
  type: "unknown",
3648
- epicSectionSlug,
3649
+ epicLessonUrl,
3649
3650
  epicLessonSlug,
3650
3651
  epicCompletedAt
3651
3652
  });
@@ -3728,13 +3729,18 @@ async function updateProgress({ lessonSlug, complete }, {
3728
3729
  return { status: "success" };
3729
3730
  }
3730
3731
  const ModuleSchema = z$1.object({
3731
- // Maybe we could use this for our own ogImage instead of making our own?
3732
- // ogImage: z.string().url(),
3733
- sections: z$1.array(
3734
- z$1.object({
3735
- slug: z$1.string(),
3736
- lessons: z$1.array(z$1.object({ _id: z$1.string(), slug: z$1.string() }))
3737
- })
3732
+ resources: z$1.array(
3733
+ z$1.union([
3734
+ z$1.object({
3735
+ _type: z$1.literal("lesson"),
3736
+ _id: z$1.string(),
3737
+ slug: z$1.string()
3738
+ }),
3739
+ z$1.object({
3740
+ _type: z$1.literal("section"),
3741
+ lessons: z$1.array(z$1.object({ _id: z$1.string(), slug: z$1.string() }))
3742
+ })
3743
+ ])
3738
3744
  )
3739
3745
  });
3740
3746
  async function getWorkshopData(slug, {
@@ -3742,9 +3748,9 @@ async function getWorkshopData(slug, {
3742
3748
  request,
3743
3749
  forceFresh
3744
3750
  } = {}) {
3745
- if (ENV.EPICSHOP_DEPLOYED) return { sections: [] };
3751
+ if (ENV.EPICSHOP_DEPLOYED) return { resources: [] };
3746
3752
  const authInfo = await getAuthInfo();
3747
- if (!authInfo) return { sections: [] };
3753
+ if (!authInfo) return { resources: [] };
3748
3754
  const {
3749
3755
  product: { host }
3750
3756
  } = getWorkshopConfig();
@@ -3763,7 +3769,7 @@ async function getWorkshopData(slug, {
3763
3769
  console.error(
3764
3770
  `Failed to fetch workshop data from EpicWeb for ${slug}: ${response.status} ${response.statusText}`
3765
3771
  );
3766
- return { sections: [] };
3772
+ return { resources: [] };
3767
3773
  }
3768
3774
  return ModuleSchema.parse(await response.json());
3769
3775
  }
@@ -12830,9 +12836,6 @@ function AdminLayout() {
12830
12836
  var _a2, _b;
12831
12837
  const data = useLoaderData();
12832
12838
  const navigation = useNavigation();
12833
- const {
12834
- product: { slug: workshopSlug = "Unknown" }
12835
- } = useWorkshopConfig();
12836
12839
  const epicProgress = useEpicProgress();
12837
12840
  const isStartingInspector = ((_a2 = navigation.formData) == null ? void 0 : _a2.get("intent")) === "inspect";
12838
12841
  const isStoppingInspector = ((_b = navigation.formData) == null ? void 0 : _b.get("intent")) === "stop-inspect";
@@ -12850,10 +12853,9 @@ function AdminLayout() {
12850
12853
  /* @__PURE__ */ jsxs("div", { children: [
12851
12854
  /* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: "Progress" }),
12852
12855
  epicProgress ? /* @__PURE__ */ jsx("ul", { className: "flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar", children: epicProgress.sort(sortProgress).map((progress) => {
12853
- const epicUrl = `https://www.epicweb.dev/workshops/${workshopSlug}/${progress.epicSectionSlug}/${progress.epicLessonSlug}`;
12854
12856
  const status = progress.epicCompletedAt ? "completed" : "incomplete";
12855
12857
  const label = [
12856
- `${progress.epicSectionSlug}/${progress.epicLessonSlug}`,
12858
+ progress.epicLessonSlug,
12857
12859
  progress.epicCompletedAt ? `(${progress.epicCompletedAt})` : null
12858
12860
  ].filter(Boolean).join(" ");
12859
12861
  return /* @__PURE__ */ jsxs(
@@ -12872,7 +12874,7 @@ function AdminLayout() {
12872
12874
  label,
12873
12875
  /* @__PURE__ */ jsx("span", { className: "text-red-500", children: /* @__PURE__ */ jsx(SimpleTooltip, { content: "This video is in the workshop on EpicWeb.dev, but not in the local workshop.", children: /* @__PURE__ */ jsx(Icon, { name: "Close" }) }) })
12874
12876
  ] }) : /* @__PURE__ */ jsx(Link, { to: linkProgress(progress), children: label }),
12875
- /* @__PURE__ */ jsx(Link, { to: epicUrl, children: /* @__PURE__ */ jsx(Icon, { name: "ExternalLink" }) })
12877
+ /* @__PURE__ */ jsx(Link, { to: progress.epicLessonUrl, children: /* @__PURE__ */ jsx(Icon, { name: "ExternalLink" }) })
12876
12878
  ]
12877
12879
  },
12878
12880
  progress.epicLessonSlug
@@ -13520,7 +13522,7 @@ const route39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
13520
13522
  __proto__: null,
13521
13523
  loader
13522
13524
  }, Symbol.toStringTag, { value: "Module" }));
13523
- const serverManifest = { "entry": { "module": "/assets/entry.client-3M2p-8I3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BO8-KppB.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/error-boundary-w-YmME9H.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-B-hHvmeV.js", "/assets/index-lG6dAghh.js", "/assets/presence-Cr--lRCr.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-BtebIQXw.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/error-boundary-w-YmME9H.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DN2lWivk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/product-BUD74Itn.js", "/assets/index-Cr2THg3v.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-Boc55rcF.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/button-D3GGLffs.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-BZFQqiA1.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/user-D6tTg1yS.js", "/assets/discord-ClGJ4reK.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-BUs3av-e.js", "imports": ["/assets/index-1cKOJFpX.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-DPHRlskl.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-D1CLZqv3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-D9AYVDws.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/set-playground-CCm119Nm.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-D21SF96g.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/preview-cQAZ1sWw.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BMMmOqxO.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/button-D3GGLffs.js", "/assets/diff-Dlhnb9s0.js", "/assets/error-boundary-w-YmME9H.js", "/assets/discord-ClGJ4reK.js", "/assets/index-B-hHvmeV.js", "/assets/tests-DCK6NqSg.js", "/assets/preview-cQAZ1sWw.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-CPv5Bgs_.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/index-lG6dAghh.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/tests-DCK6NqSg.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BtU0LxSx.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-DpVgSUHh.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-4mfbmNml.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-BfJnysK5.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/product-BUD74Itn.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-hcqGIpir.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-B6j31ToX.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/pe-CUZaIcdt.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/workshop-config-CL4F08kr.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-_Yp5qaGd.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/diff-Dlhnb9s0.js", "/assets/nav-chevrons-DNlM2M58.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-C9YKrBRk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/button-D3GGLffs.js", "/assets/epic-video-BDMU5eQx.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-15aae756.js", "version": "15aae756" };
13525
+ const serverManifest = { "entry": { "module": "/assets/entry.client-3M2p-8I3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BO8-KppB.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/error-boundary-w-YmME9H.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-B-hHvmeV.js", "/assets/index-lG6dAghh.js", "/assets/presence-Cr--lRCr.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-BtebIQXw.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/error-boundary-w-YmME9H.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DN2lWivk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/product-BUD74Itn.js", "/assets/index-Cr2THg3v.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-Boc55rcF.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/button-D3GGLffs.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-BZFQqiA1.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/user-D6tTg1yS.js", "/assets/discord-ClGJ4reK.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-BUs3av-e.js", "imports": ["/assets/index-1cKOJFpX.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-DPHRlskl.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-D1CLZqv3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-D9AYVDws.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/set-playground-CCm119Nm.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-D21SF96g.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/preview-cQAZ1sWw.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BMMmOqxO.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/button-D3GGLffs.js", "/assets/diff-Dlhnb9s0.js", "/assets/error-boundary-w-YmME9H.js", "/assets/discord-ClGJ4reK.js", "/assets/index-B-hHvmeV.js", "/assets/tests-DCK6NqSg.js", "/assets/preview-cQAZ1sWw.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-CPv5Bgs_.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/index-lG6dAghh.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/tests-DCK6NqSg.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BtU0LxSx.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-DpVgSUHh.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-4mfbmNml.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-BfJnysK5.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/product-BUD74Itn.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-hcqGIpir.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-mCB0NTJw.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/pe-CUZaIcdt.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-_Yp5qaGd.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/diff-Dlhnb9s0.js", "/assets/nav-chevrons-DNlM2M58.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-C9YKrBRk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/button-D3GGLffs.js", "/assets/epic-video-BDMU5eQx.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] } }, "url": "/assets/manifest-ee5e1d99.js", "version": "ee5e1d99" };
13524
13526
  const mode = "production";
13525
13527
  const assetsBuildDirectory = "build/client";
13526
13528
  const basename = "/";