@epic-web/workshop-app 4.22.4 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/build/client/assets/_-Cv8HqtE8.js +2 -0
  2. package/build/client/assets/{_-DbrWZazo.js.map → _-Cv8HqtE8.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber-D2tXimAK.js +2 -0
  4. package/build/client/assets/{_exerciseNumber-CpcJsfoV.js.map → _exerciseNumber-D2tXimAK.js.map} +1 -1
  5. package/build/client/assets/_exerciseNumber_._stepNumber-CquNe5XV.js +2 -0
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-B5pmJ29o.js.map → _exerciseNumber_._stepNumber-CquNe5XV.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-B-sqDk3j.js +2 -0
  8. package/build/client/assets/{_exerciseNumber_.finished-Ddb3J5ls.js.map → _exerciseNumber_.finished-B-sqDk3j.js.map} +1 -1
  9. package/build/client/assets/_layout-C7yUCsjZ.js +2 -0
  10. package/build/client/assets/{_layout-DVR5FOsb.js.map → _layout-C7yUCsjZ.js.map} +1 -1
  11. package/build/client/assets/_layout-C9AozQxr.js +6 -0
  12. package/build/client/assets/_layout-C9AozQxr.js.map +1 -0
  13. package/build/client/assets/{_layout-BUs3av-e.js → _layout-CRkVkufr.js} +2 -2
  14. package/build/client/assets/{_layout-BUs3av-e.js.map → _layout-CRkVkufr.js.map} +1 -1
  15. package/build/client/assets/_layout-Ciyqvptc.js +2 -0
  16. package/build/client/assets/{_layout-CGLKLU3y.js.map → _layout-Ciyqvptc.js.map} +1 -1
  17. package/build/client/assets/accordion-B-gQ5Whz.js +2 -0
  18. package/build/client/assets/{accordion-BroSqIct.js.map → accordion-B-gQ5Whz.js.map} +1 -1
  19. package/build/client/assets/account-B-3k5HDM.js +2 -0
  20. package/build/client/assets/{account-7o6O4ruO.js.map → account-B-3k5HDM.js.map} +1 -1
  21. package/build/client/assets/app-DAWCzuDw.js +2 -0
  22. package/build/client/assets/{app-BhrXo-z3.js.map → app-DAWCzuDw.js.map} +1 -1
  23. package/build/client/assets/{button-BklqyTPS.js → button-DataaIpW.js} +2 -2
  24. package/build/client/assets/{button-BklqyTPS.js.map → button-DataaIpW.js.map} +1 -1
  25. package/build/client/assets/{components-CME-nGId.js → components-BQB6wEvm.js} +18 -18
  26. package/build/client/assets/{components-CME-nGId.js.map → components-BQB6wEvm.js.map} +1 -1
  27. package/build/client/assets/diff-BWSOt7tL.js +2 -0
  28. package/build/client/assets/{diff-Cr4LLBag.js.map → diff-BWSOt7tL.js.map} +1 -1
  29. package/build/client/assets/diff-JWdZCc2F.js +2 -0
  30. package/build/client/assets/{diff-BNr0PhFR.js.map → diff-JWdZCc2F.js.map} +1 -1
  31. package/build/client/assets/{discord-Dq4e30wV.js → discord-BfUTLoVF.js} +2 -2
  32. package/build/client/assets/{discord-Dq4e30wV.js.map → discord-BfUTLoVF.js.map} +1 -1
  33. package/build/client/assets/discord-BqGuuhG3.js +2 -0
  34. package/build/client/assets/discord-BqGuuhG3.js.map +1 -0
  35. package/build/client/assets/{entry.client-3M2p-8I3.js → entry.client-7AjQ7fYK.js} +9 -9
  36. package/build/client/assets/{entry.client-3M2p-8I3.js.map → entry.client-7AjQ7fYK.js.map} +1 -1
  37. package/build/client/assets/{epic-video-CxZy3iqK.js → epic-video-D8tfMIv8.js} +96 -96
  38. package/build/client/assets/{epic-video-CxZy3iqK.js.map → epic-video-D8tfMIv8.js.map} +1 -1
  39. package/build/client/assets/{error-boundary-DDTvdkB4.js → error-boundary-Bx1mDmB-.js} +2 -2
  40. package/build/client/assets/{error-boundary-DDTvdkB4.js.map → error-boundary-Bx1mDmB-.js.map} +1 -1
  41. package/build/client/assets/finished-DvXH6L-Q.js +2 -0
  42. package/build/client/assets/{finished-CU8QBU41.js.map → finished-DvXH6L-Q.js.map} +1 -1
  43. package/build/client/assets/index-2WpY3jqc.js +37 -0
  44. package/build/client/assets/{index-1cKOJFpX.js.map → index-2WpY3jqc.js.map} +1 -1
  45. package/build/client/assets/{index-B-hHvmeV.js → index-Bt0Fs1uZ.js} +2 -2
  46. package/build/client/assets/{index-B-hHvmeV.js.map → index-Bt0Fs1uZ.js.map} +1 -1
  47. package/build/client/assets/{index-Dx5GmdYq.js → index-DGsreVfh.js} +2 -2
  48. package/build/client/assets/{index-Dx5GmdYq.js.map → index-DGsreVfh.js.map} +1 -1
  49. package/build/client/assets/index-DmASob5Y.js +2 -0
  50. package/build/client/assets/{index-BotyhhDm.js.map → index-DmASob5Y.js.map} +1 -1
  51. package/build/client/assets/index-TIHEbU65.js +36 -0
  52. package/build/client/assets/index-TIHEbU65.js.map +1 -0
  53. package/build/client/assets/{index-hogig2HK.js → index-aPMCrDDW.js} +2 -2
  54. package/build/client/assets/{index-hogig2HK.js.map → index-aPMCrDDW.js.map} +1 -1
  55. package/build/client/assets/{index-BXWoOGxB.js → index-bM_TIo_p.js} +2 -2
  56. package/build/client/assets/{index-BXWoOGxB.js.map → index-bM_TIo_p.js.map} +1 -1
  57. package/build/client/assets/index-kXas9qNh.js +2 -0
  58. package/build/client/assets/{index-c5oITeyN.js.map → index-kXas9qNh.js.map} +1 -1
  59. package/build/client/assets/loading-DXKqMYHW.js +2 -0
  60. package/build/client/assets/{loading-C5uX0jJw.js.map → loading-DXKqMYHW.js.map} +1 -1
  61. package/build/client/assets/login-WXKB-OYe.js +2 -0
  62. package/build/client/assets/login-WXKB-OYe.js.map +1 -0
  63. package/build/client/assets/manifest-5edda375.js +1 -0
  64. package/build/client/assets/mdx-D0cZm8uP.js +2 -0
  65. package/build/client/assets/{mdx-D7ttfz2V.js.map → mdx-D0cZm8uP.js.map} +1 -1
  66. package/build/client/assets/misc-LevbAJZ6.js +2 -0
  67. package/build/client/assets/misc-LevbAJZ6.js.map +1 -0
  68. package/build/client/assets/{nav-chevrons-B82nbdyj.js → nav-chevrons-BB1CK34B.js} +2 -2
  69. package/build/client/assets/{nav-chevrons-B82nbdyj.js.map → nav-chevrons-BB1CK34B.js.map} +1 -1
  70. package/build/client/assets/onboarding-CK8-hFDT.js +2 -0
  71. package/build/client/assets/{onboarding-Co4cldZ0.js.map → onboarding-CK8-hFDT.js.map} +1 -1
  72. package/build/client/assets/{pe-CUZaIcdt.js → pe-BmTNRcy_.js} +2 -2
  73. package/build/client/assets/{pe-CUZaIcdt.js.map → pe-BmTNRcy_.js.map} +1 -1
  74. package/build/client/assets/{presence-Cr--lRCr.js → presence-CmTnJPJh.js} +2 -2
  75. package/build/client/assets/{presence-Cr--lRCr.js.map → presence-CmTnJPJh.js.map} +1 -1
  76. package/build/client/assets/preview-BbJZ7UrX.js +2 -0
  77. package/build/client/assets/{preview-CdiZ0d0L.js.map → preview-BbJZ7UrX.js.map} +1 -1
  78. package/build/client/assets/product-Bi2uble-.js +2 -0
  79. package/build/client/assets/product-Bi2uble-.js.map +1 -0
  80. package/build/client/assets/{progress-bar-CSvo1ZXP.js → progress-bar-HYCoNAkN.js} +2 -2
  81. package/build/client/assets/{progress-bar-CSvo1ZXP.js.map → progress-bar-HYCoNAkN.js.map} +1 -1
  82. package/build/client/assets/{progress-Biq-ngNF.js → progress-fFpCuCyE.js} +2 -2
  83. package/build/client/assets/{progress-Biq-ngNF.js.map → progress-fFpCuCyE.js.map} +1 -1
  84. package/build/client/assets/{request-info-CEhUGODY.js → request-info-D6MPpnDd.js} +2 -2
  85. package/build/client/assets/{request-info-CEhUGODY.js.map → request-info-D6MPpnDd.js.map} +1 -1
  86. package/build/client/assets/{root-D_FY953d.js → root-CY8QRU4e.js} +6 -6
  87. package/build/client/assets/{root-D_FY953d.js.map → root-CY8QRU4e.js.map} +1 -1
  88. package/build/client/assets/set-playground-8-BH15HT.js +2 -0
  89. package/build/client/assets/{set-playground-BXHckvUG.js.map → set-playground-8-BH15HT.js.map} +1 -1
  90. package/build/client/assets/{support-hcqGIpir.js → support-l4EbxG8X.js} +2 -2
  91. package/build/client/assets/{support-hcqGIpir.js.map → support-l4EbxG8X.js.map} +1 -1
  92. package/build/client/assets/test--z-MS4Cz.js +2 -0
  93. package/build/client/assets/{test-BRkbo9G9.js.map → test--z-MS4Cz.js.map} +1 -1
  94. package/build/client/assets/{tests-DQuoxpDA.js → tests-CNclXTWp.js} +2 -2
  95. package/build/client/assets/{tests-DQuoxpDA.js.map → tests-CNclXTWp.js.map} +1 -1
  96. package/build/client/assets/{tooltip-BiHTe_7F.js → tooltip-Blm9zu1K.js} +2 -2
  97. package/build/client/assets/{tooltip-BiHTe_7F.js.map → tooltip-Blm9zu1K.js.map} +1 -1
  98. package/build/client/assets/{use-event-source-A_0lEOPX.js → use-event-source-C81lzj_8.js} +2 -2
  99. package/build/client/assets/{use-event-source-A_0lEOPX.js.map → use-event-source-C81lzj_8.js.map} +1 -1
  100. package/build/client/assets/{user-D6tTg1yS.js → user-2ca9K5af.js} +2 -2
  101. package/build/client/assets/{user-D6tTg1yS.js.map → user-2ca9K5af.js.map} +1 -1
  102. package/build/client/assets/workshop-config-COvWTBns.js +2 -0
  103. package/build/client/assets/workshop-config-COvWTBns.js.map +1 -0
  104. package/build/client/icons.svg +541 -526
  105. package/build/client/logo.svg +48 -0
  106. package/build/server/index.js +155 -80
  107. package/build/server/index.js.map +1 -1
  108. package/package.json +3 -3
  109. package/build/client/assets/_-DbrWZazo.js +0 -2
  110. package/build/client/assets/_exerciseNumber-CpcJsfoV.js +0 -2
  111. package/build/client/assets/_exerciseNumber_._stepNumber-B5pmJ29o.js +0 -2
  112. package/build/client/assets/_exerciseNumber_.finished-Ddb3J5ls.js +0 -2
  113. package/build/client/assets/_layout-BLsKV5zF.js +0 -6
  114. package/build/client/assets/_layout-BLsKV5zF.js.map +0 -1
  115. package/build/client/assets/_layout-CGLKLU3y.js +0 -2
  116. package/build/client/assets/_layout-DVR5FOsb.js +0 -2
  117. package/build/client/assets/accordion-BroSqIct.js +0 -2
  118. package/build/client/assets/account-7o6O4ruO.js +0 -2
  119. package/build/client/assets/app-BhrXo-z3.js +0 -2
  120. package/build/client/assets/client-hints-DNUUFGmB.js +0 -36
  121. package/build/client/assets/client-hints-DNUUFGmB.js.map +0 -1
  122. package/build/client/assets/clsx-B-dksMZM.js +0 -2
  123. package/build/client/assets/clsx-B-dksMZM.js.map +0 -1
  124. package/build/client/assets/diff-BNr0PhFR.js +0 -2
  125. package/build/client/assets/diff-Cr4LLBag.js +0 -2
  126. package/build/client/assets/discord-CHP4_JLJ.js +0 -2
  127. package/build/client/assets/discord-CHP4_JLJ.js.map +0 -1
  128. package/build/client/assets/finished-CU8QBU41.js +0 -2
  129. package/build/client/assets/index-1cKOJFpX.js +0 -37
  130. package/build/client/assets/index-6GyYWV9G.js +0 -2
  131. package/build/client/assets/index-6GyYWV9G.js.map +0 -1
  132. package/build/client/assets/index-BotyhhDm.js +0 -2
  133. package/build/client/assets/index-c5oITeyN.js +0 -2
  134. package/build/client/assets/loading-C5uX0jJw.js +0 -2
  135. package/build/client/assets/login-4cvVFzF8.js +0 -2
  136. package/build/client/assets/login-4cvVFzF8.js.map +0 -1
  137. package/build/client/assets/manifest-da85ee1f.js +0 -1
  138. package/build/client/assets/mdx-D7ttfz2V.js +0 -2
  139. package/build/client/assets/misc-ENVX3CWf.js +0 -2
  140. package/build/client/assets/misc-ENVX3CWf.js.map +0 -1
  141. package/build/client/assets/onboarding-Co4cldZ0.js +0 -2
  142. package/build/client/assets/preview-CdiZ0d0L.js +0 -2
  143. package/build/client/assets/set-playground-BXHckvUG.js +0 -2
  144. package/build/client/assets/test-BRkbo9G9.js +0 -2
@@ -1187,6 +1187,13 @@ const WorkshopConfigSchema = z$1.object({
1187
1187
  instructor: InstructorSchema.optional(),
1188
1188
  epicWorkshopHost: z$1.string().default("www.epicweb.dev"),
1189
1189
  epicWorkshopSlug: z$1.string().optional(),
1190
+ product: z$1.object({
1191
+ host: z$1.string().default("www.epicweb.dev"),
1192
+ displayName: z$1.string().default("EpicWeb.dev"),
1193
+ displayNameShort: z$1.string().default("Epic Web"),
1194
+ logo: z$1.string().default("/logo.svg"),
1195
+ slug: z$1.string().optional()
1196
+ }).default({}),
1190
1197
  onboardingVideo: z$1.string().default(
1191
1198
  "https://www.epicweb.dev/tips/get-started-with-the-epic-workshop-app"
1192
1199
  ),
@@ -1209,6 +1216,17 @@ const WorkshopConfigSchema = z$1.object({
1209
1216
  }).optional(),
1210
1217
  initialRoute: z$1.string().optional().default("/")
1211
1218
  // Add this line
1219
+ }).transform((data) => {
1220
+ return {
1221
+ ...data,
1222
+ product: {
1223
+ ...data.product,
1224
+ displayNameShort: data.product.displayNameShort ?? data.product.displayName,
1225
+ // for backwards compatibility
1226
+ host: data.epicWorkshopHost,
1227
+ slug: data.epicWorkshopSlug
1228
+ }
1229
+ };
1212
1230
  });
1213
1231
  let cachedConfig = null;
1214
1232
  function bustWorkshopConfigCache() {
@@ -2737,7 +2755,7 @@ function AnimatedBars({
2737
2755
  }
2738
2756
  );
2739
2757
  }
2740
- const sizeClassName = {
2758
+ const sizeClassName$1 = {
2741
2759
  font: "w-[1em] h-[1em]",
2742
2760
  xs: "w-3 h-3",
2743
2761
  sm: "w-4 h-4",
@@ -2746,7 +2764,7 @@ const sizeClassName = {
2746
2764
  xl: "w-7 h-7",
2747
2765
  "2xl": "w-8 h-8"
2748
2766
  };
2749
- const childrenSizeClassName = {
2767
+ const childrenSizeClassName$1 = {
2750
2768
  font: "gap-1.5",
2751
2769
  xs: "gap-1.5",
2752
2770
  sm: "gap-1.5",
@@ -2767,7 +2785,7 @@ function Icon({
2767
2785
  return /* @__PURE__ */ jsxs(
2768
2786
  "span",
2769
2787
  {
2770
- className: `inline-flex items-center ${childrenSizeClassName[size]}`,
2788
+ className: `inline-flex items-center ${childrenSizeClassName$1[size]}`,
2771
2789
  children: [
2772
2790
  /* @__PURE__ */ jsx(Icon, { name, size, className, ...props }),
2773
2791
  children
@@ -2779,7 +2797,7 @@ function Icon({
2779
2797
  "svg",
2780
2798
  {
2781
2799
  ...props,
2782
- className: cn(sizeClassName[size], "inline self-center", className),
2800
+ className: cn(sizeClassName$1[size], "inline self-center", className),
2783
2801
  children: [
2784
2802
  title ? /* @__PURE__ */ jsx("title", { children: title }) : null,
2785
2803
  /* @__PURE__ */ jsx("use", { href: `/icons.svg#${name}`, fill: "transparent" })
@@ -3970,12 +3988,13 @@ const meta$5 = ({ data }) => {
3970
3988
  };
3971
3989
  async function loader$y({ request }) {
3972
3990
  const timings = makeTimings("rootLoader");
3991
+ const workshopConfig = getWorkshopConfig();
3973
3992
  const {
3974
3993
  title: workshopTitle,
3975
3994
  subtitle: workshopSubtitle,
3976
3995
  instructor,
3977
3996
  onboardingVideo
3978
- } = getWorkshopConfig();
3997
+ } = workshopConfig;
3979
3998
  const onboarding = await readOnboardingData();
3980
3999
  if (!ENV.EPICSHOP_DEPLOYED && !(onboarding == null ? void 0 : onboarding.tourVideosWatched.includes(onboardingVideo))) {
3981
4000
  if (new URL(request.url).pathname !== "/onboarding") {
@@ -3997,6 +4016,7 @@ async function loader$y({ request }) {
3997
4016
  const presentUsers = await getPresentUsers(user, { request, timings });
3998
4017
  return json$1(
3999
4018
  {
4019
+ workshopConfig,
4000
4020
  workshopTitle,
4001
4021
  workshopSubtitle,
4002
4022
  instructor,
@@ -4151,7 +4171,7 @@ function getWebsocketJS() {
4151
4171
  };
4152
4172
  ws.onclose = (event) => {
4153
4173
  if (event.code === 1006) {
4154
- console.log("Epic Web dev server web socket closed. Reconnecting...");
4174
+ console.log("EpicShop dev server web socket closed. Reconnecting...");
4155
4175
  setTimeout(
4156
4176
  () =>
4157
4177
  epicLiveReloadConnect({
@@ -4162,7 +4182,7 @@ function getWebsocketJS() {
4162
4182
  }
4163
4183
  };
4164
4184
  ws.onerror = (error) => {
4165
- console.log("Epic Web dev server web socket error:");
4185
+ console.log("EpicShop dev server web socket error:");
4166
4186
  console.error(error);
4167
4187
  };
4168
4188
  }
@@ -4235,6 +4255,78 @@ function makeMediaQueryStore(mediaQuery, serverSnapshot) {
4235
4255
  return useSyncExternalStore(subscribe, getSnapshot, () => serverSnapshot);
4236
4256
  };
4237
4257
  }
4258
+ function useWorkshopConfig() {
4259
+ const data = useRouteLoaderData("root");
4260
+ if (!(data == null ? void 0 : data.workshopConfig)) {
4261
+ throw new Error("useWorkshopConfig requires a workshopConfig.");
4262
+ }
4263
+ return data.workshopConfig;
4264
+ }
4265
+ const sizeClassName = {
4266
+ font: "w-[1em] h-[1em]",
4267
+ xs: "w-3 h-3",
4268
+ sm: "w-4 h-4",
4269
+ md: "w-5 h-5",
4270
+ lg: "w-6 h-6",
4271
+ xl: "w-7 h-7",
4272
+ "2xl": "w-8 h-8"
4273
+ };
4274
+ const childrenSizeClassName = {
4275
+ font: "gap-1.5",
4276
+ xs: "gap-1.5",
4277
+ sm: "gap-1.5",
4278
+ md: "gap-2",
4279
+ lg: "gap-2",
4280
+ xl: "gap-3",
4281
+ "2xl": "gap-4"
4282
+ };
4283
+ function Logo({
4284
+ size = "font",
4285
+ style = "themed",
4286
+ className,
4287
+ children,
4288
+ ...props
4289
+ }) {
4290
+ const {
4291
+ product: { logo, displayName }
4292
+ } = useWorkshopConfig();
4293
+ const theme = useTheme();
4294
+ const logoElement = logo.includes(".svg") ? /* @__PURE__ */ jsxs(
4295
+ "svg",
4296
+ {
4297
+ ...props,
4298
+ className: cn(sizeClassName[size], "inline self-center", className),
4299
+ children: [
4300
+ /* @__PURE__ */ jsx("title", { children: displayName }),
4301
+ /* @__PURE__ */ jsx("use", { href: `${logo}#${style === "themed" ? theme : "monochrome"}` })
4302
+ ]
4303
+ }
4304
+ ) : (
4305
+ // @ts-expect-error - svg props can't all be applied to img... meh, probably won't ever be a real issue...
4306
+ /* @__PURE__ */ jsx(
4307
+ "img",
4308
+ {
4309
+ src: logo,
4310
+ alt: displayName,
4311
+ ...props,
4312
+ className: cn(sizeClassName[size], "inline self-center", className)
4313
+ }
4314
+ )
4315
+ );
4316
+ if (children) {
4317
+ return /* @__PURE__ */ jsxs(
4318
+ "span",
4319
+ {
4320
+ className: `inline-flex items-center ${childrenSizeClassName[size]}`,
4321
+ children: [
4322
+ logoElement,
4323
+ children
4324
+ ]
4325
+ }
4326
+ );
4327
+ }
4328
+ return logoElement;
4329
+ }
4238
4330
  const Dialog = DialogPrimitive.Root;
4239
4331
  const DialogTrigger = DialogPrimitive.Trigger;
4240
4332
  const DialogPortal = DialogPrimitive.Portal;
@@ -4689,6 +4781,9 @@ function getScoreClassNames(score) {
4689
4781
  function FacePile({ isMenuOpened }) {
4690
4782
  const loggedInUser = useOptionalUser();
4691
4783
  const { users } = usePresence();
4784
+ const {
4785
+ product: { displayNameShort }
4786
+ } = useWorkshopConfig();
4692
4787
  const limit = isMenuOpened ? 17 : 0;
4693
4788
  const numberOverLimit = users.length - limit;
4694
4789
  if (!users.length) return null;
@@ -4711,7 +4806,7 @@ function FacePile({ isMenuOpened }) {
4711
4806
  )
4712
4807
  }
4713
4808
  ) : null;
4714
- const overLimitLabel = `${numberOverLimit}${isMenuOpened ? " more " : " "}Epic Web Dev${numberOverLimit === 1 ? "" : "s"} working now`;
4809
+ const overLimitLabel = `${numberOverLimit}${isMenuOpened ? " more " : " "}${displayNameShort} Dev${numberOverLimit === 1 ? "" : "s"} working now`;
4715
4810
  return /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-2", children: /* @__PURE__ */ jsxs(TooltipProvider, { children: [
4716
4811
  users.slice(0, limit).map(({ user, score }) => {
4717
4812
  var _a2, _b;
@@ -4722,7 +4817,7 @@ function FacePile({ isMenuOpened }) {
4722
4817
  "img",
4723
4818
  {
4724
4819
  tabIndex: 0,
4725
- alt: user.name || "Epic Web Dev",
4820
+ alt: user.name || displayNameShort,
4726
4821
  className: cn(
4727
4822
  "h-8 w-8 rounded-full border object-cover",
4728
4823
  scoreClassNames
@@ -4733,7 +4828,7 @@ function FacePile({ isMenuOpened }) {
4733
4828
  "div",
4734
4829
  {
4735
4830
  tabIndex: 0,
4736
- "aria-label": user.name || "Epic Web Dev",
4831
+ "aria-label": user.name || `${displayNameShort} Dev`,
4737
4832
  className: cn(
4738
4833
  "flex h-8 w-8 items-center justify-center rounded-full border",
4739
4834
  scoreClassNames
@@ -4743,9 +4838,9 @@ function FacePile({ isMenuOpened }) {
4743
4838
  ) }),
4744
4839
  /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsxs("span", { className: "flex flex-col items-center justify-center gap-1", children: [
4745
4840
  /* @__PURE__ */ jsxs("span", { children: [
4746
- user.name || "An EPIC Web Dev",
4841
+ user.name || `${displayNameShort} Dev`,
4747
4842
  " ",
4748
- locationLabel ? ` is ${((_b = (_a2 = user.location) == null ? void 0 : _a2.origin) == null ? void 0 : _b.includes("epicweb.dev")) ? "learning" : "working"} ${score === 1 && (loggedInUser == null ? void 0 : loggedInUser.id) !== user.id ? "with you" : ""} on` : null
4843
+ locationLabel ? ` is ${((_b = (_a2 = user.location) == null ? void 0 : _a2.origin) == null ? void 0 : _b.includes("localhost")) ? "working" : "learning"} ${score === 1 && (loggedInUser == null ? void 0 : loggedInUser.id) !== user.id ? "with you" : ""} on` : null
4749
4844
  ] }),
4750
4845
  (locationLabel == null ? void 0 : locationLabel.line1) ? /* @__PURE__ */ jsx("span", { children: locationLabel.line1 }) : null,
4751
4846
  (locationLabel == null ? void 0 : locationLabel.line2) ? /* @__PURE__ */ jsx("span", { children: locationLabel.line2 }) : null
@@ -4786,7 +4881,7 @@ function App() {
4786
4881
  const isHydrated = useHydrated();
4787
4882
  const [isMenuOpened, setMenuOpened] = React.useState(false);
4788
4883
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
4789
- user ? null : /* @__PURE__ */ jsx(EpicWebBanner, {}),
4884
+ user ? null : /* @__PURE__ */ jsx(NoUserBanner, {}),
4790
4885
  isHydrated && isWide ? null : /* @__PURE__ */ jsx(
4791
4886
  MobileNavigation,
4792
4887
  {
@@ -4834,8 +4929,11 @@ function getLocationLabel(location) {
4834
4929
  ].filter(Boolean).join(" - ");
4835
4930
  return { line1: location.workshopTitle, line2: exercisePortion };
4836
4931
  }
4837
- function EpicWebBanner() {
4932
+ function NoUserBanner() {
4838
4933
  const isWide = useIsWide();
4934
+ const {
4935
+ product: { host, displayName }
4936
+ } = useWorkshopConfig();
4839
4937
  const details = /* @__PURE__ */ jsx("div", { children: ENV.EPICSHOP_DEPLOYED ? /* @__PURE__ */ jsxs("div", { children: [
4840
4938
  `This is the deployed version. `,
4841
4939
  /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -4857,13 +4955,13 @@ function EpicWebBanner() {
4857
4955
  " ",
4858
4956
  "or",
4859
4957
  " ",
4860
- /* @__PURE__ */ jsx("a", { href: "https://www.epicweb.dev/login", className: "underline", children: "join for free" }),
4958
+ /* @__PURE__ */ jsx("a", { href: `https://${host}/login`, className: "underline", children: "join for free" }),
4861
4959
  " ",
4862
4960
  "for the full experience."
4863
4961
  ] }) });
4864
4962
  return /* @__PURE__ */ jsx("div", { className: "z-10 flex h-16 items-center justify-between border-b bg-gradient-to-tr from-blue-500 to-indigo-500 pl-4 text-white", children: isWide ? /* @__PURE__ */ jsxs(Fragment, { children: [
4865
4963
  /* @__PURE__ */ jsxs("div", { className: "hidden flex-1 flex-wrap items-center gap-4 sm:flex", children: [
4866
- /* @__PURE__ */ jsx(Icon, { name: "EpicWeb", size: "lg" }),
4964
+ /* @__PURE__ */ jsx(Logo, { size: "lg", style: "monochrome" }),
4867
4965
  /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-wrap items-center", children: [
4868
4966
  /* @__PURE__ */ jsxs("p", { className: "mr-2", children: [
4869
4967
  "Welcome to the",
@@ -4871,10 +4969,10 @@ function EpicWebBanner() {
4871
4969
  /* @__PURE__ */ jsx(
4872
4970
  Link,
4873
4971
  {
4874
- to: "https://www.epicweb.dev",
4972
+ to: `https://${host}`,
4875
4973
  className: "underline",
4876
4974
  target: "_blank",
4877
- children: "EpicWeb.dev"
4975
+ children: displayName
4878
4976
  }
4879
4977
  ),
4880
4978
  " ",
@@ -4887,11 +4985,14 @@ function EpicWebBanner() {
4887
4985
  /* @__PURE__ */ jsxs(
4888
4986
  Link,
4889
4987
  {
4890
- to: "https://www.epicweb.dev",
4988
+ to: `https://${host}`,
4891
4989
  target: "_blank",
4892
4990
  className: "flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold",
4893
4991
  children: [
4894
- /* @__PURE__ */ jsx("span", { className: "drop-shadow-sm", children: "Join Epic Web" }),
4992
+ /* @__PURE__ */ jsxs("span", { className: "drop-shadow-sm", children: [
4993
+ "Join ",
4994
+ displayName
4995
+ ] }),
4895
4996
  /* @__PURE__ */ jsx("span", { children: "↗︎" })
4896
4997
  ]
4897
4998
  }
@@ -4899,7 +5000,7 @@ function EpicWebBanner() {
4899
5000
  /* @__PURE__ */ jsxs(
4900
5001
  Link,
4901
5002
  {
4902
- to: ENV.EPICSHOP_DEPLOYED ? "https://www.epicweb.dev/login" : "/login",
5003
+ to: ENV.EPICSHOP_DEPLOYED ? `https://${host}/login` : "/login",
4903
5004
  className: "flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30",
4904
5005
  children: [
4905
5006
  /* @__PURE__ */ jsx(Icon, { name: "User", size: "lg" }),
@@ -4910,18 +5011,18 @@ function EpicWebBanner() {
4910
5011
  ] })
4911
5012
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
4912
5013
  /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-wrap items-center gap-4 sm:hidden", children: [
4913
- /* @__PURE__ */ jsx("a", { href: "https://www.epicweb.dev", children: /* @__PURE__ */ jsx(Icon, { name: "EpicWeb", size: "lg" }) }),
5014
+ /* @__PURE__ */ jsx("a", { href: `https://${host}`, children: /* @__PURE__ */ jsx(Logo, { size: "lg", style: "monochrome" }) }),
4914
5015
  /* @__PURE__ */ jsxs(Dialog, { children: [
4915
5016
  /* @__PURE__ */ jsx(DialogTrigger, { children: /* @__PURE__ */ jsx(Icon, { name: "Question", size: "lg", className: "animate-pulse" }) }),
4916
5017
  /* @__PURE__ */ jsxs(DialogContent, { children: [
4917
5018
  /* @__PURE__ */ jsxs(DialogHeader, { children: [
4918
- /* @__PURE__ */ jsx(Icon, { name: "EpicWeb", size: "lg" }),
4919
- /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: "EpicWeb.dev" })
5019
+ /* @__PURE__ */ jsx(Logo, { size: "lg", style: "monochrome" }),
5020
+ /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: displayName })
4920
5021
  ] }),
4921
5022
  /* @__PURE__ */ jsxs(DialogDescription, { children: [
4922
5023
  "Welcome to the",
4923
5024
  " ",
4924
- /* @__PURE__ */ jsx(Link, { to: "https://www.epicweb.dev", className: "underline", children: "EpicWeb.dev" }),
5025
+ /* @__PURE__ */ jsx(Link, { to: `https://${host}`, className: "underline", children: displayName }),
4925
5026
  " ",
4926
5027
  "Workshop app!"
4927
5028
  ] }),
@@ -4933,7 +5034,7 @@ function EpicWebBanner() {
4933
5034
  /* @__PURE__ */ jsxs(
4934
5035
  Link,
4935
5036
  {
4936
- to: "https://www.epicweb.dev",
5037
+ to: `https://${host}`,
4937
5038
  target: "_blank",
4938
5039
  className: "flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold",
4939
5040
  children: [
@@ -4945,7 +5046,7 @@ function EpicWebBanner() {
4945
5046
  /* @__PURE__ */ jsxs(
4946
5047
  Link,
4947
5048
  {
4948
- to: ENV.EPICSHOP_DEPLOYED ? "https://www.epicweb.dev/login" : "/login",
5049
+ to: ENV.EPICSHOP_DEPLOYED ? `https://${host}/login` : "/login",
4949
5050
  className: "flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30",
4950
5051
  children: [
4951
5052
  /* @__PURE__ */ jsx(Icon, { name: "User", size: "lg" }),
@@ -6222,7 +6323,7 @@ async function loader$r({ request, params }) {
6222
6323
  };
6223
6324
  ws.onclose = (event) => {
6224
6325
  if (event.code === 1006) {
6225
- console.log("Epic Web dev server web socket closed. Reconnecting...");
6326
+ console.log("EpicShop dev server web socket closed. Reconnecting...");
6226
6327
  setTimeout(
6227
6328
  () =>
6228
6329
  epicLiveReloadConnect({
@@ -6233,7 +6334,7 @@ async function loader$r({ request, params }) {
6233
6334
  }
6234
6335
  };
6235
6336
  ws.onerror = (error) => {
6236
- console.log("Epic Web dev server web socket error:");
6337
+ console.log("EpicShop dev server web socket error:");
6237
6338
  console.error(error);
6238
6339
  };
6239
6340
  }
@@ -7044,6 +7145,9 @@ function DeferredEpicVideo({
7044
7145
  url,
7045
7146
  title = extractEpicTitle(url)
7046
7147
  }) {
7148
+ const {
7149
+ product: { host: epicWorkshopHost, displayName }
7150
+ } = useWorkshopConfig();
7047
7151
  const user = useOptionalUser();
7048
7152
  const epicVideoInfosPromise = React.useContext(EpicVideoInfoContext);
7049
7153
  const linkUI = /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(VideoLink, { url, title }) });
@@ -7105,12 +7209,16 @@ function DeferredEpicVideo({
7105
7209
  /* @__PURE__ */ jsxs("div", { children: [
7106
7210
  "To continue watching uninterrupted, please",
7107
7211
  " ",
7108
- /* @__PURE__ */ jsx(
7212
+ /* @__PURE__ */ jsxs(
7109
7213
  "a",
7110
7214
  {
7111
- href: "https://www.epicweb.dev/products/full-stack-vol-1",
7215
+ href: `https://${epicWorkshopHost}/products`,
7112
7216
  className: "underline",
7113
- children: "upgrade your EpicWeb.dev license"
7217
+ children: [
7218
+ "upgrade your ",
7219
+ displayName,
7220
+ " license"
7221
+ ]
7114
7222
  }
7115
7223
  ),
7116
7224
  " ",
@@ -7123,7 +7231,7 @@ function DeferredEpicVideo({
7123
7231
  /* @__PURE__ */ jsx(
7124
7232
  Link,
7125
7233
  {
7126
- to: "https://www.epicweb.dev/products",
7234
+ to: `https://${epicWorkshopHost}/products`,
7127
7235
  className: "underline",
7128
7236
  children: "Upgrade"
7129
7237
  }
@@ -7149,7 +7257,7 @@ function DeferredEpicVideo({
7149
7257
  /* @__PURE__ */ jsx(
7150
7258
  Link,
7151
7259
  {
7152
- to: "https://www.epicweb.dev/products",
7260
+ to: `https://${epicWorkshopHost}/products`,
7153
7261
  className: "underline",
7154
7262
  children: "Upgrade"
7155
7263
  }
@@ -12457,6 +12565,9 @@ async function action$2() {
12457
12565
  }
12458
12566
  function Login() {
12459
12567
  var _a2;
12568
+ const {
12569
+ product: { displayName }
12570
+ } = useWorkshopConfig();
12460
12571
  const loginFetcher = useFetcher();
12461
12572
  const [clickedVerificationLink, setClickedVerificationLink] = useState(false);
12462
12573
  const [authError, setAuthError] = useState(null);
@@ -12490,8 +12601,15 @@ function Login() {
12490
12601
  }, [lastMessage, navigate, revalidator]);
12491
12602
  return /* @__PURE__ */ jsx("main", { className: "flex h-full w-full flex-grow flex-col items-center justify-center p-10 text-center", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
12492
12603
  /* @__PURE__ */ jsx(Logo, { className: "h-16 w-16" }),
12493
- /* @__PURE__ */ jsx("h1", { className: "pt-5 text-2xl font-semibold md:text-3xl", children: "Authenticate with EpicWeb.dev" }),
12494
- /* @__PURE__ */ jsx("h2", { className: "max-w-sm pt-3 text-base text-gray-700 dark:text-gray-300", children: "If you have purchased Epic Web, you'll be able to watch videos, track progress, and more!" }),
12604
+ /* @__PURE__ */ jsxs("h1", { className: "pt-5 text-2xl font-semibold md:text-3xl", children: [
12605
+ "Authenticate with ",
12606
+ displayName
12607
+ ] }),
12608
+ /* @__PURE__ */ jsxs("h2", { className: "max-w-sm pt-3 text-base text-gray-700 dark:text-gray-300", children: [
12609
+ "If you have purchased ",
12610
+ displayName,
12611
+ ", you'll be able to watch videos, track progress, and more!"
12612
+ ] }),
12495
12613
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-center pt-5", children: [
12496
12614
  userCodeInfo ? /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-center gap-3", children: [
12497
12615
  /* @__PURE__ */ jsxs("div", { className: "my-2 flex w-full flex-col items-center gap-2", children: [
@@ -12518,49 +12636,6 @@ function Login() {
12518
12636
  ] })
12519
12637
  ] }) });
12520
12638
  }
12521
- function Logo({ className = "" }) {
12522
- return /* @__PURE__ */ jsxs(
12523
- "svg",
12524
- {
12525
- className,
12526
- viewBox: "0 0 24 24",
12527
- fill: "none",
12528
- xmlns: "http://www.w3.org/2000/svg",
12529
- "aria-hidden": "true",
12530
- children: [
12531
- /* @__PURE__ */ jsx(
12532
- "path",
12533
- {
12534
- d: "M12.438 11.5677C12.0131 11.8026 11.5249 12.0534 10.9784 12.3047C8.80704 13.3031 5.70429 14.314 1.986 14.3555L1.55773 14.3603L1.48003 13.9391C1.36509 13.316 1.29793 12.6714 1.29793 12.006C1.29793 6.10441 6.09863 1.30372 12.0002 1.30372C13.6287 1.30372 15.1745 1.66961 16.5585 2.32369L17.9801 1.59897C16.2189 0.582162 14.1769 0 12.0002 0C5.38709 0 0 5.38709 0 12.0002C0 14.6402 0.858474 17.0847 2.31072 19.0692C4.79741 18.6457 6.35749 17.6495 6.35749 17.6495C6.35749 17.6495 5.36137 19.2075 4.93785 21.6946C6.92114 23.1439 9.36321 24.0005 12.0002 24.0005C18.6134 24.0005 24.0005 18.6134 24.0005 12.0002C24.0005 9.82732 23.4199 7.78762 22.4053 6.02738L21.6818 7.44613C22.3364 8.83057 22.7025 10.3769 22.7025 12.006C22.7025 17.9076 17.9018 22.7083 12.0002 22.7083C11.3345 22.7083 10.6959 22.6411 10.0681 22.5264L9.646 22.4493L9.65079 22.0203C9.6923 18.2991 10.7031 15.1964 11.7016 13.0257C11.9527 12.4797 12.2033 11.9921 12.438 11.5677Z",
12535
- fill: "url(#epicGradient)"
12536
- }
12537
- ),
12538
- /* @__PURE__ */ jsx(
12539
- "path",
12540
- {
12541
- d: "M18.2525 9.31052L15.4992 8.50683L14.6953 5.74778L23.8291 0.171387L18.2525 9.31052Z",
12542
- fill: "currentColor"
12543
- }
12544
- ),
12545
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
12546
- "linearGradient",
12547
- {
12548
- id: "epicGradient",
12549
- x1: "16.9703",
12550
- y1: "7.03022",
12551
- x2: "7.05798",
12552
- y2: "16.948",
12553
- gradientUnits: "userSpaceOnUse",
12554
- children: [
12555
- /* @__PURE__ */ jsx("stop", { stopColor: "#4F75FF" }),
12556
- /* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#30AFFF" })
12557
- ]
12558
- }
12559
- ) })
12560
- ]
12561
- }
12562
- );
12563
- }
12564
12639
  const route22 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12565
12640
  __proto__: null,
12566
12641
  action: action$2,
@@ -13504,7 +13579,7 @@ const route39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
13504
13579
  __proto__: null,
13505
13580
  loader
13506
13581
  }, Symbol.toStringTag, { value: "Module" }));
13507
- const serverManifest = { "entry": { "module": "/assets/entry.client-3M2p-8I3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-D_FY953d.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/error-boundary-DDTvdkB4.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-B-hHvmeV.js", "/assets/index-6GyYWV9G.js", "/assets/presence-Cr--lRCr.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-DbrWZazo.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/error-boundary-DDTvdkB4.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-BLsKV5zF.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/tooltip-BiHTe_7F.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/client-hints-DNUUFGmB.js", "/assets/index-BXWoOGxB.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js", "/assets/progress-Biq-ngNF.js", "/assets/index-6GyYWV9G.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-7o6O4ruO.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/button-BklqyTPS.js", "/assets/tooltip-BiHTe_7F.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-CHP4_JLJ.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/user-D6tTg1yS.js", "/assets/discord-Dq4e30wV.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-BUs3av-e.js", "imports": ["/assets/index-1cKOJFpX.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-CpcJsfoV.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-Dx5GmdYq.js", "/assets/mdx-D7ttfz2V.js", "/assets/progress-Biq-ngNF.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-B5pmJ29o.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-DVR5FOsb.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-BXWoOGxB.js", "/assets/index-hogig2HK.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-DDTvdkB4.js", "/assets/nav-chevrons-B82nbdyj.js", "/assets/mdx-D7ttfz2V.js", "/assets/progress-Biq-ngNF.js", "/assets/set-playground-BXHckvUG.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-BhrXo-z3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/request-info-CEhUGODY.js", "/assets/client-hints-DNUUFGmB.js", "/assets/misc-ENVX3CWf.js", "/assets/tooltip-BiHTe_7F.js", "/assets/pe-CUZaIcdt.js", "/assets/button-BklqyTPS.js", "/assets/loading-C5uX0jJw.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-6GyYWV9G.js", "/assets/preview-CdiZ0d0L.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-c5oITeyN.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/tooltip-BiHTe_7F.js", "/assets/index-BXWoOGxB.js", "/assets/index-hogig2HK.js", "/assets/request-info-CEhUGODY.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/accordion-BroSqIct.js", "/assets/mdx-D7ttfz2V.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-BXHckvUG.js", "/assets/button-BklqyTPS.js", "/assets/diff-Cr4LLBag.js", "/assets/error-boundary-DDTvdkB4.js", "/assets/discord-Dq4e30wV.js", "/assets/index-B-hHvmeV.js", "/assets/tests-DQuoxpDA.js", "/assets/preview-CdiZ0d0L.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-BRkbo9G9.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/tooltip-BiHTe_7F.js", "/assets/index-BXWoOGxB.js", "/assets/index-hogig2HK.js", "/assets/request-info-CEhUGODY.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/accordion-BroSqIct.js", "/assets/index-6GyYWV9G.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-BXHckvUG.js", "/assets/tests-DQuoxpDA.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-Ddb3J5ls.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-B82nbdyj.js", "/assets/mdx-D7ttfz2V.js", "/assets/progress-Biq-ngNF.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-CU8QBU41.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-B82nbdyj.js", "/assets/mdx-D7ttfz2V.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-Biq-ngNF.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BotyhhDm.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/clsx-B-dksMZM.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-DDTvdkB4.js", "/assets/mdx-D7ttfz2V.js", "/assets/progress-Biq-ngNF.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-4cvVFzF8.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/request-info-CEhUGODY.js", "/assets/client-hints-DNUUFGmB.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/button-BklqyTPS.js", "/assets/loading-C5uX0jJw.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-hcqGIpir.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-CGLKLU3y.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/pe-CUZaIcdt.js", "/assets/tooltip-BiHTe_7F.js", "/assets/progress-Biq-ngNF.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-BNr0PhFR.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/tooltip-BiHTe_7F.js", "/assets/index-BXWoOGxB.js", "/assets/index-hogig2HK.js", "/assets/request-info-CEhUGODY.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/epic-video-CxZy3iqK.js", "/assets/progress-bar-CSvo1ZXP.js", "/assets/accordion-BroSqIct.js", "/assets/mdx-D7ttfz2V.js", "/assets/diff-Cr4LLBag.js", "/assets/nav-chevrons-B82nbdyj.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-Co4cldZ0.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/clsx-B-dksMZM.js", "/assets/components-CME-nGId.js", "/assets/misc-ENVX3CWf.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-BiHTe_7F.js", "/assets/client-hints-DNUUFGmB.js", "/assets/pe-CUZaIcdt.js", "/assets/index-6GyYWV9G.js", "/assets/loading-C5uX0jJw.js", "/assets/user-D6tTg1yS.js", "/assets/button-BklqyTPS.js", "/assets/epic-video-CxZy3iqK.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] } }, "url": "/assets/manifest-da85ee1f.js", "version": "da85ee1f" };
13582
+ const serverManifest = { "entry": { "module": "/assets/entry.client-7AjQ7fYK.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-CY8QRU4e.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-Bt0Fs1uZ.js", "/assets/index-TIHEbU65.js", "/assets/presence-CmTnJPJh.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-Cv8HqtE8.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/error-boundary-Bx1mDmB-.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-C9AozQxr.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/workshop-config-COvWTBns.js", "/assets/product-Bi2uble-.js", "/assets/index-bM_TIo_p.js", "/assets/user-2ca9K5af.js", "/assets/presence-CmTnJPJh.js", "/assets/progress-fFpCuCyE.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-B-3k5HDM.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/button-DataaIpW.js", "/assets/tooltip-Blm9zu1K.js", "/assets/user-2ca9K5af.js", "/assets/presence-CmTnJPJh.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-BqGuuhG3.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/user-2ca9K5af.js", "/assets/discord-BfUTLoVF.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-CRkVkufr.js", "imports": ["/assets/index-2WpY3jqc.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-D2tXimAK.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-CquNe5XV.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-C7yUCsjZ.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/index-DGsreVfh.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/set-playground-8-BH15HT.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-DAWCzuDw.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/button-DataaIpW.js", "/assets/loading-DXKqMYHW.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/preview-BbJZ7UrX.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-kXas9qNh.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/mdx-D0cZm8uP.js", "/assets/use-event-source-C81lzj_8.js", "/assets/set-playground-8-BH15HT.js", "/assets/button-DataaIpW.js", "/assets/diff-BWSOt7tL.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/discord-BfUTLoVF.js", "/assets/index-Bt0Fs1uZ.js", "/assets/tests-CNclXTWp.js", "/assets/preview-BbJZ7UrX.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test--z-MS4Cz.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/index-TIHEbU65.js", "/assets/use-event-source-C81lzj_8.js", "/assets/set-playground-8-BH15HT.js", "/assets/tests-CNclXTWp.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-B-sqDk3j.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-DvXH6L-Q.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-fFpCuCyE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-DmASob5Y.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-WXKB-OYe.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/workshop-config-COvWTBns.js", "/assets/use-event-source-C81lzj_8.js", "/assets/button-DataaIpW.js", "/assets/loading-DXKqMYHW.js", "/assets/product-Bi2uble-.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-l4EbxG8X.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-Ciyqvptc.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/pe-BmTNRcy_.js", "/assets/tooltip-Blm9zu1K.js", "/assets/progress-fFpCuCyE.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-JWdZCc2F.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/mdx-D0cZm8uP.js", "/assets/diff-BWSOt7tL.js", "/assets/nav-chevrons-BB1CK34B.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-CK8-hFDT.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/button-DataaIpW.js", "/assets/epic-video-D8tfMIv8.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-5edda375.js", "version": "5edda375" };
13508
13583
  const mode = "production";
13509
13584
  const assetsBuildDirectory = "build/client";
13510
13585
  const basename = "/";