@epic-web/workshop-app 6.74.0 → 6.74.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/_exerciseNumber-6IQJMb5M.js +2 -0
- package/build/client/assets/{_exerciseNumber-jokuvO2V.js.map → _exerciseNumber-6IQJMb5M.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_.finished-D9-WSUZy.js +2 -0
- package/build/client/assets/{_exerciseNumber_.finished-BaC--Y5p.js.map → _exerciseNumber_.finished-D9-WSUZy.js.map} +1 -1
- package/build/client/assets/_extra-IT1EaIMp.js +2 -0
- package/build/client/assets/{_extra-DXypL1sc.js.map → _extra-IT1EaIMp.js.map} +1 -1
- package/build/client/assets/{_layout-C9vSX5Ti.js → _layout-BDFC2e7T.js} +2 -2
- package/build/client/assets/{_layout-C9vSX5Ti.js.map → _layout-BDFC2e7T.js.map} +1 -1
- package/build/client/assets/_layout-CCCrBY2W.js +2 -0
- package/build/client/assets/{_layout-_Aw6qzZC.js.map → _layout-CCCrBY2W.js.map} +1 -1
- package/build/client/assets/{diff-Dng5ItOr.js → diff-4YyKvzHi.js} +2 -2
- package/build/client/assets/{diff-Dng5ItOr.js.map → diff-4YyKvzHi.js.map} +1 -1
- package/build/client/assets/diff-8Er9eAl-.js +2 -0
- package/build/client/assets/{diff-DfWBhj2O.js.map → diff-8Er9eAl-.js.map} +1 -1
- package/build/client/assets/epic-video-BtFzbNqF.js +2 -0
- package/build/client/assets/{epic-video-C1_HSISA.js.map → epic-video-BtFzbNqF.js.map} +1 -1
- package/build/client/assets/{epic-video-CC0372g5.js → epic-video-DzLohyvt.js} +146 -146
- package/build/client/assets/epic-video-DzLohyvt.js.map +1 -0
- package/build/client/assets/finished-CzmzTZg6.js +2 -0
- package/build/client/assets/{finished-BbEk1NdF.js.map → finished-CzmzTZg6.js.map} +1 -1
- package/build/client/assets/index-BN0kldnY.js +2 -0
- package/build/client/assets/{index-CFM_ffAh.js.map → index-BN0kldnY.js.map} +1 -1
- package/build/client/assets/index-BNsKVnVt.js +2 -0
- package/build/client/assets/{index-Pxi8WjFA.js.map → index-BNsKVnVt.js.map} +1 -1
- package/build/client/assets/index-Cby_tLUO.js +2 -0
- package/build/client/assets/{index-CfU0fdf7.js.map → index-Cby_tLUO.js.map} +1 -1
- package/build/client/assets/{index-DroM8fzS.js → index-Dpyv8N6m.js} +2 -2
- package/build/client/assets/{index-DroM8fzS.js.map → index-Dpyv8N6m.js.map} +1 -1
- package/build/client/assets/{manifest-835c6db1.js → manifest-65ac4702.js} +1 -1
- package/build/client/assets/{mdx-vy-1-0a3.js → mdx-8X3W8bVO.js} +2 -2
- package/build/client/assets/{mdx-vy-1-0a3.js.map → mdx-8X3W8bVO.js.map} +1 -1
- package/build/client/assets/{progress-BcA4i0iU.js → progress-Bby-ybMA.js} +2 -2
- package/build/client/assets/progress-Bby-ybMA.js.map +1 -0
- package/build/client/assets/root-BwYDIUyI.js.map +1 -1
- package/build/client/assets/test-DXylXETz.js +2 -0
- package/build/client/assets/{test-Ciw2aKZE.js.map → test-DXylXETz.js.map} +1 -1
- package/build/client/assets/{tests-CZ2AhDKA.js → tests-DlPVOsMT.js} +2 -2
- package/build/client/assets/{tests-CZ2AhDKA.js.map → tests-DlPVOsMT.js.map} +1 -1
- package/build/server/index.js +310 -63
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/build/client/assets/_exerciseNumber-jokuvO2V.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-BaC--Y5p.js +0 -2
- package/build/client/assets/_extra-DXypL1sc.js +0 -2
- package/build/client/assets/_layout-_Aw6qzZC.js +0 -2
- package/build/client/assets/diff-DfWBhj2O.js +0 -2
- package/build/client/assets/epic-video-C1_HSISA.js +0 -2
- package/build/client/assets/epic-video-CC0372g5.js.map +0 -1
- package/build/client/assets/finished-BbEk1NdF.js +0 -2
- package/build/client/assets/index-CFM_ffAh.js +0 -2
- package/build/client/assets/index-CfU0fdf7.js +0 -2
- package/build/client/assets/index-Pxi8WjFA.js +0 -2
- package/build/client/assets/progress-BcA4i0iU.js.map +0 -1
- package/build/client/assets/test-Ciw2aKZE.js +0 -2
package/build/server/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import path from "node:path";
|
|
|
10
10
|
import { makeSingletonCache, cachified, deleteCache, compiledCodeCache, shouldForceFresh, discordCache, getAllWorkshopCaches, getGlobalCaches, globalCacheDirectoryExists, updateCacheEntry, deleteWorkshopCache, deleteCacheEntry, readEntryByPath, ogCache } from "@epic-web/workshop-utils/cache.server";
|
|
11
11
|
import { getWorkshopConfig } from "@epic-web/workshop-utils/config.server";
|
|
12
12
|
import { getAuthInfo, getPreferences, getLoggedInProductHosts, muteNotification, getMutedNotifications, requireAuthInfo, logout, setPreferences, PlayerPreferencesSchema, markOnboardingComplete, setAuthInfo, readDb, deleteDb } from "@epic-web/workshop-utils/db.server";
|
|
13
|
-
import { getEnv } from "@epic-web/workshop-utils/env.server";
|
|
13
|
+
import { getEnv as getEnv$1 } from "@epic-web/workshop-utils/env.server";
|
|
14
14
|
import { checkForUpdatesCached, checkForExerciseChanges, getCommitInfo, getLatestWorkshopAppVersion } from "@epic-web/workshop-utils/git.server";
|
|
15
15
|
import z$1, { z } from "zod";
|
|
16
16
|
import { getApps, getExercises, getPlaygroundAppName, extractNumbersAndTypeFromAppNameOrPath, isExtraApp, getAppFromFile, getAppByName, isProblemApp, isPlaygroundApp, isExerciseStepApp, getExercise, isSolutionApp, getWorkshopRoot, setPlayground, getExerciseApp, requireExerciseApp, getAppDisplayName, requireExercise, getNextExerciseApp, getPrevExerciseApp, getAppPageRoute, getExtrasInstructions, getWorkshopFinished, getWorkshopInstructions, getSavedPlaygrounds } from "@epic-web/workshop-utils/apps.server";
|
|
@@ -57,7 +57,6 @@ import fs from "fs";
|
|
|
57
57
|
import { getDirModifiedTime } from "@epic-web/workshop-utils/modified-time.server";
|
|
58
58
|
import * as esbuild from "esbuild";
|
|
59
59
|
import { ElementScrollRestoration } from "@epic-web/restore-scroll";
|
|
60
|
-
import { getPreferredDownloadSize } from "@epic-web/workshop-utils/offline-video-utils";
|
|
61
60
|
import { MediaController, MediaTimeRange, MediaControlBar, MediaPlayButton, MediaSeekBackwardButton, MediaSeekForwardButton, MediaTimeDisplay, MediaMuteButton, MediaVolumeRange, MediaPlaybackRateButton, MediaPipButton, MediaFullscreenButton } from "media-chrome/react";
|
|
62
61
|
import { useEventSource } from "remix-utils/sse/react";
|
|
63
62
|
import RealMuxPlayer, { MaxResolution, MinResolution } from "@mux/mux-player-react";
|
|
@@ -73,9 +72,13 @@ import AnsiToHTML from "ansi-to-html";
|
|
|
73
72
|
import { eventStream } from "remix-utils/sse/server";
|
|
74
73
|
import { EventEmitter } from "events";
|
|
75
74
|
import { remember } from "@epic-web/remember";
|
|
76
|
-
import {
|
|
75
|
+
import { debuglog } from "node:util";
|
|
77
76
|
import * as client from "openid-client";
|
|
78
|
-
import
|
|
77
|
+
import fs$1 from "node:fs/promises";
|
|
78
|
+
import os from "node:os";
|
|
79
|
+
import { fileURLToPath } from "node:url";
|
|
80
|
+
import md5 from "md5-hex";
|
|
81
|
+
import timeZonePlugin from "dayjs/plugin/timezone.js";
|
|
79
82
|
import { loadJSON } from "@epic-web/workshop-utils/data-storage.server";
|
|
80
83
|
import inspector from "node:inspector";
|
|
81
84
|
import { Resvg } from "@resvg/resvg-js";
|
|
@@ -273,7 +276,7 @@ async function getPresentUsers({
|
|
|
273
276
|
return uniqueUsers(users);
|
|
274
277
|
}
|
|
275
278
|
const loggedInProductHosts = await getLoggedInProductHosts();
|
|
276
|
-
const ENV2 = getEnv();
|
|
279
|
+
const ENV2 = getEnv$1();
|
|
277
280
|
const epicshopVersion = ENV2.EPICSHOP_APP_VERSION ?? null;
|
|
278
281
|
let repoStatus = null;
|
|
279
282
|
try {
|
|
@@ -538,7 +541,7 @@ const Heading = function Heading2({
|
|
|
538
541
|
}
|
|
539
542
|
);
|
|
540
543
|
};
|
|
541
|
-
function getErrorMessage(error, defaultMessage = "Unknown Error") {
|
|
544
|
+
function getErrorMessage$1(error, defaultMessage = "Unknown Error") {
|
|
542
545
|
if (typeof error === "string") return error;
|
|
543
546
|
if (error && typeof error === "object" && "message" in error && typeof error.message === "string") {
|
|
544
547
|
return error.message;
|
|
@@ -751,7 +754,7 @@ function GeneralErrorBoundary({
|
|
|
751
754
|
error.data
|
|
752
755
|
] }),
|
|
753
756
|
statusHandlers: givenStatusHandlers,
|
|
754
|
-
unexpectedErrorHandler = (error) => /* @__PURE__ */ jsx("p", { children: getErrorMessage(error) })
|
|
757
|
+
unexpectedErrorHandler = (error) => /* @__PURE__ */ jsx("p", { children: getErrorMessage$1(error) })
|
|
755
758
|
}) {
|
|
756
759
|
const [isServerDown, setIsServerDown] = useState(false);
|
|
757
760
|
const error = useRouteError();
|
|
@@ -1231,11 +1234,11 @@ function UpdateToast({
|
|
|
1231
1234
|
);
|
|
1232
1235
|
}
|
|
1233
1236
|
const data2 = await res.json().catch(() => ({}));
|
|
1234
|
-
const
|
|
1237
|
+
const schema2 = z.object({
|
|
1235
1238
|
status: z.enum(["ok", "error"]),
|
|
1236
1239
|
message: z.string().optional()
|
|
1237
1240
|
});
|
|
1238
|
-
const parsed =
|
|
1241
|
+
const parsed = schema2.safeParse(data2);
|
|
1239
1242
|
if (!parsed.success) {
|
|
1240
1243
|
console.error("Invalid response from update API", data2);
|
|
1241
1244
|
throw new Error("Invalid response from update API");
|
|
@@ -1625,6 +1628,68 @@ function createConfettiHeaders(value = String(Date.now())) {
|
|
|
1625
1628
|
})
|
|
1626
1629
|
});
|
|
1627
1630
|
}
|
|
1631
|
+
function getCompletedSteps(progress) {
|
|
1632
|
+
const completedSteps = [];
|
|
1633
|
+
for (const entry2 of progress) {
|
|
1634
|
+
if (entry2.type !== "step" || !entry2.epicCompletedAt) continue;
|
|
1635
|
+
if (typeof entry2.exerciseNumber !== "number" || typeof entry2.stepNumber !== "number") {
|
|
1636
|
+
continue;
|
|
1637
|
+
}
|
|
1638
|
+
completedSteps.push({
|
|
1639
|
+
exerciseNumber: entry2.exerciseNumber,
|
|
1640
|
+
stepNumber: entry2.stepNumber
|
|
1641
|
+
});
|
|
1642
|
+
}
|
|
1643
|
+
return completedSteps;
|
|
1644
|
+
}
|
|
1645
|
+
function getStepRoutes(step) {
|
|
1646
|
+
const exercise = step.exerciseNumber.toString().padStart(2, "0");
|
|
1647
|
+
const stepNumber = step.stepNumber.toString().padStart(2, "0");
|
|
1648
|
+
const baseRoute = `/exercise/${exercise}/${stepNumber}`;
|
|
1649
|
+
return {
|
|
1650
|
+
id: `${exercise}/${stepNumber}`,
|
|
1651
|
+
problemRoute: `${baseRoute}/problem`,
|
|
1652
|
+
solutionRoute: `${baseRoute}/solution`
|
|
1653
|
+
};
|
|
1654
|
+
}
|
|
1655
|
+
function getAvailableSteps(completedSteps, currentPath) {
|
|
1656
|
+
return completedSteps.filter((step) => {
|
|
1657
|
+
const { problemRoute, solutionRoute } = getStepRoutes(step);
|
|
1658
|
+
return currentPath !== problemRoute && currentPath !== solutionRoute;
|
|
1659
|
+
});
|
|
1660
|
+
}
|
|
1661
|
+
function getPracticePastLessonKey({
|
|
1662
|
+
progress,
|
|
1663
|
+
currentPath
|
|
1664
|
+
}) {
|
|
1665
|
+
if (!progress) return null;
|
|
1666
|
+
const completedSteps = getCompletedSteps(progress);
|
|
1667
|
+
if (completedSteps.length < 2) return null;
|
|
1668
|
+
const availableSteps = getAvailableSteps(completedSteps, currentPath);
|
|
1669
|
+
if (availableSteps.length === 0) return null;
|
|
1670
|
+
const availableStepIds = availableSteps.map((step) => getStepRoutes(step).id).sort().join(",");
|
|
1671
|
+
return `${currentPath}::${availableStepIds}`;
|
|
1672
|
+
}
|
|
1673
|
+
function getPracticePastLessonRoute({ progress, currentPath }, random = Math.random) {
|
|
1674
|
+
if (!progress) return null;
|
|
1675
|
+
const completedSteps = getCompletedSteps(progress);
|
|
1676
|
+
if (completedSteps.length < 2) return null;
|
|
1677
|
+
const availableSteps = getAvailableSteps(completedSteps, currentPath);
|
|
1678
|
+
if (availableSteps.length === 0) return null;
|
|
1679
|
+
const randomStep = availableSteps[Math.floor(random() * availableSteps.length)];
|
|
1680
|
+
if (!randomStep) return null;
|
|
1681
|
+
return getStepRoutes(randomStep).problemRoute;
|
|
1682
|
+
}
|
|
1683
|
+
function getPracticePastLessonData(input, random = Math.random) {
|
|
1684
|
+
const key = getPracticePastLessonKey(input);
|
|
1685
|
+
if (!key) {
|
|
1686
|
+
return { key: null, route: null };
|
|
1687
|
+
}
|
|
1688
|
+
return {
|
|
1689
|
+
key,
|
|
1690
|
+
route: getPracticePastLessonRoute(input, random)
|
|
1691
|
+
};
|
|
1692
|
+
}
|
|
1628
1693
|
function getSnapshot() {
|
|
1629
1694
|
return window.navigator.onLine;
|
|
1630
1695
|
}
|
|
@@ -1974,10 +2039,10 @@ function sanitizeCookieValue(value) {
|
|
|
1974
2039
|
return char;
|
|
1975
2040
|
}).join("");
|
|
1976
2041
|
}
|
|
1977
|
-
async function redirectWithToast(url, toast2,
|
|
2042
|
+
async function redirectWithToast(url, toast2, init2) {
|
|
1978
2043
|
return redirect(url, {
|
|
1979
|
-
...
|
|
1980
|
-
headers: combineHeaders(
|
|
2044
|
+
...init2,
|
|
2045
|
+
headers: combineHeaders(init2?.headers, await createToastHeaders(toast2))
|
|
1981
2046
|
});
|
|
1982
2047
|
}
|
|
1983
2048
|
async function createToastHeaders(optionalToast) {
|
|
@@ -2039,6 +2104,7 @@ async function loader$K({
|
|
|
2039
2104
|
}) {
|
|
2040
2105
|
const timings = makeTimings("rootLoader");
|
|
2041
2106
|
const workshopConfig = getWorkshopConfig();
|
|
2107
|
+
const requestUrl = new URL(request.url);
|
|
2042
2108
|
const {
|
|
2043
2109
|
title: workshopTitle,
|
|
2044
2110
|
subtitle: workshopSubtitle,
|
|
@@ -2098,6 +2164,10 @@ async function loader$K({
|
|
|
2098
2164
|
dependenciesNeedInstall: false
|
|
2099
2165
|
};
|
|
2100
2166
|
}
|
|
2167
|
+
const practicePastLesson = getPracticePastLessonData({
|
|
2168
|
+
progress: asyncStuff.progress,
|
|
2169
|
+
currentPath: requestUrl.pathname
|
|
2170
|
+
});
|
|
2101
2171
|
return data({
|
|
2102
2172
|
...asyncStuff,
|
|
2103
2173
|
workshopConfig,
|
|
@@ -2113,15 +2183,16 @@ async function loader$K({
|
|
|
2113
2183
|
fullPath,
|
|
2114
2184
|
relativePath
|
|
2115
2185
|
})),
|
|
2116
|
-
ENV: getEnv(),
|
|
2186
|
+
ENV: getEnv$1(),
|
|
2187
|
+
practicePastLesson,
|
|
2117
2188
|
requestInfo: {
|
|
2118
|
-
protocol:
|
|
2119
|
-
hostname:
|
|
2120
|
-
port:
|
|
2121
|
-
origin:
|
|
2189
|
+
protocol: requestUrl.protocol,
|
|
2190
|
+
hostname: requestUrl.hostname,
|
|
2191
|
+
port: requestUrl.port,
|
|
2192
|
+
origin: requestUrl.origin,
|
|
2122
2193
|
domain: getDomainUrl(request),
|
|
2123
2194
|
hints: getHints(request),
|
|
2124
|
-
path:
|
|
2195
|
+
path: requestUrl.pathname,
|
|
2125
2196
|
session: {
|
|
2126
2197
|
theme
|
|
2127
2198
|
},
|
|
@@ -2660,38 +2731,22 @@ function useNextExerciseRoute() {
|
|
|
2660
2731
|
function useRandomCompletedExerciseRoute() {
|
|
2661
2732
|
const location = useLocation();
|
|
2662
2733
|
const progress = useEpicProgress();
|
|
2663
|
-
const
|
|
2734
|
+
const {
|
|
2735
|
+
practicePastLesson
|
|
2736
|
+
} = useRootLoaderData();
|
|
2737
|
+
const [randomRoute, setRandomRoute] = React.useState(practicePastLesson?.route ?? null);
|
|
2738
|
+
const lastKeyRef = React.useRef(practicePastLesson?.key ?? null);
|
|
2664
2739
|
React.useEffect(() => {
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
}
|
|
2669
|
-
const completedSteps = progress.filter((p) => p.type === "step" && p.epicCompletedAt);
|
|
2670
|
-
if (completedSteps.length < 2) {
|
|
2671
|
-
setRandomRoute(null);
|
|
2672
|
-
return;
|
|
2673
|
-
}
|
|
2674
|
-
const currentPath = location.pathname;
|
|
2675
|
-
const availableSteps = completedSteps.filter((step) => {
|
|
2676
|
-
if (step.type !== "step") return false;
|
|
2677
|
-
const ex2 = step.exerciseNumber.toString().padStart(2, "0");
|
|
2678
|
-
const st2 = step.stepNumber.toString().padStart(2, "0");
|
|
2679
|
-
const problemRoute = `/exercise/${ex2}/${st2}/problem`;
|
|
2680
|
-
const solutionRoute = `/exercise/${ex2}/${st2}/solution`;
|
|
2681
|
-
return currentPath !== problemRoute && currentPath !== solutionRoute;
|
|
2740
|
+
const nextKey = getPracticePastLessonKey({
|
|
2741
|
+
progress,
|
|
2742
|
+
currentPath: location.pathname
|
|
2682
2743
|
});
|
|
2683
|
-
if (
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
setRandomRoute(null);
|
|
2690
|
-
return;
|
|
2691
|
-
}
|
|
2692
|
-
const ex = randomStep.exerciseNumber.toString().padStart(2, "0");
|
|
2693
|
-
const st = randomStep.stepNumber.toString().padStart(2, "0");
|
|
2694
|
-
setRandomRoute(`/exercise/${ex}/${st}/problem`);
|
|
2744
|
+
if (nextKey === lastKeyRef.current) return;
|
|
2745
|
+
lastKeyRef.current = nextKey;
|
|
2746
|
+
setRandomRoute(nextKey ? getPracticePastLessonRoute({
|
|
2747
|
+
progress,
|
|
2748
|
+
currentPath: location.pathname
|
|
2749
|
+
}) : null);
|
|
2695
2750
|
}, [progress, location.pathname]);
|
|
2696
2751
|
return randomRoute;
|
|
2697
2752
|
}
|
|
@@ -6124,6 +6179,30 @@ const route12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
6124
6179
|
default: _layout$3,
|
|
6125
6180
|
handle: handle$8
|
|
6126
6181
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6182
|
+
const videoDownloadQualityOrder = {
|
|
6183
|
+
best: ["source", "highest", "high", "medium", "low"],
|
|
6184
|
+
high: ["high", "medium", "low", "highest", "source"],
|
|
6185
|
+
medium: ["medium", "low", "high", "highest", "source"],
|
|
6186
|
+
low: ["low", "medium", "high", "highest", "source"]
|
|
6187
|
+
};
|
|
6188
|
+
function getPreferredDownloadSize(downloadSizes, resolution) {
|
|
6189
|
+
if (downloadSizes.length === 0) return null;
|
|
6190
|
+
const sizeByQuality = new Map(
|
|
6191
|
+
downloadSizes.map((download) => [
|
|
6192
|
+
download.quality.toLowerCase(),
|
|
6193
|
+
download.size
|
|
6194
|
+
])
|
|
6195
|
+
);
|
|
6196
|
+
const order = videoDownloadQualityOrder[resolution] ?? videoDownloadQualityOrder.best;
|
|
6197
|
+
for (const quality of order) {
|
|
6198
|
+
const size = sizeByQuality.get(quality);
|
|
6199
|
+
if (typeof size === "number" && Number.isFinite(size) && size > 0)
|
|
6200
|
+
return size;
|
|
6201
|
+
}
|
|
6202
|
+
return downloadSizes.find(
|
|
6203
|
+
(download) => typeof download.size === "number" && Number.isFinite(download.size)
|
|
6204
|
+
)?.size ?? null;
|
|
6205
|
+
}
|
|
6127
6206
|
const PlaybackTimeSchema = z.object({
|
|
6128
6207
|
time: z.number(),
|
|
6129
6208
|
expiresAt: z.string()
|
|
@@ -8374,7 +8453,7 @@ async function action$d({
|
|
|
8374
8453
|
reset: form.reset
|
|
8375
8454
|
});
|
|
8376
8455
|
} catch (error) {
|
|
8377
|
-
const message = getErrorMessage(error);
|
|
8456
|
+
const message = getErrorMessage$1(error);
|
|
8378
8457
|
console.error("Error setting playground", message);
|
|
8379
8458
|
return dataWithPE(request, formData, {
|
|
8380
8459
|
status: "error",
|
|
@@ -10721,7 +10800,7 @@ async function fetchDiscordPosts({ request }) {
|
|
|
10721
10800
|
const result = await fetch(url, {
|
|
10722
10801
|
headers: { "content-type": "application/json" }
|
|
10723
10802
|
}).catch((error) => {
|
|
10724
|
-
return new Response(getErrorMessage(error), { status: 500 });
|
|
10803
|
+
return new Response(getErrorMessage$1(error), { status: 500 });
|
|
10725
10804
|
});
|
|
10726
10805
|
if (!result.ok) {
|
|
10727
10806
|
console.error(`There was an error communicating with discord`);
|
|
@@ -13799,6 +13878,24 @@ const EVENTS = {
|
|
|
13799
13878
|
AUTH_RESOLVED: "AUTH_RESOLVED",
|
|
13800
13879
|
AUTH_REJECTED: "AUTH_REJECTED"
|
|
13801
13880
|
};
|
|
13881
|
+
function logger(ns) {
|
|
13882
|
+
const log2 = debuglog(ns);
|
|
13883
|
+
const prefixedLoggerFn = (prefix, stringOrFn, ...params) => {
|
|
13884
|
+
if (!debuglog(ns).enabled) return;
|
|
13885
|
+
const string = typeof stringOrFn === "function" ? stringOrFn() : stringOrFn;
|
|
13886
|
+
log2(prefix ? `${prefix} ${string}` : string, ...params);
|
|
13887
|
+
};
|
|
13888
|
+
const loggerFn = prefixedLoggerFn.bind(null, null);
|
|
13889
|
+
loggerFn.error = prefixedLoggerFn.bind(null, "🚨");
|
|
13890
|
+
loggerFn.warn = prefixedLoggerFn.bind(null, "⚠️");
|
|
13891
|
+
loggerFn.info = prefixedLoggerFn.bind(null, "ℹ️");
|
|
13892
|
+
loggerFn.namespace = ns;
|
|
13893
|
+
loggerFn.logger = (subNs) => logger(`${ns}:${subNs}`);
|
|
13894
|
+
Object.defineProperty(loggerFn, "enabled", {
|
|
13895
|
+
get: () => log2.enabled
|
|
13896
|
+
});
|
|
13897
|
+
return loggerFn;
|
|
13898
|
+
}
|
|
13802
13899
|
const log = logger("epic:auth");
|
|
13803
13900
|
const UserInfoSchema = z.object({
|
|
13804
13901
|
id: z.string(),
|
|
@@ -13888,7 +13985,7 @@ async function registerDevice() {
|
|
|
13888
13985
|
} catch (error) {
|
|
13889
13986
|
log.error("Device registration failed:", error);
|
|
13890
13987
|
authEmitter.emit(EVENTS.AUTH_REJECTED, {
|
|
13891
|
-
error: getErrorMessage(error)
|
|
13988
|
+
error: getErrorMessage$1(error)
|
|
13892
13989
|
});
|
|
13893
13990
|
}
|
|
13894
13991
|
}
|
|
@@ -14869,11 +14966,161 @@ const route32 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
14869
14966
|
__proto__: null,
|
|
14870
14967
|
loader: loader$k
|
|
14871
14968
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
14969
|
+
const __dirname$1 = path.dirname(new URL(import.meta.url).pathname);
|
|
14970
|
+
const schema = z.object({
|
|
14971
|
+
EPICSHOP_CONTEXT_CWD: z.string().default(""),
|
|
14972
|
+
EPICSHOP_WORKSHOP_INSTANCE_ID: z.string().default(""),
|
|
14973
|
+
NODE_ENV: z.enum(["production", "development", "test"]).default("development"),
|
|
14974
|
+
EPICSHOP_GITHUB_REPO: z.string().default(""),
|
|
14975
|
+
EPICSHOP_GITHUB_ROOT: z.string().default(""),
|
|
14976
|
+
EPICSHOP_APP_VERSION: z.string().optional(),
|
|
14977
|
+
EPICSHOP_APP_COMMIT_SHA: z.string().optional(),
|
|
14978
|
+
EPICSHOP_PARENT_PORT: z.string().optional(),
|
|
14979
|
+
EPICSHOP_PARENT_TOKEN: z.string().optional(),
|
|
14980
|
+
EPICSHOP_APP_LOCATION: z.string().optional(),
|
|
14981
|
+
EPICSHOP_HOME_DIR: z.string().default(path.join(os.homedir(), ".epicshop")),
|
|
14982
|
+
EPICSHOP_IS_PUBLISHED: z.string().default(__dirname$1.includes("node_modules") ? "true" : "false"),
|
|
14983
|
+
// Sentry configuration
|
|
14984
|
+
SENTRY_DSN: z.string().default(
|
|
14985
|
+
"https://cd51fbf4ca0834f7b3529a478a8ece4c@o913766.ingest.us.sentry.io/4509630082252800"
|
|
14986
|
+
),
|
|
14987
|
+
SENTRY_ORG: z.string().default("kent-c-dodds-tech-llc"),
|
|
14988
|
+
SENTRY_PROJECT: z.string().default("epicshop"),
|
|
14989
|
+
SENTRY_PROJECT_ID: z.string().default("4509630082252800"),
|
|
14990
|
+
SENTRY_RELEASE: z.string().optional()
|
|
14991
|
+
}).transform(async (env) => {
|
|
14992
|
+
if (env.EPICSHOP_CONTEXT_CWD === "") {
|
|
14993
|
+
const contextCwd = await getEpicshopContextCwd();
|
|
14994
|
+
if (contextCwd) {
|
|
14995
|
+
env.EPICSHOP_CONTEXT_CWD = contextCwd;
|
|
14996
|
+
}
|
|
14997
|
+
}
|
|
14998
|
+
if (env.EPICSHOP_WORKSHOP_INSTANCE_ID === "") {
|
|
14999
|
+
env.EPICSHOP_WORKSHOP_INSTANCE_ID = md5(env.EPICSHOP_CONTEXT_CWD);
|
|
15000
|
+
}
|
|
15001
|
+
if (env.EPICSHOP_CONTEXT_CWD) {
|
|
15002
|
+
const pkgJsonPath = path.join(env.EPICSHOP_CONTEXT_CWD, "package.json");
|
|
15003
|
+
const pkgJson = JSON.parse(await fs$1.readFile(pkgJsonPath, "utf-8"));
|
|
15004
|
+
const epicshopConfig = pkgJson.epicshop;
|
|
15005
|
+
if (!env.EPICSHOP_GITHUB_REPO || !env.EPICSHOP_GITHUB_ROOT) {
|
|
15006
|
+
const { githubRepo, githubRoot } = handleGitHubRepoAndRoot({
|
|
15007
|
+
githubRepo: epicshopConfig.githubRepo,
|
|
15008
|
+
githubRoot: epicshopConfig.githubRoot
|
|
15009
|
+
});
|
|
15010
|
+
env.EPICSHOP_GITHUB_REPO = githubRepo;
|
|
15011
|
+
env.EPICSHOP_GITHUB_ROOT = githubRoot;
|
|
15012
|
+
}
|
|
15013
|
+
}
|
|
15014
|
+
if (env.EPICSHOP_APP_LOCATION === void 0) {
|
|
15015
|
+
try {
|
|
15016
|
+
const workshopAppPath = import.meta.resolve("@epic-web/workshop-app/package.json");
|
|
15017
|
+
const packagePath = fileURLToPath(workshopAppPath);
|
|
15018
|
+
env.EPICSHOP_APP_LOCATION = path.dirname(packagePath);
|
|
15019
|
+
} catch {
|
|
15020
|
+
}
|
|
15021
|
+
}
|
|
15022
|
+
if (!env.EPICSHOP_APP_VERSION) {
|
|
15023
|
+
if (env.EPICSHOP_APP_LOCATION) {
|
|
15024
|
+
const packageJson = JSON.parse(
|
|
15025
|
+
await fs$1.readFile(
|
|
15026
|
+
path.join(env.EPICSHOP_APP_LOCATION, "package.json"),
|
|
15027
|
+
"utf-8"
|
|
15028
|
+
)
|
|
15029
|
+
);
|
|
15030
|
+
env.EPICSHOP_APP_VERSION = packageJson.version;
|
|
15031
|
+
}
|
|
15032
|
+
}
|
|
15033
|
+
return env;
|
|
15034
|
+
});
|
|
15035
|
+
async function getEpicshopContextCwd() {
|
|
15036
|
+
if (process.env.EPICSHOP_CONTEXT_CWD) {
|
|
15037
|
+
return process.env.EPICSHOP_CONTEXT_CWD;
|
|
15038
|
+
}
|
|
15039
|
+
let dir = process.cwd();
|
|
15040
|
+
while (true) {
|
|
15041
|
+
const pkgPath = path.join(dir, "package.json");
|
|
15042
|
+
try {
|
|
15043
|
+
const pkgRaw = await fs$1.readFile(pkgPath, "utf8");
|
|
15044
|
+
const pkg = JSON.parse(pkgRaw);
|
|
15045
|
+
if (pkg.epicshop) {
|
|
15046
|
+
return dir;
|
|
15047
|
+
}
|
|
15048
|
+
} catch {
|
|
15049
|
+
}
|
|
15050
|
+
const parentDir = path.dirname(dir);
|
|
15051
|
+
if (parentDir === dir) break;
|
|
15052
|
+
dir = parentDir;
|
|
15053
|
+
}
|
|
15054
|
+
return null;
|
|
15055
|
+
}
|
|
15056
|
+
async function init() {
|
|
15057
|
+
const parsed = await schema.safeParseAsync(process.env);
|
|
15058
|
+
if (!parsed.success) {
|
|
15059
|
+
console.error(
|
|
15060
|
+
"❌ Invalid environment variables:",
|
|
15061
|
+
parsed.error.flatten().fieldErrors
|
|
15062
|
+
);
|
|
15063
|
+
throw new Error("Invalid environment variables");
|
|
15064
|
+
}
|
|
15065
|
+
Object.assign(process.env, parsed.data);
|
|
15066
|
+
}
|
|
15067
|
+
function getEnv() {
|
|
15068
|
+
return {
|
|
15069
|
+
MODE: process.env.NODE_ENV,
|
|
15070
|
+
EPICSHOP_CONTEXT_CWD: process.env.EPICSHOP_CONTEXT_CWD,
|
|
15071
|
+
EPICSHOP_WORKSHOP_INSTANCE_ID: process.env.EPICSHOP_WORKSHOP_INSTANCE_ID,
|
|
15072
|
+
EPICSHOP_GITHUB_REPO: process.env.EPICSHOP_GITHUB_REPO,
|
|
15073
|
+
EPICSHOP_GITHUB_ROOT: process.env.EPICSHOP_GITHUB_ROOT,
|
|
15074
|
+
EPICSHOP_DEPLOYED: process.env.EPICSHOP_DEPLOYED === "true" || process.env.EPICSHOP_DEPLOYED === "1",
|
|
15075
|
+
EPICSHOP_APP_VERSION: process.env.EPICSHOP_APP_VERSION,
|
|
15076
|
+
EPICSHOP_APP_COMMIT_SHA: process.env.EPICSHOP_APP_COMMIT_SHA,
|
|
15077
|
+
EPICSHOP_PARENT_PORT: process.env.EPICSHOP_PARENT_PORT,
|
|
15078
|
+
EPICSHOP_PARENT_TOKEN: process.env.EPICSHOP_PARENT_TOKEN,
|
|
15079
|
+
EPICSHOP_IS_PUBLISHED: process.env.EPICSHOP_IS_PUBLISHED === "true",
|
|
15080
|
+
SENTRY_DSN: process.env.SENTRY_DSN,
|
|
15081
|
+
SENTRY_PROJECT_ID: process.env.SENTRY_PROJECT_ID,
|
|
15082
|
+
SENTRY_RELEASE: process.env.SENTRY_RELEASE
|
|
15083
|
+
};
|
|
15084
|
+
}
|
|
15085
|
+
await init();
|
|
15086
|
+
const ENV$1 = getEnv();
|
|
15087
|
+
global.ENV = ENV$1;
|
|
15088
|
+
remember("dayjs", () => {
|
|
15089
|
+
dayjsLib.extend(utcPlugin);
|
|
15090
|
+
dayjsLib.extend(timeZonePlugin);
|
|
15091
|
+
dayjsLib.extend(relativeTimePlugin);
|
|
15092
|
+
return dayjsLib;
|
|
15093
|
+
});
|
|
15094
|
+
function getErrorMessage(error, fallbackMessage = "Unknown Error") {
|
|
15095
|
+
if (typeof error === "string") return error;
|
|
15096
|
+
if (error && typeof error === "object" && "message" in error && typeof error.message === "string") {
|
|
15097
|
+
return error.message;
|
|
15098
|
+
}
|
|
15099
|
+
console.error("Unable to get error message for error", error);
|
|
15100
|
+
return fallbackMessage;
|
|
15101
|
+
}
|
|
15102
|
+
function handleGitHubRepoAndRoot({
|
|
15103
|
+
githubRepo,
|
|
15104
|
+
githubRoot
|
|
15105
|
+
}) {
|
|
15106
|
+
if (githubRepo) {
|
|
15107
|
+
githubRepo = githubRepo.replace(/\/$/, "");
|
|
15108
|
+
githubRoot = `${githubRepo}/tree/main`;
|
|
15109
|
+
} else if (githubRoot) {
|
|
15110
|
+
githubRepo = githubRoot.replace(/\/(blob|tree)\/.*$/, "");
|
|
15111
|
+
githubRoot = `${githubRepo}/tree/main`;
|
|
15112
|
+
} else {
|
|
15113
|
+
throw new Error(
|
|
15114
|
+
`Either githubRepo or githubRoot is required. Please ensure your epicshop package.json config includes either githubRepo or githubRoot configuration.`
|
|
15115
|
+
);
|
|
15116
|
+
}
|
|
15117
|
+
return { githubRepo, githubRoot };
|
|
15118
|
+
}
|
|
14872
15119
|
async function loader$j({
|
|
14873
15120
|
request
|
|
14874
15121
|
}) {
|
|
14875
15122
|
ensureUndeployed();
|
|
14876
|
-
const currentWorkshopId = getEnv().EPICSHOP_WORKSHOP_INSTANCE_ID;
|
|
15123
|
+
const currentWorkshopId = getEnv$1().EPICSHOP_WORKSHOP_INSTANCE_ID;
|
|
14877
15124
|
const allWorkshopCaches = await getAllWorkshopCaches();
|
|
14878
15125
|
const globalCaches = await getGlobalCaches();
|
|
14879
15126
|
const allCaches = [...allWorkshopCaches, ...globalCaches];
|
|
@@ -14970,7 +15217,7 @@ async function action$7({
|
|
|
14970
15217
|
} catch (error) {
|
|
14971
15218
|
return {
|
|
14972
15219
|
status: "error",
|
|
14973
|
-
error: getErrorMessage
|
|
15220
|
+
error: getErrorMessage(error, "Invalid JSON value")
|
|
14974
15221
|
};
|
|
14975
15222
|
}
|
|
14976
15223
|
}
|
|
@@ -16454,22 +16701,22 @@ async function loader$e() {
|
|
|
16454
16701
|
const [commitInfo, latestVersion] = await Promise.all([time(() => getCommitInfo(), {
|
|
16455
16702
|
timings,
|
|
16456
16703
|
type: "getCommitInfo"
|
|
16457
|
-
}), time(() => getLatestWorkshopAppVersion().catch((e) => getErrorMessage(e)), {
|
|
16704
|
+
}), time(() => getLatestWorkshopAppVersion().catch((e) => getErrorMessage$1(e)), {
|
|
16458
16705
|
timings,
|
|
16459
16706
|
type: "getLatestWorkshopAppVersion"
|
|
16460
16707
|
})]);
|
|
16461
16708
|
const uptime = process.uptime() * 1e3;
|
|
16462
16709
|
const startDate = new Date(Date.now() - uptime);
|
|
16463
16710
|
return data({
|
|
16464
|
-
workshopInstanceId: getEnv().EPICSHOP_WORKSHOP_INSTANCE_ID,
|
|
16465
|
-
workshopContextCwd: getEnv().EPICSHOP_CONTEXT_CWD,
|
|
16711
|
+
workshopInstanceId: getEnv$1().EPICSHOP_WORKSHOP_INSTANCE_ID,
|
|
16712
|
+
workshopContextCwd: getEnv$1().EPICSHOP_CONTEXT_CWD,
|
|
16466
16713
|
workshopCommit: commitInfo ? {
|
|
16467
16714
|
...commitInfo,
|
|
16468
16715
|
dateFormatted: dayjs(commitInfo.date).format("YYYY-MM-DD HH:mm:ss"),
|
|
16469
16716
|
dateFromNow: dayjs(commitInfo.date).fromNow()
|
|
16470
16717
|
} : null,
|
|
16471
16718
|
latestWorkshopAppVersion: latestVersion,
|
|
16472
|
-
workshopAppVersion: getEnv().EPICSHOP_APP_VERSION,
|
|
16719
|
+
workshopAppVersion: getEnv$1().EPICSHOP_APP_VERSION,
|
|
16473
16720
|
startTime: startDate.toISOString(),
|
|
16474
16721
|
startTimeFormatted: dayjs(startDate).format("YYYY-MM-DD HH:mm:ss"),
|
|
16475
16722
|
startTimeFromNow: dayjs(startDate).fromNow()
|
|
@@ -16787,7 +17034,7 @@ const route47 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
16787
17034
|
action: action$4
|
|
16788
17035
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
16789
17036
|
function sendMcpMessage(type, payload, options = {}) {
|
|
16790
|
-
const { schema } = options;
|
|
17037
|
+
const { schema: schema2 } = options;
|
|
16791
17038
|
const messageId = crypto.randomUUID();
|
|
16792
17039
|
return new Promise((resolve, reject) => {
|
|
16793
17040
|
if (!window.parent || window.parent === window) {
|
|
@@ -16806,8 +17053,8 @@ function sendMcpMessage(type, payload, options = {}) {
|
|
|
16806
17053
|
window.removeEventListener("message", handleMessage);
|
|
16807
17054
|
const { response, error } = event.data.payload;
|
|
16808
17055
|
if (error) return reject(error);
|
|
16809
|
-
if (!
|
|
16810
|
-
const parseResult =
|
|
17056
|
+
if (!schema2) return resolve(response);
|
|
17057
|
+
const parseResult = schema2.safeParse(response);
|
|
16811
17058
|
if (!parseResult.success) return reject(parseResult.error);
|
|
16812
17059
|
return resolve(parseResult.data);
|
|
16813
17060
|
}
|
|
@@ -16983,7 +17230,7 @@ async function loader$8({
|
|
|
16983
17230
|
}
|
|
16984
17231
|
});
|
|
16985
17232
|
} catch (error) {
|
|
16986
|
-
return new Response(getErrorMessage(error), {
|
|
17233
|
+
return new Response(getErrorMessage$1(error), {
|
|
16987
17234
|
status: 500,
|
|
16988
17235
|
headers: {
|
|
16989
17236
|
"Server-Timing": timings.toString()
|
|
@@ -17575,7 +17822,7 @@ async function action({
|
|
|
17575
17822
|
try {
|
|
17576
17823
|
await setPlayground(savedPlayground.fullPath);
|
|
17577
17824
|
} catch (error) {
|
|
17578
|
-
const message = getErrorMessage(error);
|
|
17825
|
+
const message = getErrorMessage$1(error);
|
|
17579
17826
|
console.error("Error setting playground from saved copy", message);
|
|
17580
17827
|
return dataWithPE(request, formData, {
|
|
17581
17828
|
status: "error",
|
|
@@ -17633,7 +17880,7 @@ const route61 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
17633
17880
|
__proto__: null,
|
|
17634
17881
|
loader
|
|
17635
17882
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
17636
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-DdbTov6T.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/root-BwYDIUyI.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/client-only-BeMV-Wuv.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/dialog-CzO65Z5w.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/index-DzdDahau.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-CdzVFL-Z.js", "/assets/presence-VCvV2mg7.js", "/assets/seo-t5J-DRxw.js", "/assets/pe-CIZUOJMr.js", "/assets/index-ynYvVAOK.js", "/assets/root-loader-BOzEMapJ.js", "/assets/online-DiNLkgTC.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_-C4AWl_1u.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-C9vSX5Ti.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/pe-CIZUOJMr.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/product-CvyMpYD_.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/dialog-CzO65Z5w.js", "/assets/index-CmflCPTU.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/online-DiNLkgTC.js", "/assets/presence-VCvV2mg7.js", "/assets/root-loader-BOzEMapJ.js", "/assets/progress-BcA4i0iU.js", "/assets/index-CdzVFL-Z.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-ynYvVAOK.js", "/assets/index-vDCSPjrM.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/account-C96cpeZR.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/discord-r3m19sUM.js", "imports": ["/assets/discord-BJkw0IrB.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/user-BsPobzjB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BvtJxESE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-jokuvO2V.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-CC0372g5.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-BcA4i0iU.js", "/assets/mdx-vy-1-0a3.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber/:type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_layout-_Aw6qzZC.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-BcA4i0iU.js", "/assets/set-playground-BSGwH9dH.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/epic-video-CC0372g5.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/mdx-vy-1-0a3.js", "/assets/index-CmflCPTU.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/index-CJDOQ1bl.js", "/assets/index-vDCSPjrM.js", "/assets/index-ynYvVAOK.js", "/assets/button-Cd-ekki5.js", "/assets/dialog-CzO65Z5w.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app-CJniokic.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/preview-fhmjENlm.js", "/assets/misc-W4055b-0.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-Pxi8WjFA.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/playground-DmEAkxG1.js", "/assets/diff-Dng5ItOr.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/misc-W4055b-0.js", "/assets/preview-fhmjENlm.js", "/assets/tests-CZ2AhDKA.js", "/assets/index-CqIc3cxq.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/mdx-vy-1-0a3.js", "/assets/epic-video-CC0372g5.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/format-CZ5n8p10.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-Ciw2aKZE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/tests-CZ2AhDKA.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/misc-W4055b-0.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/epic-video-CC0372g5.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber.index-BPqMtmN8.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/schemas-Uj5SZtvt.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BaC--Y5p.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-CC0372g5.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/retrieval-practice-BOku32wW.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-BcA4i0iU.js", "/assets/index-CdzVFL-Z.js", "/assets/mdx-vy-1-0a3.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/preload-helper-BXl3LOEh.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/_layout": { "id": "routes/_app+/extra+/_layout", "parentId": "routes/_app+/_layout", "path": "extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-jJ6TnDJF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/$extra": { "id": "routes/_app+/extra+/$extra", "parentId": "routes/_app+/extra+/_layout", "path": ":extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_extra-DXypL1sc.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/playground-DmEAkxG1.js", "/assets/index-CqIc3cxq.js", "/assets/diff-Dng5ItOr.js", "/assets/epic-video-CC0372g5.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preview-fhmjENlm.js", "/assets/launch-editor-D2exGfVu.js", "/assets/set-playground-BSGwH9dH.js", "/assets/mdx-vy-1-0a3.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/format-CZ5n8p10.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/button-Cd-ekki5.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/index": { "id": "routes/_app+/extra+/index", "parentId": "routes/_app+/extra+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-CFM_ffAh.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-CC0372g5.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-vy-1-0a3.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/finished-BbEk1NdF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-CC0372g5.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/mdx-vy-1-0a3.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/retrieval-practice-BOku32wW.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-BcA4i0iU.js", "/assets/index-CdzVFL-Z.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/guide": { "id": "routes/_app+/guide", "parentId": "routes/_app+/_layout", "path": "guide", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/guide-Cinib8Ji.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-CfU0fdf7.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-CC0372g5.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-vy-1-0a3.js", "/assets/misc-W4055b-0.js", "/assets/progress-BcA4i0iU.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/l": { "id": "routes/_app+/l", "parentId": "routes/_app+/_layout", "path": "l", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/l-BWU2-fsj.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-mWjVXGbJ.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/product-CvyMpYD_.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/schemas-Uj5SZtvt.js", "/assets/misc-W4055b-0.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/preferences": { "id": "routes/_app+/preferences", "parentId": "routes/_app+/_layout", "path": "preferences", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/preferences-B7ND1VS9.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/support-D5mDQ-c-.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/workspace-structure": { "id": "routes/_app+/workspace-structure", "parentId": "routes/_app+/_layout", "path": "workspace-structure", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/workspace-structure-B6Rpl-B2.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/index-CqIc3cxq.js", "/assets/misc-W4055b-0.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-CunOyAg4.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache-CAr50MIB.js", "imports": ["/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/client-only-BeMV-Wuv.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/launch-editor-D2exGfVu.js", "/assets/pe-CIZUOJMr.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache.$": { "id": "routes/admin+/cache.$", "parentId": "routes/admin+/cache", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/db": { "id": "routes/admin+/db", "parentId": "routes/admin+/_layout", "path": "db", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/db-DAnX-T3_.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/launch-editor-D2exGfVu.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/index": { "id": "routes/admin+/index", "parentId": "routes/admin+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DroM8fzS.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/progress-BcA4i0iU.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/notifications": { "id": "routes/admin+/notifications", "parentId": "routes/admin+/_layout", "path": "notifications", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/offline-videos": { "id": "routes/admin+/offline-videos", "parentId": "routes/admin+/_layout", "path": "offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-DAsuWMco.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/format-CZ5n8p10.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version": { "id": "routes/admin+/version", "parentId": "routes/admin+/_layout", "path": "version", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version-f8qqYbyU.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version[.json]": { "id": "routes/admin+/version[.json]", "parentId": "routes/admin+/_layout", "path": "version.json", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version_.json_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff-DfWBhj2O.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/diff-Dng5ItOr.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/mdx-vy-1-0a3.js", "/assets/index-DzdDahau.js", "/assets/epic-video-CC0372g5.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff.$shortcut": { "id": "routes/diff.$shortcut", "parentId": "routes/diff", "path": ":shortcut", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff._shortcut-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mark-onboarding-complete": { "id": "routes/mark-onboarding-complete", "parentId": "root", "path": "mark-onboarding-complete", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/mark-onboarding-complete-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mcp-ui+/epic-video": { "id": "routes/mcp-ui+/epic-video", "parentId": "root", "path": "mcp-ui/epic-video", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic-video-C1_HSISA.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-CC0372g5.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/persist-playground": { "id": "routes/persist-playground", "parentId": "root", "path": "persist-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/persist-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/healthcheck": { "id": "routes/resources+/healthcheck", "parentId": "root", "path": "resources/healthcheck", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/healthcheck-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/lookout": { "id": "routes/resources+/lookout", "parentId": "root", "path": "resources/lookout", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/lookout-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-video-progress.$playbackId": { "id": "routes/resources+/offline-video-progress.$playbackId", "parentId": "root", "path": "resources/offline-video-progress/:playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-video-progress._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos": { "id": "routes/resources+/offline-videos", "parentId": "root", "path": "resources/offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos.$playbackId": { "id": "routes/resources+/offline-videos.$playbackId", "parentId": "routes/resources+/offline-videos", "path": ":playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/saved-playgrounds": { "id": "routes/saved-playgrounds", "parentId": "root", "path": "saved-playgrounds", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/saved-playgrounds-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-835c6db1.js", "version": "835c6db1", "sri": void 0 };
|
|
17883
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-DdbTov6T.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/root-BwYDIUyI.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/client-only-BeMV-Wuv.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/dialog-CzO65Z5w.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/index-DzdDahau.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-CdzVFL-Z.js", "/assets/presence-VCvV2mg7.js", "/assets/seo-t5J-DRxw.js", "/assets/pe-CIZUOJMr.js", "/assets/index-ynYvVAOK.js", "/assets/root-loader-BOzEMapJ.js", "/assets/online-DiNLkgTC.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_-C4AWl_1u.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BDFC2e7T.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/pe-CIZUOJMr.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/product-CvyMpYD_.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/dialog-CzO65Z5w.js", "/assets/index-CmflCPTU.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/online-DiNLkgTC.js", "/assets/presence-VCvV2mg7.js", "/assets/root-loader-BOzEMapJ.js", "/assets/progress-Bby-ybMA.js", "/assets/index-CdzVFL-Z.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-ynYvVAOK.js", "/assets/index-vDCSPjrM.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/account-C96cpeZR.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/discord-r3m19sUM.js", "imports": ["/assets/discord-BJkw0IrB.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/user-BsPobzjB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BvtJxESE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-6IQJMb5M.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-DzLohyvt.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-Bby-ybMA.js", "/assets/mdx-8X3W8bVO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber/:type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_layout-CCCrBY2W.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-Bby-ybMA.js", "/assets/set-playground-BSGwH9dH.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/epic-video-DzLohyvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/mdx-8X3W8bVO.js", "/assets/index-CmflCPTU.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/index-CJDOQ1bl.js", "/assets/index-vDCSPjrM.js", "/assets/index-ynYvVAOK.js", "/assets/button-Cd-ekki5.js", "/assets/dialog-CzO65Z5w.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app-CJniokic.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/preview-fhmjENlm.js", "/assets/misc-W4055b-0.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-BNsKVnVt.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/playground-DmEAkxG1.js", "/assets/diff-4YyKvzHi.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/misc-W4055b-0.js", "/assets/preview-fhmjENlm.js", "/assets/tests-DlPVOsMT.js", "/assets/index-CqIc3cxq.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/mdx-8X3W8bVO.js", "/assets/epic-video-DzLohyvt.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/format-CZ5n8p10.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-DXylXETz.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/tests-DlPVOsMT.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/misc-W4055b-0.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/epic-video-DzLohyvt.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber.index-BPqMtmN8.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/schemas-Uj5SZtvt.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-D9-WSUZy.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-DzLohyvt.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/retrieval-practice-BOku32wW.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-Bby-ybMA.js", "/assets/index-CdzVFL-Z.js", "/assets/mdx-8X3W8bVO.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/preload-helper-BXl3LOEh.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/_layout": { "id": "routes/_app+/extra+/_layout", "parentId": "routes/_app+/_layout", "path": "extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-jJ6TnDJF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/$extra": { "id": "routes/_app+/extra+/$extra", "parentId": "routes/_app+/extra+/_layout", "path": ":extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_extra-IT1EaIMp.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/playground-DmEAkxG1.js", "/assets/index-CqIc3cxq.js", "/assets/diff-4YyKvzHi.js", "/assets/epic-video-DzLohyvt.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preview-fhmjENlm.js", "/assets/launch-editor-D2exGfVu.js", "/assets/set-playground-BSGwH9dH.js", "/assets/mdx-8X3W8bVO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/format-CZ5n8p10.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/button-Cd-ekki5.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/index": { "id": "routes/_app+/extra+/index", "parentId": "routes/_app+/extra+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-BN0kldnY.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-DzLohyvt.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-8X3W8bVO.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/finished-CzmzTZg6.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-DzLohyvt.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/retrieval-practice-BOku32wW.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/mdx-8X3W8bVO.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-Bby-ybMA.js", "/assets/index-CdzVFL-Z.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/guide": { "id": "routes/_app+/guide", "parentId": "routes/_app+/_layout", "path": "guide", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/guide-Cinib8Ji.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-Cby_tLUO.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-DzLohyvt.js", "/assets/error-boundary-DxHqAEHX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-8X3W8bVO.js", "/assets/misc-W4055b-0.js", "/assets/progress-Bby-ybMA.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/l": { "id": "routes/_app+/l", "parentId": "routes/_app+/_layout", "path": "l", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/l-BWU2-fsj.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-mWjVXGbJ.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/product-CvyMpYD_.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/schemas-Uj5SZtvt.js", "/assets/misc-W4055b-0.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/preferences": { "id": "routes/_app+/preferences", "parentId": "routes/_app+/_layout", "path": "preferences", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/preferences-B7ND1VS9.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/format-CZ5n8p10.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/support-D5mDQ-c-.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/workspace-structure": { "id": "routes/_app+/workspace-structure", "parentId": "routes/_app+/_layout", "path": "workspace-structure", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/workspace-structure-B6Rpl-B2.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/index-CqIc3cxq.js", "/assets/misc-W4055b-0.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-CunOyAg4.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache-CAr50MIB.js", "imports": ["/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/client-only-BeMV-Wuv.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/launch-editor-D2exGfVu.js", "/assets/pe-CIZUOJMr.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache.$": { "id": "routes/admin+/cache.$", "parentId": "routes/admin+/cache", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/db": { "id": "routes/admin+/db", "parentId": "routes/admin+/_layout", "path": "db", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/db-DAnX-T3_.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/launch-editor-D2exGfVu.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/index": { "id": "routes/admin+/index", "parentId": "routes/admin+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-Dpyv8N6m.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/progress-Bby-ybMA.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/notifications": { "id": "routes/admin+/notifications", "parentId": "routes/admin+/_layout", "path": "notifications", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/offline-videos": { "id": "routes/admin+/offline-videos", "parentId": "routes/admin+/_layout", "path": "offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-DAsuWMco.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/format-CZ5n8p10.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version": { "id": "routes/admin+/version", "parentId": "routes/admin+/_layout", "path": "version", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version-f8qqYbyU.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version[.json]": { "id": "routes/admin+/version[.json]", "parentId": "routes/admin+/_layout", "path": "version.json", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version_.json_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff-8Er9eAl-.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/diff-4YyKvzHi.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/mdx-8X3W8bVO.js", "/assets/index-DzdDahau.js", "/assets/epic-video-DzLohyvt.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff.$shortcut": { "id": "routes/diff.$shortcut", "parentId": "routes/diff", "path": ":shortcut", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff._shortcut-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mark-onboarding-complete": { "id": "routes/mark-onboarding-complete", "parentId": "root", "path": "mark-onboarding-complete", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/mark-onboarding-complete-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mcp-ui+/epic-video": { "id": "routes/mcp-ui+/epic-video", "parentId": "root", "path": "mcp-ui/epic-video", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic-video-BtFzbNqF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-DzLohyvt.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/format-CZ5n8p10.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/persist-playground": { "id": "routes/persist-playground", "parentId": "root", "path": "persist-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/persist-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/healthcheck": { "id": "routes/resources+/healthcheck", "parentId": "root", "path": "resources/healthcheck", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/healthcheck-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/lookout": { "id": "routes/resources+/lookout", "parentId": "root", "path": "resources/lookout", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/lookout-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-video-progress.$playbackId": { "id": "routes/resources+/offline-video-progress.$playbackId", "parentId": "root", "path": "resources/offline-video-progress/:playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-video-progress._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos": { "id": "routes/resources+/offline-videos", "parentId": "root", "path": "resources/offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos.$playbackId": { "id": "routes/resources+/offline-videos.$playbackId", "parentId": "routes/resources+/offline-videos", "path": ":playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/saved-playgrounds": { "id": "routes/saved-playgrounds", "parentId": "root", "path": "saved-playgrounds", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/saved-playgrounds-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-65ac4702.js", "version": "65ac4702", "sri": void 0 };
|
|
17637
17884
|
const assetsBuildDirectory = "build/client";
|
|
17638
17885
|
const basename = "/";
|
|
17639
17886
|
const future = { "unstable_optimizeDeps": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };
|