@epic-web/workshop-app 6.1.0 → 6.3.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 (230) hide show
  1. package/build/client/assets/_-Kbj-HAPY.js +2 -0
  2. package/build/client/assets/{_-C_7mS1-0.js.map → _-Kbj-HAPY.js.map} +1 -1
  3. package/build/client/assets/{_basePickBy-DkOIaPL8.js → _basePickBy-WG4U0WMd.js} +2 -2
  4. package/build/client/assets/{_basePickBy-DkOIaPL8.js.map → _basePickBy-WG4U0WMd.js.map} +1 -1
  5. package/build/client/assets/{_baseUniq-BAqp_AZM.js → _baseUniq--zdZg7WG.js} +2 -2
  6. package/build/client/assets/{_baseUniq-BAqp_AZM.js.map → _baseUniq--zdZg7WG.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber-MXWVsKzI.js +2 -0
  8. package/build/client/assets/{_exerciseNumber-CdGNKLia.js.map → _exerciseNumber-MXWVsKzI.js.map} +1 -1
  9. package/build/client/assets/_exerciseNumber_._stepNumber-BfeokKD3.js +2 -0
  10. package/build/client/assets/{_exerciseNumber_._stepNumber-BNj079sn.js.map → _exerciseNumber_._stepNumber-BfeokKD3.js.map} +1 -1
  11. package/build/client/assets/_exerciseNumber_.finished-Dr6lECMK.js +2 -0
  12. package/build/client/assets/{_exerciseNumber_.finished-Ce6wQJ7W.js.map → _exerciseNumber_.finished-Dr6lECMK.js.map} +1 -1
  13. package/build/client/assets/_layout-Bv8l5wO7.js +2 -0
  14. package/build/client/assets/{_layout-C-qRb0Ym.js.map → _layout-Bv8l5wO7.js.map} +1 -1
  15. package/build/client/assets/{_layout-Tp2XmIFb.js → _layout-ePpFHa-S.js} +3 -3
  16. package/build/client/assets/{_layout-Tp2XmIFb.js.map → _layout-ePpFHa-S.js.map} +1 -1
  17. package/build/client/assets/accordion-DBvaz78c.js +2 -0
  18. package/build/client/assets/{accordion-PSsenYUI.js.map → accordion-DBvaz78c.js.map} +1 -1
  19. package/build/client/assets/account-BgHt6sNV.js +2 -0
  20. package/build/client/assets/{account-Jl0f1Zst.js.map → account-BgHt6sNV.js.map} +1 -1
  21. package/build/client/assets/app-By03B5QO.js +2 -0
  22. package/build/client/assets/{app-KDd3xjI9.js.map → app-By03B5QO.js.map} +1 -1
  23. package/build/client/assets/{arc-DWALijMH.js → arc-D-54mj1a.js} +2 -2
  24. package/build/client/assets/{arc-DWALijMH.js.map → arc-D-54mj1a.js.map} +1 -1
  25. package/build/client/assets/architectureDiagram-NQ2NVSRB-CamU9d2s.js +37 -0
  26. package/build/client/assets/{architectureDiagram-NQ2NVSRB-tX-q9elq.js.map → architectureDiagram-NQ2NVSRB-CamU9d2s.js.map} +1 -1
  27. package/build/client/assets/{blockDiagram-PHRCVELO-CDy5WrXO.js → blockDiagram-PHRCVELO-8PiJU5dn.js} +3 -3
  28. package/build/client/assets/{blockDiagram-PHRCVELO-CDy5WrXO.js.map → blockDiagram-PHRCVELO-8PiJU5dn.js.map} +1 -1
  29. package/build/client/assets/{button-cFpvwtjC.js → button-BoJWEKHp.js} +2 -2
  30. package/build/client/assets/{button-cFpvwtjC.js.map → button-BoJWEKHp.js.map} +1 -1
  31. package/build/client/assets/{c4Diagram-6F6E4RAY-CFbAkThh.js → c4Diagram-6F6E4RAY-a_Vz9FQp.js} +3 -3
  32. package/build/client/assets/{c4Diagram-6F6E4RAY-CFbAkThh.js.map → c4Diagram-6F6E4RAY-a_Vz9FQp.js.map} +1 -1
  33. package/build/client/assets/channel-olxjZBcv.js +2 -0
  34. package/build/client/assets/{channel-DHkyUdNE.js.map → channel-olxjZBcv.js.map} +1 -1
  35. package/build/client/assets/{chunk-353BL4L5-Dpooe8HA.js → chunk-353BL4L5-QtLxglxb.js} +2 -2
  36. package/build/client/assets/{chunk-353BL4L5-Dpooe8HA.js.map → chunk-353BL4L5-QtLxglxb.js.map} +1 -1
  37. package/build/client/assets/{chunk-67H74DCK-LD3kHetT.js → chunk-67H74DCK-N9VlvDsS.js} +2 -2
  38. package/build/client/assets/{chunk-67H74DCK-LD3kHetT.js.map → chunk-67H74DCK-N9VlvDsS.js.map} +1 -1
  39. package/build/client/assets/{chunk-6OLS64BW-DqN3K0zX.js → chunk-6OLS64BW-Bw6L54gk.js} +2 -2
  40. package/build/client/assets/{chunk-6OLS64BW-DqN3K0zX.js.map → chunk-6OLS64BW-Bw6L54gk.js.map} +1 -1
  41. package/build/client/assets/{chunk-AACKK3MU-956RrsQJ.js → chunk-AACKK3MU-CGRxti6k.js} +2 -2
  42. package/build/client/assets/{chunk-AACKK3MU-956RrsQJ.js.map → chunk-AACKK3MU-CGRxti6k.js.map} +1 -1
  43. package/build/client/assets/{chunk-BFAMUDN2-By_sWoWf.js → chunk-BFAMUDN2-D0k5yzNa.js} +2 -2
  44. package/build/client/assets/{chunk-BFAMUDN2-By_sWoWf.js.map → chunk-BFAMUDN2-D0k5yzNa.js.map} +1 -1
  45. package/build/client/assets/{chunk-E2GYISFI-CYbTdeHG.js → chunk-E2GYISFI-L538ejWD.js} +2 -2
  46. package/build/client/assets/{chunk-E2GYISFI-CYbTdeHG.js.map → chunk-E2GYISFI-L538ejWD.js.map} +1 -1
  47. package/build/client/assets/{chunk-QEP2MXWD-EMIn8SEG.js → chunk-QEP2MXWD-DdDxYCFZ.js} +2 -2
  48. package/build/client/assets/{chunk-QEP2MXWD-EMIn8SEG.js.map → chunk-QEP2MXWD-DdDxYCFZ.js.map} +1 -1
  49. package/build/client/assets/{chunk-SKB7J2MH-CPK45517.js → chunk-SKB7J2MH-BntWlIrL.js} +2 -2
  50. package/build/client/assets/{chunk-SKB7J2MH-CPK45517.js.map → chunk-SKB7J2MH-BntWlIrL.js.map} +1 -1
  51. package/build/client/assets/classDiagram-BGRH5UQR-C5Mv_s-i.js +2 -0
  52. package/build/client/assets/{classDiagram-BGRH5UQR-DMFCY4SY.js.map → classDiagram-BGRH5UQR-C5Mv_s-i.js.map} +1 -1
  53. package/build/client/assets/classDiagram-v2-O24JOBDK-C5Mv_s-i.js +2 -0
  54. package/build/client/assets/{classDiagram-v2-O24JOBDK-DMFCY4SY.js.map → classDiagram-v2-O24JOBDK-C5Mv_s-i.js.map} +1 -1
  55. package/build/client/assets/clone-B94ujfDo.js +2 -0
  56. package/build/client/assets/{clone-DgOnCE7a.js.map → clone-B94ujfDo.js.map} +1 -1
  57. package/build/client/assets/clsx-B-dksMZM.js +2 -0
  58. package/build/client/assets/clsx-B-dksMZM.js.map +1 -0
  59. package/build/client/assets/dagre-FFZHY6LT-UmchHP04.js +5 -0
  60. package/build/client/assets/{dagre-FFZHY6LT-D8_T6tZq.js.map → dagre-FFZHY6LT-UmchHP04.js.map} +1 -1
  61. package/build/client/assets/diagram-3EMPZRKU-CjmDnDXX.js +25 -0
  62. package/build/client/assets/{diagram-3EMPZRKU-BEeRqItD.js.map → diagram-3EMPZRKU-CjmDnDXX.js.map} +1 -1
  63. package/build/client/assets/diagram-5UYTHUR4-C85dABA1.js +25 -0
  64. package/build/client/assets/{diagram-5UYTHUR4-CikqdCuq.js.map → diagram-5UYTHUR4-C85dABA1.js.map} +1 -1
  65. package/build/client/assets/diagram-ZTM2IBQH-CH_XZ7tw.js +44 -0
  66. package/build/client/assets/{diagram-ZTM2IBQH-CDz-uqOk.js.map → diagram-ZTM2IBQH-CH_XZ7tw.js.map} +1 -1
  67. package/build/client/assets/diff-C1wUPjJK.js +2 -0
  68. package/build/client/assets/{diff-DLaUr4S6.js.map → diff-C1wUPjJK.js.map} +1 -1
  69. package/build/client/assets/diff-CxZ19SOv.js +2 -0
  70. package/build/client/assets/{diff-BXApfmyx.js.map → diff-CxZ19SOv.js.map} +1 -1
  71. package/build/client/assets/{discord-DOEtvB6W.js → discord-B5cRUOhZ.js} +2 -2
  72. package/build/client/assets/{discord-DOEtvB6W.js.map → discord-B5cRUOhZ.js.map} +1 -1
  73. package/build/client/assets/discord-BvZSO_OZ.js +2 -0
  74. package/build/client/assets/discord-BvZSO_OZ.js.map +1 -0
  75. package/build/client/assets/{epic-video-Buv6ZzQr.js → epic-video-CRkBFsAC.js} +2 -2
  76. package/build/client/assets/{epic-video-Buv6ZzQr.js.map → epic-video-CRkBFsAC.js.map} +1 -1
  77. package/build/client/assets/{erDiagram-R3QVA2FD-WzL917SV.js → erDiagram-R3QVA2FD-DbFybc7W.js} +3 -3
  78. package/build/client/assets/{erDiagram-R3QVA2FD-WzL917SV.js.map → erDiagram-R3QVA2FD-DbFybc7W.js.map} +1 -1
  79. package/build/client/assets/{error-boundary-B8bEOgxp.js → error-boundary-bzCOyChj.js} +2 -2
  80. package/build/client/assets/{error-boundary-B8bEOgxp.js.map → error-boundary-bzCOyChj.js.map} +1 -1
  81. package/build/client/assets/finished-D-PDIHdi.js +2 -0
  82. package/build/client/assets/{finished-BGX9JzP_.js.map → finished-D-PDIHdi.js.map} +1 -1
  83. package/build/client/assets/{flowDiagram-PKI6S5ZS-qimfuZS6.js → flowDiagram-PKI6S5ZS-b-Wr1zEn.js} +3 -3
  84. package/build/client/assets/{flowDiagram-PKI6S5ZS-qimfuZS6.js.map → flowDiagram-PKI6S5ZS-b-Wr1zEn.js.map} +1 -1
  85. package/build/client/assets/ganttDiagram-EK5VF46D-D25CAue3.js +268 -0
  86. package/build/client/assets/{ganttDiagram-EK5VF46D-R6ZSFdSM.js.map → ganttDiagram-EK5VF46D-D25CAue3.js.map} +1 -1
  87. package/build/client/assets/gitGraphDiagram-GW3U2K7C-B7Ue-jLz.js +66 -0
  88. package/build/client/assets/{gitGraphDiagram-GW3U2K7C-DV4MLocC.js.map → gitGraphDiagram-GW3U2K7C-B7Ue-jLz.js.map} +1 -1
  89. package/build/client/assets/{graph-DbEC4aH6.js → graph-9sAzMH8t.js} +2 -2
  90. package/build/client/assets/{graph-DbEC4aH6.js.map → graph-9sAzMH8t.js.map} +1 -1
  91. package/build/client/assets/{index-5iWKMrsc.js → index-8yBq10sZ.js} +2 -2
  92. package/build/client/assets/{index-5iWKMrsc.js.map → index-8yBq10sZ.js.map} +1 -1
  93. package/build/client/assets/index-CS_uCg-3.js +2 -0
  94. package/build/client/assets/{index-Bn3YwCqZ.js.map → index-CS_uCg-3.js.map} +1 -1
  95. package/build/client/assets/index-Cf0XLNVj.js +2 -0
  96. package/build/client/assets/{index-CUv7g3UR.js.map → index-Cf0XLNVj.js.map} +1 -1
  97. package/build/client/assets/{index-7Ba6ptu2.js → index-CtnHrWrs.js} +2 -2
  98. package/build/client/assets/{index-7Ba6ptu2.js.map → index-CtnHrWrs.js.map} +1 -1
  99. package/build/client/assets/{index-CZ8q0Nf8.js → index-DPhEf4uN.js} +2 -2
  100. package/build/client/assets/{index-CZ8q0Nf8.js.map → index-DPhEf4uN.js.map} +1 -1
  101. package/build/client/assets/index-Dqd5qiWh.js +2 -0
  102. package/build/client/assets/{index-DxbpRM0V.js.map → index-Dqd5qiWh.js.map} +1 -1
  103. package/build/client/assets/infoDiagram-RLU2ROGC-DDlCYHQW.js +3 -0
  104. package/build/client/assets/{infoDiagram-RLU2ROGC-BJyo6jex.js.map → infoDiagram-RLU2ROGC-DDlCYHQW.js.map} +1 -1
  105. package/build/client/assets/{journeyDiagram-EWQZEKCU-aQCeSbRC.js → journeyDiagram-EWQZEKCU-Bm8mUykI.js} +3 -3
  106. package/build/client/assets/{journeyDiagram-EWQZEKCU-aQCeSbRC.js.map → journeyDiagram-EWQZEKCU-Bm8mUykI.js.map} +1 -1
  107. package/build/client/assets/{kanban-definition-ILFWEQ3N-CLcq3V0h.js → kanban-definition-ILFWEQ3N-BoSNcgtS.js} +3 -3
  108. package/build/client/assets/{kanban-definition-ILFWEQ3N-CLcq3V0h.js.map → kanban-definition-ILFWEQ3N-BoSNcgtS.js.map} +1 -1
  109. package/build/client/assets/{layout-DInHBBCO.js → layout-Ba5kmwon.js} +2 -2
  110. package/build/client/assets/{layout-DInHBBCO.js.map → layout-Ba5kmwon.js.map} +1 -1
  111. package/build/client/assets/{linear-BoPQG8e5.js → linear-ZPMI8s6B.js} +2 -2
  112. package/build/client/assets/{linear-BoPQG8e5.js.map → linear-ZPMI8s6B.js.map} +1 -1
  113. package/build/client/assets/{loading-WTUNhoIS.js → loading-C810LASV.js} +2 -2
  114. package/build/client/assets/{loading-WTUNhoIS.js.map → loading-C810LASV.js.map} +1 -1
  115. package/build/client/assets/login-CQRwgkfM.js +2 -0
  116. package/build/client/assets/{login-BzcTSzkr.js.map → login-CQRwgkfM.js.map} +1 -1
  117. package/build/client/assets/manifest-eb55e374.js +1 -0
  118. package/build/client/assets/mdx-DH55rolp.js +3 -0
  119. package/build/client/assets/{mdx-BrER1Z2t.js.map → mdx-DH55rolp.js.map} +1 -1
  120. package/build/client/assets/{mermaid.core-Cvtu6qL8.js → mermaid.core-CG5oJ8_-.js} +5 -5
  121. package/build/client/assets/{mermaid.core-Cvtu6qL8.js.map → mermaid.core-CG5oJ8_-.js.map} +1 -1
  122. package/build/client/assets/mindmap-definition-CZNETY7S-Dr_MsV9M.js +96 -0
  123. package/build/client/assets/{mindmap-definition-CZNETY7S-BwcWuimP.js.map → mindmap-definition-CZNETY7S-Dr_MsV9M.js.map} +1 -1
  124. package/build/client/assets/misc-DsJGqoYt.js +2 -0
  125. package/build/client/assets/misc-DsJGqoYt.js.map +1 -0
  126. package/build/client/assets/{nav-chevrons-Cxzx0j13.js → nav-chevrons-CSVvCjJa.js} +2 -2
  127. package/build/client/assets/{nav-chevrons-Cxzx0j13.js.map → nav-chevrons-CSVvCjJa.js.map} +1 -1
  128. package/build/client/assets/onboarding-CyHu3NPX.js +2 -0
  129. package/build/client/assets/{onboarding-CpNLu5ws.js.map → onboarding-CyHu3NPX.js.map} +1 -1
  130. package/build/client/assets/{online-CyV51Rml.js → online-Cf3nj5JR.js} +2 -2
  131. package/build/client/assets/{online-CyV51Rml.js.map → online-Cf3nj5JR.js.map} +1 -1
  132. package/build/client/assets/pieDiagram-NIOCPIFQ-DGamF-m5.js +31 -0
  133. package/build/client/assets/{pieDiagram-NIOCPIFQ-BGD0lX78.js.map → pieDiagram-NIOCPIFQ-DGamF-m5.js.map} +1 -1
  134. package/build/client/assets/preferences-eb0Opp1D.js +2 -0
  135. package/build/client/assets/preferences-eb0Opp1D.js.map +1 -0
  136. package/build/client/assets/{presence-CLRBf5dp.js → presence-DXH0dXJd.js} +2 -2
  137. package/build/client/assets/{presence-CLRBf5dp.js.map → presence-DXH0dXJd.js.map} +1 -1
  138. package/build/client/assets/preview-B35cxJW7.js +2 -0
  139. package/build/client/assets/{preview-CMOIed2z.js.map → preview-B35cxJW7.js.map} +1 -1
  140. package/build/client/assets/{product-B0zJEdi_.js → product-B3wkyL3-.js} +2 -2
  141. package/build/client/assets/{product-B0zJEdi_.js.map → product-B3wkyL3-.js.map} +1 -1
  142. package/build/client/assets/{progress-DKsShYpv.js → progress-BP5cLKuW.js} +2 -2
  143. package/build/client/assets/{progress-DKsShYpv.js.map → progress-BP5cLKuW.js.map} +1 -1
  144. package/build/client/assets/{progress-bar-Cww9t8Vn.js → progress-bar-BagX2z6n.js} +2 -2
  145. package/build/client/assets/{progress-bar-Cww9t8Vn.js.map → progress-bar-BagX2z6n.js.map} +1 -1
  146. package/build/client/assets/{quadrantDiagram-2OG54O6I-75mVARIA.js → quadrantDiagram-2OG54O6I-DzYQA4wE.js} +5 -5
  147. package/build/client/assets/{quadrantDiagram-2OG54O6I-75mVARIA.js.map → quadrantDiagram-2OG54O6I-DzYQA4wE.js.map} +1 -1
  148. package/build/client/assets/{requirementDiagram-SO3GGRV7-9xtgDM0W.js → requirementDiagram-SO3GGRV7-CT4nmOnG.js} +3 -3
  149. package/build/client/assets/{requirementDiagram-SO3GGRV7-9xtgDM0W.js.map → requirementDiagram-SO3GGRV7-CT4nmOnG.js.map} +1 -1
  150. package/build/client/assets/{revalidation-ws-CkOwoVmm.js → revalidation-ws-De6AS3e6.js} +2 -2
  151. package/build/client/assets/{revalidation-ws-CkOwoVmm.js.map → revalidation-ws-De6AS3e6.js.map} +1 -1
  152. package/build/client/assets/root-CoMxWz2o.js +2 -0
  153. package/build/client/assets/root-CoMxWz2o.js.map +1 -0
  154. package/build/client/assets/sankeyDiagram-4UZDY2LN-ByZQvDvv.js +11 -0
  155. package/build/client/assets/{sankeyDiagram-4UZDY2LN-GnxcKs-y.js.map → sankeyDiagram-4UZDY2LN-ByZQvDvv.js.map} +1 -1
  156. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-nwxzVXHz.js → sequenceDiagram-ZIKVLSP4-D8J9bTtT.js} +3 -3
  157. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-nwxzVXHz.js.map → sequenceDiagram-ZIKVLSP4-D8J9bTtT.js.map} +1 -1
  158. package/build/client/assets/set-playground-fnyxfdJX.js +2 -0
  159. package/build/client/assets/{set-playground-Bx0yIjpY.js.map → set-playground-fnyxfdJX.js.map} +1 -1
  160. package/build/client/assets/stateDiagram-XX37X6EN-CDbaOeD7.js +2 -0
  161. package/build/client/assets/{stateDiagram-XX37X6EN-DplHO2WC.js.map → stateDiagram-XX37X6EN-CDbaOeD7.js.map} +1 -1
  162. package/build/client/assets/stateDiagram-v2-GD6S3NHB-ZW9khKM8.js +2 -0
  163. package/build/client/assets/{stateDiagram-v2-GD6S3NHB-CmsjuNaA.js.map → stateDiagram-v2-GD6S3NHB-ZW9khKM8.js.map} +1 -1
  164. package/build/client/assets/tailwind-CyQBDA3D.css +1 -0
  165. package/build/client/assets/test-Dr7hgef4.js +2 -0
  166. package/build/client/assets/{test-DUocKqAt.js.map → test-Dr7hgef4.js.map} +1 -1
  167. package/build/client/assets/{tests-Bmk7igTW.js → tests-EEL6JFzf.js} +2 -2
  168. package/build/client/assets/{tests-Bmk7igTW.js.map → tests-EEL6JFzf.js.map} +1 -1
  169. package/build/client/assets/{timeline-definition-RI47OAVP-Dhz4J7XS.js → timeline-definition-RI47OAVP-CpiFZiC9.js} +3 -3
  170. package/build/client/assets/{timeline-definition-RI47OAVP-Dhz4J7XS.js.map → timeline-definition-RI47OAVP-CpiFZiC9.js.map} +1 -1
  171. package/build/client/assets/{tooltip-Cm7A1uIP.js → tooltip-CTw4ab49.js} +2 -2
  172. package/build/client/assets/{tooltip-Cm7A1uIP.js.map → tooltip-CTw4ab49.js.map} +1 -1
  173. package/build/client/assets/{treemap-FKARHQ26-4Q6H4E9y.js → treemap-FKARHQ26-DW0onZEJ.js} +2 -2
  174. package/build/client/assets/{treemap-FKARHQ26-4Q6H4E9y.js.map → treemap-FKARHQ26-DW0onZEJ.js.map} +1 -1
  175. package/build/client/assets/workspace-structure-BU7brX4_.js +2 -0
  176. package/build/client/assets/workspace-structure-BU7brX4_.js.map +1 -0
  177. package/build/client/assets/{xychartDiagram-H2YORKM3-mIuoEWBr.js → xychartDiagram-H2YORKM3-pOb4n59k.js} +3 -3
  178. package/build/client/assets/{xychartDiagram-H2YORKM3-mIuoEWBr.js.map → xychartDiagram-H2YORKM3-pOb4n59k.js.map} +1 -1
  179. package/build/server/index.js +565 -271
  180. package/build/server/index.js.map +1 -1
  181. package/dist/server/index.js +7 -7
  182. package/package.json +1 -1
  183. package/start.js +6 -6
  184. package/build/client/assets/_-C_7mS1-0.js +0 -2
  185. package/build/client/assets/_exerciseNumber-CdGNKLia.js +0 -2
  186. package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js +0 -2
  187. package/build/client/assets/_exerciseNumber_.finished-Ce6wQJ7W.js +0 -2
  188. package/build/client/assets/_layout-C-qRb0Ym.js +0 -2
  189. package/build/client/assets/accordion-PSsenYUI.js +0 -2
  190. package/build/client/assets/account-Jl0f1Zst.js +0 -2
  191. package/build/client/assets/app-KDd3xjI9.js +0 -2
  192. package/build/client/assets/architectureDiagram-NQ2NVSRB-tX-q9elq.js +0 -37
  193. package/build/client/assets/channel-DHkyUdNE.js +0 -2
  194. package/build/client/assets/classDiagram-BGRH5UQR-DMFCY4SY.js +0 -2
  195. package/build/client/assets/classDiagram-v2-O24JOBDK-DMFCY4SY.js +0 -2
  196. package/build/client/assets/clone-DgOnCE7a.js +0 -2
  197. package/build/client/assets/dagre-FFZHY6LT-D8_T6tZq.js +0 -5
  198. package/build/client/assets/diagram-3EMPZRKU-BEeRqItD.js +0 -25
  199. package/build/client/assets/diagram-5UYTHUR4-CikqdCuq.js +0 -25
  200. package/build/client/assets/diagram-ZTM2IBQH-CDz-uqOk.js +0 -44
  201. package/build/client/assets/diff-BXApfmyx.js +0 -2
  202. package/build/client/assets/diff-DLaUr4S6.js +0 -2
  203. package/build/client/assets/discord-C86FbV-j.js +0 -2
  204. package/build/client/assets/discord-C86FbV-j.js.map +0 -1
  205. package/build/client/assets/finished-BGX9JzP_.js +0 -2
  206. package/build/client/assets/ganttDiagram-EK5VF46D-R6ZSFdSM.js +0 -268
  207. package/build/client/assets/gitGraphDiagram-GW3U2K7C-DV4MLocC.js +0 -66
  208. package/build/client/assets/index-Bn3YwCqZ.js +0 -2
  209. package/build/client/assets/index-CUv7g3UR.js +0 -2
  210. package/build/client/assets/index-DxbpRM0V.js +0 -2
  211. package/build/client/assets/infoDiagram-RLU2ROGC-BJyo6jex.js +0 -3
  212. package/build/client/assets/login-BzcTSzkr.js +0 -2
  213. package/build/client/assets/manifest-d7f923a9.js +0 -1
  214. package/build/client/assets/mdx-BrER1Z2t.js +0 -3
  215. package/build/client/assets/mindmap-definition-CZNETY7S-BwcWuimP.js +0 -96
  216. package/build/client/assets/misc-COGqV2fm.js +0 -2
  217. package/build/client/assets/misc-COGqV2fm.js.map +0 -1
  218. package/build/client/assets/onboarding-CpNLu5ws.js +0 -2
  219. package/build/client/assets/pieDiagram-NIOCPIFQ-BGD0lX78.js +0 -31
  220. package/build/client/assets/preferences-Dx_EUPYj.js +0 -2
  221. package/build/client/assets/preferences-Dx_EUPYj.js.map +0 -1
  222. package/build/client/assets/preview-CMOIed2z.js +0 -2
  223. package/build/client/assets/root-Ddu3Xxbb.js +0 -2
  224. package/build/client/assets/root-Ddu3Xxbb.js.map +0 -1
  225. package/build/client/assets/sankeyDiagram-4UZDY2LN-GnxcKs-y.js +0 -11
  226. package/build/client/assets/set-playground-Bx0yIjpY.js +0 -2
  227. package/build/client/assets/stateDiagram-XX37X6EN-DplHO2WC.js +0 -2
  228. package/build/client/assets/stateDiagram-v2-GD6S3NHB-CmsjuNaA.js +0 -2
  229. package/build/client/assets/tailwind-Dqccob1p.css +0 -1
  230. package/build/client/assets/test-DUocKqAt.js +0 -2
@@ -1,2 +1,2 @@
1
- import{aT as j,aU as p,aV as w,aW as q,aX as k}from"./mermaid.core-Cvtu6qL8.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as V,b as z}from"./defaultLocale-C4B-KCzX.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function B(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===B?n:I,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function I(){return 0}function P(n){return n===null?NaN:+n}const T=R(M),$=T.right;R(P).center;const x=Math.sqrt(50),O=Math.sqrt(10),U=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=x?10:f>=O?5:f>=U?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function W(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function X(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function C(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function E(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function G(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function H(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function J(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=k(r))?(r=e,w):q:r instanceof k?w:r instanceof Date?H:E(r)?C:Array.isArray(r)?G:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?J:p)(n,r)}function K(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function L(n){return Math.max(0,-g(Math.abs(n)))}function Q(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=$(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=K,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=X(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=Q(u,a))&&(e.precision=f),V(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=L(u))&&(e.precision=f-(e.type==="%")*2);break}}return z(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return W(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,X as t};
2
- //# sourceMappingURL=linear-BoPQG8e5.js.map
1
+ import{aT as j,aU as p,aV as w,aW as q,aX as k}from"./mermaid.core-CG5oJ8_-.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as V,b as z}from"./defaultLocale-C4B-KCzX.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function B(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===B?n:I,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function I(){return 0}function P(n){return n===null?NaN:+n}const T=R(M),$=T.right;R(P).center;const x=Math.sqrt(50),O=Math.sqrt(10),U=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=x?10:f>=O?5:f>=U?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function W(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function X(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function C(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function E(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function G(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function H(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function J(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=k(r))?(r=e,w):q:r instanceof k?w:r instanceof Date?H:E(r)?C:Array.isArray(r)?G:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?J:p)(n,r)}function K(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function L(n){return Math.max(0,-g(Math.abs(n)))}function Q(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=$(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=K,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=X(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=Q(u,a))&&(e.precision=f),V(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=L(u))&&(e.precision=f-(e.type==="%")*2);break}}return z(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return W(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,X as t};
2
+ //# sourceMappingURL=linear-ZPMI8s6B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear-BoPQG8e5.js","sources":["../../../../../node_modules/d3-array/src/ascending.js","../../../../../node_modules/d3-array/src/descending.js","../../../../../node_modules/d3-array/src/bisector.js","../../../../../node_modules/d3-array/src/number.js","../../../../../node_modules/d3-array/src/bisect.js","../../../../../node_modules/d3-array/src/ticks.js","../../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../../node_modules/d3-interpolate/src/array.js","../../../../../node_modules/d3-interpolate/src/date.js","../../../../../node_modules/d3-interpolate/src/object.js","../../../../../node_modules/d3-interpolate/src/value.js","../../../../../node_modules/d3-interpolate/src/round.js","../../../../../node_modules/d3-format/src/precisionFixed.js","../../../../../node_modules/d3-format/src/precisionPrefix.js","../../../../../node_modules/d3-format/src/precisionRound.js","../../../../../node_modules/d3-scale/src/constant.js","../../../../../node_modules/d3-scale/src/number.js","../../../../../node_modules/d3-scale/src/continuous.js","../../../../../node_modules/d3-scale/src/tickFormat.js","../../../../../node_modules/d3-scale/src/linear.js"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n"],"names":["ascending","a","b","descending","bisector","f","compare1","compare2","delta","d","x","zero","left","lo","hi","mid","right","center","i","number","ascendingBisect","bisectRight","e10","e5","e2","tickSpec","start","stop","count","step","power","error","factor","i1","i2","inc","ticks","reverse","n","tickIncrement","tickStep","numberArray","c","t","isNumberArray","genericArray","nb","na","value","date","object","k","interpolate","constant","color","rgb","string","interpolateRound","precisionFixed","exponent","precisionPrefix","precisionRound","max","constants","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","r0","r1","polymap","j","r","bisect","copy","source","target","transformer","interpolateValue","transform","untransform","unknown","clamp","piecewise","output","input","rescale","scale","y","interpolateNumber","_","u","continuous","tickFormat","specifier","precision","formatSpecifier","formatPrefix","format","linearish","i0","prestep","maxIter","linear","initRange"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
1
+ {"version":3,"file":"linear-ZPMI8s6B.js","sources":["../../../../../node_modules/d3-array/src/ascending.js","../../../../../node_modules/d3-array/src/descending.js","../../../../../node_modules/d3-array/src/bisector.js","../../../../../node_modules/d3-array/src/number.js","../../../../../node_modules/d3-array/src/bisect.js","../../../../../node_modules/d3-array/src/ticks.js","../../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../../node_modules/d3-interpolate/src/array.js","../../../../../node_modules/d3-interpolate/src/date.js","../../../../../node_modules/d3-interpolate/src/object.js","../../../../../node_modules/d3-interpolate/src/value.js","../../../../../node_modules/d3-interpolate/src/round.js","../../../../../node_modules/d3-format/src/precisionFixed.js","../../../../../node_modules/d3-format/src/precisionPrefix.js","../../../../../node_modules/d3-format/src/precisionRound.js","../../../../../node_modules/d3-scale/src/constant.js","../../../../../node_modules/d3-scale/src/number.js","../../../../../node_modules/d3-scale/src/continuous.js","../../../../../node_modules/d3-scale/src/tickFormat.js","../../../../../node_modules/d3-scale/src/linear.js"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n"],"names":["ascending","a","b","descending","bisector","f","compare1","compare2","delta","d","x","zero","left","lo","hi","mid","right","center","i","number","ascendingBisect","bisectRight","e10","e5","e2","tickSpec","start","stop","count","step","power","error","factor","i1","i2","inc","ticks","reverse","n","tickIncrement","tickStep","numberArray","c","t","isNumberArray","genericArray","nb","na","value","date","object","k","interpolate","constant","color","rgb","string","interpolateRound","precisionFixed","exponent","precisionPrefix","precisionRound","max","constants","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","r0","r1","polymap","j","r","bisect","copy","source","target","transformer","interpolateValue","transform","untransform","unknown","clamp","piecewise","output","input","rescale","scale","y","interpolateNumber","_","u","continuous","tickFormat","specifier","precision","formatSpecifier","formatPrefix","format","linearish","i0","prestep","maxIter","linear","initRange"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./jsx-runtime-EKYJJIwR.js";import{r as n}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{c as d}from"./index-5iWKMrsc.js";import{a as f}from"./misc-COGqV2fm.js";function j({className:r,children:t="Loading"}){const{reducedMotion:s}=d();return s==="reduce"?e.jsx("div",{className:"animate-pulse",children:t}):e.jsxs("div",{className:f("flex items-center gap-2 font-mono text-sm font-medium uppercase",r),role:"status",children:[e.jsx("div",{"aria-hidden":"true",children:e.jsx(i,{})}),t,e.jsx("div",{"aria-hidden":"true",children:e.jsx(i,{})})]})}const a="█<▓█ ▒░/▒░ █░>▒▓/ █▒▒ ▓▒▓/█<░▒ ▓/░>",c=()=>a[Math.floor(Math.random()*a.length)];function i(){const[r,t]=n.useState(a[0]),[s,o]=n.useState(a[1]);return m(()=>{t(c()),o(c())},80),e.jsxs("span",{children:[r,s]})}function m(r,t=1e3){const s=n.useRef(null);n.useEffect(()=>{s.current=r},[r]),n.useEffect(()=>{function o(){s.current?.()}if(t!==null){const u=setInterval(o,t);return()=>clearInterval(u)}},[t])}export{j as L};
2
- //# sourceMappingURL=loading-WTUNhoIS.js.map
1
+ import{j as e}from"./jsx-runtime-EKYJJIwR.js";import{r as n}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{c as d}from"./index-8yBq10sZ.js";import{c as f}from"./misc-DsJGqoYt.js";function j({className:r,children:t="Loading"}){const{reducedMotion:s}=d();return s==="reduce"?e.jsx("div",{className:"animate-pulse",children:t}):e.jsxs("div",{className:f("flex items-center gap-2 font-mono text-sm font-medium uppercase",r),role:"status",children:[e.jsx("div",{"aria-hidden":"true",children:e.jsx(i,{})}),t,e.jsx("div",{"aria-hidden":"true",children:e.jsx(i,{})})]})}const a="█<▓█ ▒░/▒░ █░>▒▓/ █▒▒ ▓▒▓/█<░▒ ▓/░>",o=()=>a[Math.floor(Math.random()*a.length)];function i(){const[r,t]=n.useState(a[0]),[s,c]=n.useState(a[1]);return m(()=>{t(o()),c(o())},80),e.jsxs("span",{children:[r,s]})}function m(r,t=1e3){const s=n.useRef(null);n.useEffect(()=>{s.current=r},[r]),n.useEffect(()=>{function c(){s.current?.()}if(t!==null){const u=setInterval(c,t);return()=>clearInterval(u)}},[t])}export{j as L};
2
+ //# sourceMappingURL=loading-C810LASV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading-WTUNhoIS.js","sources":["../../../app/components/loading.tsx"],"sourcesContent":["// originally this was based on baffle-react, but it was unnecessarily bloated\n// and very out-dated. I've replaced it with a simple Characters component that\n// does the same thing we were using baffle-react for\nimport { useEffect, useRef, useState } from 'react'\nimport { useHints } from '#app/utils/client-hints.tsx'\nimport { cn } from '#app/utils/misc.tsx'\n\nexport function Loading({\n\tclassName,\n\tchildren = 'Loading',\n}: {\n\tclassName?: string\n\tchildren?: React.ReactNode\n}) {\n\tconst { reducedMotion } = useHints()\n\tif (reducedMotion === 'reduce') {\n\t\treturn <div className=\"animate-pulse\">{children}</div>\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex items-center gap-2 font-mono text-sm font-medium uppercase',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\trole=\"status\"\n\t\t>\n\t\t\t<div aria-hidden=\"true\">\n\t\t\t\t<Characters />\n\t\t\t</div>\n\t\t\t{children}\n\t\t\t<div aria-hidden=\"true\">\n\t\t\t\t<Characters />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst characters = '█<▓█ ▒░/▒░ █░>▒▓/ █▒▒ ▓▒▓/█<░▒ ▓/░>'\nconst randomCharacter = () =>\n\tcharacters[Math.floor(Math.random() * characters.length)]\nexport function Characters() {\n\tconst [char1, setChar1] = useState(characters[0])\n\tconst [char2, setChar2] = useState(characters[1])\n\n\tuseInterval(() => {\n\t\tsetChar1(randomCharacter())\n\t\tsetChar2(randomCharacter())\n\t}, 80)\n\n\treturn (\n\t\t<span>\n\t\t\t{char1}\n\t\t\t{char2}\n\t\t</span>\n\t)\n}\n\nfunction useInterval(callback: () => void, delay: number | null = 1000) {\n\tconst savedCallback = useRef<() => void>(null)\n\n\t// Remember the latest function.\n\tuseEffect(() => {\n\t\tsavedCallback.current = callback\n\t}, [callback])\n\n\t// Set up the interval.\n\tuseEffect(() => {\n\t\tfunction tick() {\n\t\t\tsavedCallback.current?.()\n\t\t}\n\t\tif (delay !== null) {\n\t\t\tconst id = setInterval(tick, delay)\n\t\t\treturn () => clearInterval(id)\n\t\t}\n\t}, [delay])\n}\n"],"names":["Loading","className","children","reducedMotion","useHints","jsx","jsxs","cn","Characters","characters","randomCharacter","char1","setChar1","useState","char2","setChar2","useInterval","callback","delay","savedCallback","useRef","useEffect","tick","id"],"mappings":"8KAOO,SAASA,EAAQ,CACvB,UAAAC,EACA,SAAAC,EAAW,SACZ,EAGG,CACF,KAAM,CAAE,cAAAC,CAAA,EAAkBC,EAAA,EAC1B,OAAID,IAAkB,SACdE,EAAAA,IAAC,MAAA,CAAI,UAAU,gBAAiB,SAAAH,CAAA,CAAS,EAIhDI,EAAAA,KAAC,MAAA,CACA,UAAWC,EACV,kEACAN,CAAA,EAED,KAAK,SAEL,SAAA,CAAAI,MAAC,MAAA,CAAI,cAAY,OAChB,SAAAA,MAACG,IAAW,EACb,EACCN,QACA,MAAA,CAAI,cAAY,OAChB,SAAAG,EAAAA,IAACG,IAAW,CAAA,CACb,CAAA,CAAA,CAAA,CAGH,CAEA,MAAMC,EAAa,sCACbC,EAAkB,IACvBD,EAAW,KAAK,MAAM,KAAK,OAAA,EAAWA,EAAW,MAAM,CAAC,EAClD,SAASD,GAAa,CAC5B,KAAM,CAACG,EAAOC,CAAQ,EAAIC,EAAAA,SAASJ,EAAW,CAAC,CAAC,EAC1C,CAACK,EAAOC,CAAQ,EAAIF,EAAAA,SAASJ,EAAW,CAAC,CAAC,EAEhD,OAAAO,EAAY,IAAM,CACjBJ,EAASF,GAAiB,EAC1BK,EAASL,GAAiB,CAC3B,EAAG,EAAE,SAGH,OAAA,CACC,SAAA,CAAAC,EACAG,CAAA,EACF,CAEF,CAEA,SAASE,EAAYC,EAAsBC,EAAuB,IAAM,CACvE,MAAMC,EAAgBC,EAAAA,OAAmB,IAAI,EAG7CC,EAAAA,UAAU,IAAM,CACfF,EAAc,QAAUF,CACzB,EAAG,CAACA,CAAQ,CAAC,EAGbI,EAAAA,UAAU,IAAM,CACf,SAASC,GAAO,CACfH,EAAc,UAAA,CACf,CACA,GAAID,IAAU,KAAM,CACnB,MAAMK,EAAK,YAAYD,EAAMJ,CAAK,EAClC,MAAO,IAAM,cAAcK,CAAE,CAC9B,CACD,EAAG,CAACL,CAAK,CAAC,CACX"}
1
+ {"version":3,"file":"loading-C810LASV.js","sources":["../../../app/components/loading.tsx"],"sourcesContent":["// originally this was based on baffle-react, but it was unnecessarily bloated\n// and very out-dated. I've replaced it with a simple Characters component that\n// does the same thing we were using baffle-react for\nimport { useEffect, useRef, useState } from 'react'\nimport { useHints } from '#app/utils/client-hints.tsx'\nimport { cn } from '#app/utils/misc.tsx'\n\nexport function Loading({\n\tclassName,\n\tchildren = 'Loading',\n}: {\n\tclassName?: string\n\tchildren?: React.ReactNode\n}) {\n\tconst { reducedMotion } = useHints()\n\tif (reducedMotion === 'reduce') {\n\t\treturn <div className=\"animate-pulse\">{children}</div>\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex items-center gap-2 font-mono text-sm font-medium uppercase',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\trole=\"status\"\n\t\t>\n\t\t\t<div aria-hidden=\"true\">\n\t\t\t\t<Characters />\n\t\t\t</div>\n\t\t\t{children}\n\t\t\t<div aria-hidden=\"true\">\n\t\t\t\t<Characters />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst characters = '█<▓█ ▒░/▒░ █░>▒▓/ █▒▒ ▓▒▓/█<░▒ ▓/░>'\nconst randomCharacter = () =>\n\tcharacters[Math.floor(Math.random() * characters.length)]\nexport function Characters() {\n\tconst [char1, setChar1] = useState(characters[0])\n\tconst [char2, setChar2] = useState(characters[1])\n\n\tuseInterval(() => {\n\t\tsetChar1(randomCharacter())\n\t\tsetChar2(randomCharacter())\n\t}, 80)\n\n\treturn (\n\t\t<span>\n\t\t\t{char1}\n\t\t\t{char2}\n\t\t</span>\n\t)\n}\n\nfunction useInterval(callback: () => void, delay: number | null = 1000) {\n\tconst savedCallback = useRef<() => void>(null)\n\n\t// Remember the latest function.\n\tuseEffect(() => {\n\t\tsavedCallback.current = callback\n\t}, [callback])\n\n\t// Set up the interval.\n\tuseEffect(() => {\n\t\tfunction tick() {\n\t\t\tsavedCallback.current?.()\n\t\t}\n\t\tif (delay !== null) {\n\t\t\tconst id = setInterval(tick, delay)\n\t\t\treturn () => clearInterval(id)\n\t\t}\n\t}, [delay])\n}\n"],"names":["Loading","className","children","reducedMotion","useHints","jsx","jsxs","cn","Characters","characters","randomCharacter","char1","setChar1","useState","char2","setChar2","useInterval","callback","delay","savedCallback","useRef","useEffect","tick","id"],"mappings":"8KAOO,SAASA,EAAQ,CACvB,UAAAC,EACA,SAAAC,EAAW,SACZ,EAGG,CACF,KAAM,CAAE,cAAAC,CAAA,EAAkBC,EAAA,EAC1B,OAAID,IAAkB,SACdE,EAAAA,IAAC,MAAA,CAAI,UAAU,gBAAiB,SAAAH,CAAA,CAAS,EAIhDI,EAAAA,KAAC,MAAA,CACA,UAAWC,EACV,kEACAN,CAAA,EAED,KAAK,SAEL,SAAA,CAAAI,MAAC,MAAA,CAAI,cAAY,OAChB,SAAAA,MAACG,IAAW,EACb,EACCN,QACA,MAAA,CAAI,cAAY,OAChB,SAAAG,EAAAA,IAACG,IAAW,CAAA,CACb,CAAA,CAAA,CAAA,CAGH,CAEA,MAAMC,EAAa,sCACbC,EAAkB,IACvBD,EAAW,KAAK,MAAM,KAAK,OAAA,EAAWA,EAAW,MAAM,CAAC,EAClD,SAASD,GAAa,CAC5B,KAAM,CAACG,EAAOC,CAAQ,EAAIC,EAAAA,SAASJ,EAAW,CAAC,CAAC,EAC1C,CAACK,EAAOC,CAAQ,EAAIF,EAAAA,SAASJ,EAAW,CAAC,CAAC,EAEhD,OAAAO,EAAY,IAAM,CACjBJ,EAASF,GAAiB,EAC1BK,EAASL,GAAiB,CAC3B,EAAG,EAAE,SAGH,OAAA,CACC,SAAA,CAAAC,EACAG,CAAA,EACF,CAEF,CAEA,SAASE,EAAYC,EAAsBC,EAAuB,IAAM,CACvE,MAAMC,EAAgBC,EAAAA,OAAmB,IAAI,EAG7CC,EAAAA,UAAU,IAAM,CACfF,EAAc,QAAUF,CACzB,EAAG,CAACA,CAAQ,CAAC,EAGbI,EAAAA,UAAU,IAAM,CACf,SAASC,GAAO,CACfH,EAAc,UAAA,CACf,CACA,GAAID,IAAU,KAAM,CACnB,MAAMK,EAAK,YAAYD,EAAMJ,CAAK,EAClC,MAAO,IAAM,cAAcK,CAAE,CAC9B,CACD,EAAG,CAACL,CAAK,CAAC,CACX"}
@@ -0,0 +1,2 @@
1
+ import{w as v,d as j,r as o,m as y,j as C,L as N}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{j as e}from"./jsx-runtime-EKYJJIwR.js";import{u as R}from"./use-event-source-DDlZtAwc.js";import{a as b,B as k}from"./button-BoJWEKHp.js";import{L as S}from"./loading-C810LASV.js";import{L as w}from"./product-B3wkyL3-.js";import{u as T}from"./workshop-config-5VcXxeyp.js";import{d as _,o as c,s as l,l as d}from"./index-8yBq10sZ.js";import"./clsx-B-dksMZM.js";import"./misc-DsJGqoYt.js";import"./tooltip-CTw4ab49.js";import"./index-Bp_2FjuO.js";import"./pe-DoDyGTeN.js";const t={USER_CODE_RECEIVED:"USER_CODE_RECEIVED",AUTH_RESOLVED:"AUTH_RESOLVED",AUTH_REJECTED:"AUTH_REJECTED"},D=c({type:d(t.USER_CODE_RECEIVED),code:l(),url:l()}),L=c({type:d(t.AUTH_RESOLVED)}),A=c({type:d(t.AUTH_REJECTED),error:l().optional().default("Unknown error")}),U=_([D,L,A]),K={getSitemapEntries:()=>null},Q=v(function(){const{product:{displayName:r}}=T(),i=j(),[f,x]=o.useState(!1),[m,h]=o.useState(null),[a,E]=o.useState(null),u=y(),p=C(),n=R("/login-sse");return o.useEffect(()=>{if(!n)return;const g=JSON.parse(n),s=U.safeParse(g);if(!s.success){console.error(s.error.flatten());return}switch(s.data.type){case t.USER_CODE_RECEIVED:{E(s.data);break}case t.AUTH_RESOLVED:{p.revalidate().then(()=>u("/"));break}case t.AUTH_REJECTED:{h(s.data.error);break}}},[n,u,p]),e.jsx("main",{className:"flex h-full w-full flex-grow flex-col items-center justify-center p-10",children:e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(w,{className:"h-16 w-16"}),e.jsxs("h1",{className:"pt-5 text-2xl font-semibold md:text-3xl",children:["Login to ",r]}),e.jsxs("div",{className:"flex w-full flex-col items-center pt-5",children:[a?e.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3",children:[e.jsxs("div",{className:"my-2 flex w-full flex-col items-center gap-2",children:[e.jsx("p",{className:"text-lg",children:"Your verification code is: "}),e.jsx("div",{className:"mb-3 w-full bg-gray-100 px-5 py-3 text-center text-lg font-bold dark:bg-black/40",children:e.jsx("code",{children:a.code})}),e.jsxs("p",{className:"text-base",children:["You'll use this to verify your device on ",r,". Click verify code below to open the verification page."]})]}),e.jsx(b,{varient:"primary",to:a.url,target:"_blank",rel:"noreferrer",onClick:()=>x(!0),children:"Verify Auth Code"}),f?e.jsxs("div",{className:"justify-center pt-5 text-center opacity-60",children:[e.jsx(S,{className:"justify-center",children:"Waiting for confirmation"}),e.jsxs("p",{className:"pt-2",children:["Please open"," ",e.jsx("a",{href:a.url,target:"_blank",className:"underline",children:"your auth page"})," ","in a new tab to continue."]})]}):null]}):e.jsxs("div",{className:"flex flex-col items-center gap-8",children:[e.jsxs("div",{className:"flex max-w-lg flex-col gap-3 pt-3 text-base text-gray-700 dark:text-gray-300",children:[e.jsxs("p",{children:["If you have access to this workshop on ",r,", you'll be able to watch videos, track progress, run tests, view the diffs, and more!"]}),e.jsxs("p",{children:["First you need to authenticate your device by requesting an access code and verifying on ",r,"."]})]}),e.jsx(i.Form,{method:"POST",children:e.jsx(k,{varient:"primary",type:"submit",children:i.state==="idle"&&i.data?.status!=="pending"?"Retrieve Auth Code":"Retrieving Auth Code..."})})]}),m?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mt-4 text-red-500",children:["There was an error: ",e.jsx("pre",{children:m})]}),e.jsxs("div",{className:"mt-4 text-red-500",children:["Please try again or"," ",e.jsx(N,{to:"/support",className:"underline",children:"contact support"})," ","if the problem persists."]})]}):null]})]})})});export{Q as default,K as handle};
2
+ //# sourceMappingURL=login-CQRwgkfM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-BzcTSzkr.js","sources":["../../../app/utils/auth-events.ts","../../../app/routes/login-sse.tsx","../../../app/routes/_app+/login.tsx"],"sourcesContent":["export const EVENTS = {\n\tUSER_CODE_RECEIVED: 'USER_CODE_RECEIVED',\n\tAUTH_RESOLVED: 'AUTH_RESOLVED',\n\tAUTH_REJECTED: 'AUTH_REJECTED',\n} as const\nexport type EventTypes = keyof typeof EVENTS\n","import { type LoaderFunctionArgs } from 'react-router'\nimport { eventStream } from 'remix-utils/sse/server'\nimport { z } from 'zod'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { authEmitter } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\n\nconst CodeReceivedEventSchema = z.object({\n\ttype: z.literal(EVENTS.USER_CODE_RECEIVED),\n\tcode: z.string(),\n\turl: z.string(),\n})\nconst AuthResolvedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_RESOLVED),\n})\nconst AuthRejectedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_REJECTED),\n\terror: z.string().optional().default('Unknown error'),\n})\nexport const EventSchema = z.union([\n\tCodeReceivedEventSchema,\n\tAuthResolvedEventSchema,\n\tAuthRejectedEventSchema,\n])\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\treturn eventStream(request.signal, function setup(send) {\n\t\tfunction handleCodeReceived(data: any) {\n\t\t\tsend({\n\t\t\t\tdata: JSON.stringify(\n\t\t\t\t\tCodeReceivedEventSchema.parse({\n\t\t\t\t\t\ttype: EVENTS.USER_CODE_RECEIVED,\n\t\t\t\t\t\t...data,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t\tfunction handleAuthResolved() {\n\t\t\tsend({ data: JSON.stringify({ type: EVENTS.AUTH_RESOLVED }) })\n\t\t}\n\t\tfunction handleAuthRejected(data: any) {\n\t\t\tconst result = AuthRejectedEventSchema.safeParse({\n\t\t\t\ttype: EVENTS.AUTH_REJECTED,\n\t\t\t\t...data,\n\t\t\t})\n\t\t\tif (result.success) {\n\t\t\t\tsend({ data: JSON.stringify(result.data) })\n\t\t\t} else {\n\t\t\t\tconsole.error('Error parsing auth rejected event', result.error, data)\n\t\t\t}\n\t\t}\n\t\tauthEmitter.on(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\tauthEmitter.on(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\tauthEmitter.on(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\treturn () => {\n\t\t\tauthEmitter.off(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\t\tauthEmitter.off(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\t\tauthEmitter.off(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\t}\n\t})\n}\n","import { getAuthInfo } from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { useEffect, useState } from 'react'\nimport {\n\tredirect,\n\tLink,\n\tuseFetcher,\n\tuseNavigate,\n\tuseRevalidator,\n} from 'react-router'\nimport { useEventSource } from 'remix-utils/sse/react'\nimport { Button, ButtonLink } from '#app/components/button.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { Logo } from '#app/components/product.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.js'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { registerDevice } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { EventSchema } from '../login-sse.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst isAuthenticated = Boolean(await getAuthInfo())\n\tif (isAuthenticated) throw redirect('/account')\n\treturn {}\n}\n\nexport async function action() {\n\tensureUndeployed()\n\tvoid registerDevice()\n\treturn { status: 'pending' } as const\n}\n\nexport default function Login() {\n\tconst {\n\t\tproduct: { displayName },\n\t} = useWorkshopConfig()\n\tconst loginFetcher = useFetcher<typeof action>()\n\tconst [clickedVerificationLink, setClickedVerificationLink] = useState(false)\n\tconst [authError, setAuthError] = useState<null | string>(null)\n\tconst [userCodeInfo, setUserCodeInfo] = useState<null | {\n\t\tcode: string\n\t\turl: string\n\t}>(null)\n\tconst navigate = useNavigate()\n\tconst revalidator = useRevalidator()\n\tconst lastMessage = useEventSource(`/login-sse`)\n\tuseEffect(() => {\n\t\tif (!lastMessage) return\n\n\t\tconst parsed = JSON.parse(lastMessage)\n\t\tconst result = EventSchema.safeParse(parsed)\n\t\tif (!result.success) {\n\t\t\tconsole.error(result.error.flatten())\n\t\t\treturn\n\t\t}\n\t\tswitch (result.data.type) {\n\t\t\tcase EVENTS.USER_CODE_RECEIVED: {\n\t\t\t\tsetUserCodeInfo(result.data)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_RESOLVED: {\n\t\t\t\tvoid revalidator.revalidate().then(() => navigate('/'))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_REJECTED: {\n\t\t\t\tsetAuthError(result.data.error)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [lastMessage, navigate, revalidator])\n\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-grow flex-col items-center justify-center p-10\">\n\t\t\t<div className=\"flex flex-col items-center\">\n\t\t\t\t<Logo className=\"h-16 w-16\" />\n\t\t\t\t<h1 className=\"pt-5 text-2xl font-semibold md:text-3xl\">\n\t\t\t\t\tLogin to {displayName}\n\t\t\t\t</h1>\n\t\t\t\t<div className=\"flex w-full flex-col items-center pt-5\">\n\t\t\t\t\t{userCodeInfo ? (\n\t\t\t\t\t\t<div className=\"flex w-full max-w-md flex-col items-center gap-3\">\n\t\t\t\t\t\t\t<div className=\"my-2 flex w-full flex-col items-center gap-2\">\n\t\t\t\t\t\t\t\t<p className=\"text-lg\">Your verification code is: </p>\n\t\t\t\t\t\t\t\t<div className=\"mb-3 w-full bg-gray-100 px-5 py-3 text-center text-lg font-bold dark:bg-black/40\">\n\t\t\t\t\t\t\t\t\t<code>{userCodeInfo.code}</code>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<p className=\"text-base\">\n\t\t\t\t\t\t\t\t\tYou'll use this to verify your device on {displayName}. Click\n\t\t\t\t\t\t\t\t\tverify code below to open the verification page.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ButtonLink\n\t\t\t\t\t\t\t\tvarient=\"primary\"\n\t\t\t\t\t\t\t\tto={userCodeInfo.url}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t\t\tonClick={() => setClickedVerificationLink(true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tVerify Auth Code\n\t\t\t\t\t\t\t</ButtonLink>\n\t\t\t\t\t\t\t{clickedVerificationLink ? (\n\t\t\t\t\t\t\t\t<div className=\"justify-center pt-5 text-center opacity-60\">\n\t\t\t\t\t\t\t\t\t<Loading className=\"justify-center\">\n\t\t\t\t\t\t\t\t\t\tWaiting for confirmation\n\t\t\t\t\t\t\t\t\t</Loading>\n\t\t\t\t\t\t\t\t\t<p className=\"pt-2\">\n\t\t\t\t\t\t\t\t\t\tPlease open{' '}\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={userCodeInfo.url}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tyour auth page\n\t\t\t\t\t\t\t\t\t\t</a>{' '}\n\t\t\t\t\t\t\t\t\t\tin a new tab to continue.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center gap-8\">\n\t\t\t\t\t\t\t<div className=\"flex max-w-lg flex-col gap-3 pt-3 text-base text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tIf you have access to this workshop on {displayName}, you'll\n\t\t\t\t\t\t\t\t\tbe able to watch videos, track progress, run tests, view the\n\t\t\t\t\t\t\t\t\tdiffs, and more!\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tFirst you need to authenticate your device by requesting an\n\t\t\t\t\t\t\t\t\taccess code and verifying on {displayName}.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<loginFetcher.Form method=\"POST\">\n\t\t\t\t\t\t\t\t<Button varient=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{loginFetcher.state === 'idle' &&\n\t\t\t\t\t\t\t\t\tloginFetcher.data?.status !== 'pending'\n\t\t\t\t\t\t\t\t\t\t? `Retrieve Auth Code`\n\t\t\t\t\t\t\t\t\t\t: `Retrieving Auth Code...`}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</loginFetcher.Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{authError ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tThere was an error: <pre>{authError}</pre>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tPlease try again or{' '}\n\t\t\t\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\t\t\t\tcontact support\n\t\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\t\tif the problem persists.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n"],"names":["EVENTS","CodeReceivedEventSchema","z","type","USER_CODE_RECEIVED","code","url","AuthResolvedEventSchema","AUTH_RESOLVED","AuthRejectedEventSchema","AUTH_REJECTED","error","optional","default","EventSchema","handle","getSitemapEntries","login","_UNSAFE_withComponentProps","product","displayName","useWorkshopConfig","loginFetcher","useFetcher","clickedVerificationLink","setClickedVerificationLink","useState","authError","setAuthError","userCodeInfo","setUserCodeInfo","navigate","useNavigate","revalidator","useRevalidator","lastMessage","useEventSource","useEffect","parsed","JSON","parse","result","safeParse","success","console","flatten","data","revalidate","then","className","children","jsxs","jsx","Logo","ButtonLink","varient","to","target","rel","onClick","Loading","href","Form","method","Button","state","status","Fragment","Link"],"mappings":"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"}
1
+ {"version":3,"file":"login-CQRwgkfM.js","sources":["../../../app/utils/auth-events.ts","../../../app/routes/login-sse.tsx","../../../app/routes/_app+/login.tsx"],"sourcesContent":["export const EVENTS = {\n\tUSER_CODE_RECEIVED: 'USER_CODE_RECEIVED',\n\tAUTH_RESOLVED: 'AUTH_RESOLVED',\n\tAUTH_REJECTED: 'AUTH_REJECTED',\n} as const\nexport type EventTypes = keyof typeof EVENTS\n","import { type LoaderFunctionArgs } from 'react-router'\nimport { eventStream } from 'remix-utils/sse/server'\nimport { z } from 'zod'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { authEmitter } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\n\nconst CodeReceivedEventSchema = z.object({\n\ttype: z.literal(EVENTS.USER_CODE_RECEIVED),\n\tcode: z.string(),\n\turl: z.string(),\n})\nconst AuthResolvedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_RESOLVED),\n})\nconst AuthRejectedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_REJECTED),\n\terror: z.string().optional().default('Unknown error'),\n})\nexport const EventSchema = z.union([\n\tCodeReceivedEventSchema,\n\tAuthResolvedEventSchema,\n\tAuthRejectedEventSchema,\n])\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\treturn eventStream(request.signal, function setup(send) {\n\t\tfunction handleCodeReceived(data: any) {\n\t\t\tsend({\n\t\t\t\tdata: JSON.stringify(\n\t\t\t\t\tCodeReceivedEventSchema.parse({\n\t\t\t\t\t\ttype: EVENTS.USER_CODE_RECEIVED,\n\t\t\t\t\t\t...data,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t\tfunction handleAuthResolved() {\n\t\t\tsend({ data: JSON.stringify({ type: EVENTS.AUTH_RESOLVED }) })\n\t\t}\n\t\tfunction handleAuthRejected(data: any) {\n\t\t\tconst result = AuthRejectedEventSchema.safeParse({\n\t\t\t\ttype: EVENTS.AUTH_REJECTED,\n\t\t\t\t...data,\n\t\t\t})\n\t\t\tif (result.success) {\n\t\t\t\tsend({ data: JSON.stringify(result.data) })\n\t\t\t} else {\n\t\t\t\tconsole.error('Error parsing auth rejected event', result.error, data)\n\t\t\t}\n\t\t}\n\t\tauthEmitter.on(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\tauthEmitter.on(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\tauthEmitter.on(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\treturn () => {\n\t\t\tauthEmitter.off(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\t\tauthEmitter.off(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\t\tauthEmitter.off(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\t}\n\t})\n}\n","import { getAuthInfo } from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { useEffect, useState } from 'react'\nimport {\n\tredirect,\n\tLink,\n\tuseFetcher,\n\tuseNavigate,\n\tuseRevalidator,\n} from 'react-router'\nimport { useEventSource } from 'remix-utils/sse/react'\nimport { Button, ButtonLink } from '#app/components/button.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { Logo } from '#app/components/product.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.js'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { registerDevice } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { EventSchema } from '../login-sse.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst isAuthenticated = Boolean(await getAuthInfo())\n\tif (isAuthenticated) throw redirect('/account')\n\treturn {}\n}\n\nexport async function action() {\n\tensureUndeployed()\n\tvoid registerDevice()\n\treturn { status: 'pending' } as const\n}\n\nexport default function Login() {\n\tconst {\n\t\tproduct: { displayName },\n\t} = useWorkshopConfig()\n\tconst loginFetcher = useFetcher<typeof action>()\n\tconst [clickedVerificationLink, setClickedVerificationLink] = useState(false)\n\tconst [authError, setAuthError] = useState<null | string>(null)\n\tconst [userCodeInfo, setUserCodeInfo] = useState<null | {\n\t\tcode: string\n\t\turl: string\n\t}>(null)\n\tconst navigate = useNavigate()\n\tconst revalidator = useRevalidator()\n\tconst lastMessage = useEventSource(`/login-sse`)\n\tuseEffect(() => {\n\t\tif (!lastMessage) return\n\n\t\tconst parsed = JSON.parse(lastMessage)\n\t\tconst result = EventSchema.safeParse(parsed)\n\t\tif (!result.success) {\n\t\t\tconsole.error(result.error.flatten())\n\t\t\treturn\n\t\t}\n\t\tswitch (result.data.type) {\n\t\t\tcase EVENTS.USER_CODE_RECEIVED: {\n\t\t\t\tsetUserCodeInfo(result.data)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_RESOLVED: {\n\t\t\t\tvoid revalidator.revalidate().then(() => navigate('/'))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_REJECTED: {\n\t\t\t\tsetAuthError(result.data.error)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [lastMessage, navigate, revalidator])\n\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-grow flex-col items-center justify-center p-10\">\n\t\t\t<div className=\"flex flex-col items-center\">\n\t\t\t\t<Logo className=\"h-16 w-16\" />\n\t\t\t\t<h1 className=\"pt-5 text-2xl font-semibold md:text-3xl\">\n\t\t\t\t\tLogin to {displayName}\n\t\t\t\t</h1>\n\t\t\t\t<div className=\"flex w-full flex-col items-center pt-5\">\n\t\t\t\t\t{userCodeInfo ? (\n\t\t\t\t\t\t<div className=\"flex w-full max-w-md flex-col items-center gap-3\">\n\t\t\t\t\t\t\t<div className=\"my-2 flex w-full flex-col items-center gap-2\">\n\t\t\t\t\t\t\t\t<p className=\"text-lg\">Your verification code is: </p>\n\t\t\t\t\t\t\t\t<div className=\"mb-3 w-full bg-gray-100 px-5 py-3 text-center text-lg font-bold dark:bg-black/40\">\n\t\t\t\t\t\t\t\t\t<code>{userCodeInfo.code}</code>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<p className=\"text-base\">\n\t\t\t\t\t\t\t\t\tYou'll use this to verify your device on {displayName}. Click\n\t\t\t\t\t\t\t\t\tverify code below to open the verification page.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ButtonLink\n\t\t\t\t\t\t\t\tvarient=\"primary\"\n\t\t\t\t\t\t\t\tto={userCodeInfo.url}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t\t\tonClick={() => setClickedVerificationLink(true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tVerify Auth Code\n\t\t\t\t\t\t\t</ButtonLink>\n\t\t\t\t\t\t\t{clickedVerificationLink ? (\n\t\t\t\t\t\t\t\t<div className=\"justify-center pt-5 text-center opacity-60\">\n\t\t\t\t\t\t\t\t\t<Loading className=\"justify-center\">\n\t\t\t\t\t\t\t\t\t\tWaiting for confirmation\n\t\t\t\t\t\t\t\t\t</Loading>\n\t\t\t\t\t\t\t\t\t<p className=\"pt-2\">\n\t\t\t\t\t\t\t\t\t\tPlease open{' '}\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={userCodeInfo.url}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tyour auth page\n\t\t\t\t\t\t\t\t\t\t</a>{' '}\n\t\t\t\t\t\t\t\t\t\tin a new tab to continue.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center gap-8\">\n\t\t\t\t\t\t\t<div className=\"flex max-w-lg flex-col gap-3 pt-3 text-base text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tIf you have access to this workshop on {displayName}, you'll\n\t\t\t\t\t\t\t\t\tbe able to watch videos, track progress, run tests, view the\n\t\t\t\t\t\t\t\t\tdiffs, and more!\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tFirst you need to authenticate your device by requesting an\n\t\t\t\t\t\t\t\t\taccess code and verifying on {displayName}.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<loginFetcher.Form method=\"POST\">\n\t\t\t\t\t\t\t\t<Button varient=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{loginFetcher.state === 'idle' &&\n\t\t\t\t\t\t\t\t\tloginFetcher.data?.status !== 'pending'\n\t\t\t\t\t\t\t\t\t\t? `Retrieve Auth Code`\n\t\t\t\t\t\t\t\t\t\t: `Retrieving Auth Code...`}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</loginFetcher.Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{authError ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tThere was an error: <pre>{authError}</pre>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tPlease try again or{' '}\n\t\t\t\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\t\t\t\tcontact support\n\t\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\t\tif the problem persists.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n"],"names":["EVENTS","CodeReceivedEventSchema","z","type","USER_CODE_RECEIVED","code","url","AuthResolvedEventSchema","AUTH_RESOLVED","AuthRejectedEventSchema","AUTH_REJECTED","error","optional","default","EventSchema","handle","getSitemapEntries","login","_UNSAFE_withComponentProps","product","displayName","useWorkshopConfig","loginFetcher","useFetcher","clickedVerificationLink","setClickedVerificationLink","useState","authError","setAuthError","userCodeInfo","setUserCodeInfo","navigate","useNavigate","revalidator","useRevalidator","lastMessage","useEventSource","useEffect","parsed","JSON","parse","result","safeParse","success","console","flatten","data","revalidate","then","className","children","jsxs","jsx","Logo","ButtonLink","varient","to","target","rel","onClick","Loading","href","Form","method","Button","state","status","Fragment","Link"],"mappings":"ijBAAO,MAAMA,EAAS,CACrB,mBAAoB,qBACpB,cAAe,gBACf,cAAe,eAChB,ECGMC,EAA0BC,EAAS,CACxCC,KAAMD,EAAUF,EAAOI,kBAAkB,EACzCC,KAAMH,EAAE,EACRI,IAAKJ,EAAE,CACR,CAAC,EACKK,EAA0BL,EAAS,CACxCC,KAAMD,EAAUF,EAAOQ,aAAa,CACrC,CAAC,EACKC,EAA0BP,EAAS,CACxCC,KAAMD,EAAUF,EAAOU,aAAa,EACpCC,MAAOT,EAAE,EAASU,SAAA,EAAWC,QAAQ,eAAe,CACrD,CAAC,EACYC,EAAcZ,EAAQ,CAClCD,EACAM,EACAE,CAAA,CACA,ECHYM,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAeAC,EAAAC,EAAA,UAAgC,CAC/B,KAAM,CACLC,QAAS,CAAEC,YAAAA,CAAY,GACpBC,EAAA,EACEC,EAAeC,EAAA,EACf,CAACC,EAAyBC,CAA0B,EAAIC,EAAAA,SAAS,EAAK,EACtE,CAACC,EAAWC,CAAY,EAAIF,EAAAA,SAAwB,IAAI,EACxD,CAACG,EAAcC,CAAe,EAAIJ,EAAAA,SAGrC,IAAI,EACDK,EAAWC,EAAA,EACXC,EAAcC,EAAA,EACdC,EAAcC,EAAe,YAAY,EAC/CC,OAAAA,EAAAA,UAAU,IAAM,CACf,GAAI,CAACF,EAAa,OAElB,MAAMG,EAASC,KAAKC,MAAML,CAAW,EAC/BM,EAAS3B,EAAY4B,UAAUJ,CAAM,EAC3C,GAAI,CAACG,EAAOE,QAAS,CACpBC,QAAQjC,MAAM8B,EAAO9B,MAAMkC,QAAA,CAAS,EACpC,MACD,CACA,OAAQJ,EAAOK,KAAK3C,KAAA,CACnB,KAAKH,EAAOI,mBAAoB,CAC/B0B,EAAgBW,EAAOK,IAAI,EAC3B,KACD,CACA,KAAK9C,EAAOQ,cAAe,CACrByB,EAAYc,WAAA,EAAaC,KAAK,IAAMjB,EAAS,GAAG,CAAC,EACtD,KACD,CACA,KAAK/B,EAAOU,cAAe,CAC1BkB,EAAaa,EAAOK,KAAKnC,KAAK,EAC9B,KACD,CACD,CACD,EAAG,CAACwB,EAAaJ,EAAUE,CAAW,CAAC,QAGrC,OAAA,CAAKgB,UAAU,yEACfC,SAAAC,EAAAA,KAAC,MAAA,CAAIF,UAAU,6BACdC,SAAA,CAAAE,EAAAA,IAACC,EAAA,CAAKJ,UAAU,WAAA,CAAY,EAC5BE,EAAAA,KAAC,KAAA,CAAGF,UAAU,0CAA0CC,SAAA,CAAA,YAC7C9B,CAAA,CAAA,CACX,EACA+B,EAAAA,KAAC,MAAA,CAAIF,UAAU,yCACbC,SAAA,CAAArB,EACAsB,EAAAA,KAAC,MAAA,CAAIF,UAAU,mDACdC,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAIF,UAAU,+CACdC,SAAA,CAAAE,EAAAA,IAAC,IAAA,CAAEH,UAAU,UAAUC,SAAA,6BAAA,CAA2B,EAClDE,EAAAA,IAAC,OAAIH,UAAU,mFACdC,eAAC,OAAA,CAAMA,SAAArB,EAAaxB,KAAK,CAAA,CAC1B,EACA8C,EAAAA,KAAC,IAAA,CAAEF,UAAU,YAAYC,SAAA,CAAA,4CACkB9B,EAAY,0DAAA,CAAA,CAEvD,CAAA,CAAA,CACD,EACAgC,EAAAA,IAACE,EAAA,CACAC,QAAQ,UACRC,GAAI3B,EAAavB,IACjBmD,OAAO,SACPC,IAAI,aACJC,QAASA,IAAMlC,EAA2B,EAAI,EAC9CyB,SAAA,mBAED,EACC1B,EACA2B,EAAAA,KAAC,MAAA,CAAIF,UAAU,6CACdC,SAAA,CAAAE,EAAAA,IAACQ,EAAA,CAAQX,UAAU,iBAAiBC,SAAA,0BAAA,CAEpC,EACAC,EAAAA,KAAC,IAAA,CAAEF,UAAU,OAAOC,SAAA,CAAA,cACP,IACZE,EAAAA,IAAC,IAAA,CACAS,KAAMhC,EAAavB,IACnBmD,OAAO,SACPR,UAAU,YACVC,SAAA,gBAAA,CAED,EAAK,IAAI,2BAAA,CAAA,CAEV,CAAA,EACD,EACG,IAAA,CAAA,CACL,EAEAC,EAAAA,KAAC,MAAA,CAAIF,UAAU,mCACdC,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAIF,UAAU,+EACdC,SAAA,CAAAC,EAAAA,KAAC,IAAA,CAAED,SAAA,CAAA,0CACsC9B,EAAY,wFAAA,CAAA,CAGrD,SACC,IAAA,CAAE8B,SAAA,CAAA,4FAE4B9B,EAAY,GAAA,CAAA,CAC3C,CAAA,EACD,EACAgC,EAAAA,IAAC9B,EAAawC,KAAb,CAAkBC,OAAO,OACzBb,SAAAE,EAAAA,IAACY,GAAOT,QAAQ,UAAUpD,KAAK,SAC7B+C,SAAA5B,EAAa2C,QAAU,QACxB3C,EAAawB,MAAMoB,SAAW,UAC3B,qBACA,0BACJ,CAAA,CACD,CAAA,EACD,EAEAvC,EACAwB,EAAAA,KAAAgB,WAAA,CACCjB,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAIF,UAAU,oBAAoBC,SAAA,CAAA,uBACdE,EAAAA,IAAC,OAAKF,SAAAvB,CAAA,CAAU,CAAA,CAAA,CACrC,EACAwB,EAAAA,KAAC,MAAA,CAAIF,UAAU,oBAAoBC,SAAA,CAAA,sBACd,UACnBkB,EAAA,CAAKZ,GAAG,WAAWP,UAAU,YAAYC,SAAA,iBAAA,CAE1C,EAAQ,IAAI,0BAAA,CAAA,CAEb,CAAA,EACD,EACG,IAAA,CAAA,CACL,CAAA,EACD,CAAA,CACD,CAEF,CAAA"}
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-anc4-dZY.js","imports":["/assets/jsx-runtime-EKYJJIwR.js","/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/index-Bp_2FjuO.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/root-CoMxWz2o.js","imports":["/assets/jsx-runtime-EKYJJIwR.js","/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/index-Bp_2FjuO.js","/assets/misc-DsJGqoYt.js","/assets/pe-DoDyGTeN.js","/assets/error-boundary-bzCOyChj.js","/assets/progress-bar-BagX2z6n.js","/assets/index-LNXI3Vlr.js","/assets/tooltip-CTw4ab49.js","/assets/index-8yBq10sZ.js","/assets/presence-DXH0dXJd.js","/assets/seo-t5J-DRxw.js","/assets/clsx-B-dksMZM.js","/assets/online-Cf3nj5JR.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/_-Kbj-HAPY.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/error-boundary-bzCOyChj.js","/assets/misc-DsJGqoYt.js","/assets/clsx-B-dksMZM.js"],"css":[]},"routes/_app+/_layout":{"id":"routes/_app+/_layout","parentId":"root","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_layout-ePpFHa-S.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/clsx-B-dksMZM.js","/assets/pe-DoDyGTeN.js","/assets/misc-DsJGqoYt.js","/assets/product-B3wkyL3-.js","/assets/revalidation-ws-De6AS3e6.js","/assets/tooltip-CTw4ab49.js","/assets/index-CtnHrWrs.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/online-Cf3nj5JR.js","/assets/presence-DXH0dXJd.js","/assets/progress-BP5cLKuW.js","/assets/index-8yBq10sZ.js","/assets/index-Bp_2FjuO.js"],"css":[]},"routes/_app+/account":{"id":"routes/_app+/account","parentId":"routes/_app+/_layout","path":"account","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/account-BgHt6sNV.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/button-BoJWEKHp.js","/assets/misc-DsJGqoYt.js","/assets/tooltip-CTw4ab49.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js"],"css":[]},"routes/_app+/app.$appName+/$":{"id":"routes/_app+/app.$appName+/$","parentId":"routes/_app+/_layout","path":"app/:appName/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/api.$":{"id":"routes/_app+/app.$appName+/api.$","parentId":"routes/_app+/_layout","path":"app/:appName/api/*","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/api._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/epic_ws[.js]":{"id":"routes/_app+/app.$appName+/epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/epic_ws.js","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/index":{"id":"routes/_app+/app.$appName+/index","parentId":"routes/_app+/_layout","path":"app/:appName","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":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","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/test._testName-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.epic_ws[.js]":{"id":"routes/_app+/app.$appName+/test.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/test/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/test.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.epic_ws[.js]":{"id":"routes/_app+/app.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/app.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/discord":{"id":"routes/_app+/discord","parentId":"routes/_app+/_layout","path":"discord","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/discord-BvZSO_OZ.js","imports":["/assets/discord-B5cRUOhZ.js","/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/misc-DsJGqoYt.js","/assets/clsx-B-dksMZM.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js"],"css":[]},"routes/_app+/exercise+/_layout":{"id":"routes/_app+/exercise+/_layout","parentId":"routes/_app+/_layout","path":"exercise","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_layout-dHfVo9gJ.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber":{"id":"routes/_app+/exercise+/$exerciseNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber-MXWVsKzI.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/index-_jNKXw67.js","/assets/epic-video-CRkBFsAC.js","/assets/revalidation-ws-De6AS3e6.js","/assets/mdx-DH55rolp.js","/assets/progress-BP5cLKuW.js","/assets/misc-DsJGqoYt.js","/assets/seo-t5J-DRxw.js","/assets/index-8yBq10sZ.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/clsx-B-dksMZM.js","/assets/progress-bar-BagX2z6n.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/:stepNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber_._stepNumber-BfeokKD3.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/misc-DsJGqoYt.js","/assets/clsx-B-dksMZM.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","path":":type","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/_layout-Bv8l5wO7.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/index-_jNKXw67.js","/assets/error-boundary-bzCOyChj.js","/assets/nav-chevrons-CSVvCjJa.js","/assets/revalidation-ws-De6AS3e6.js","/assets/mdx-DH55rolp.js","/assets/progress-BP5cLKuW.js","/assets/set-playground-fnyxfdJX.js","/assets/misc-DsJGqoYt.js","/assets/seo-t5J-DRxw.js","/assets/epic-video-CRkBFsAC.js","/assets/tooltip-CTw4ab49.js","/assets/index-8yBq10sZ.js","/assets/index-CtnHrWrs.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js","/assets/progress-bar-BagX2z6n.js","/assets/pe-DoDyGTeN.js","/assets/index-DPhEf4uN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"app","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/app-By03B5QO.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/preview-B35cxJW7.js","/assets/misc-DsJGqoYt.js","/assets/clsx-B-dksMZM.js","/assets/button-BoJWEKHp.js","/assets/loading-C810LASV.js","/assets/index-8yBq10sZ.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js","/assets/progress-bar-BagX2z6n.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/index-Cf0XLNVj.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/tooltip-CTw4ab49.js","/assets/index-DPhEf4uN.js","/assets/clsx-B-dksMZM.js","/assets/diff-C1wUPjJK.js","/assets/error-boundary-bzCOyChj.js","/assets/misc-DsJGqoYt.js","/assets/loading-C810LASV.js","/assets/discord-B5cRUOhZ.js","/assets/online-Cf3nj5JR.js","/assets/index-LNXI3Vlr.js","/assets/set-playground-fnyxfdJX.js","/assets/tests-EEL6JFzf.js","/assets/preview-B35cxJW7.js","/assets/index-Bp_2FjuO.js","/assets/index-CtnHrWrs.js","/assets/accordion-DBvaz78c.js","/assets/mdx-DH55rolp.js","/assets/epic-video-CRkBFsAC.js","/assets/index-8yBq10sZ.js","/assets/pe-DoDyGTeN.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/progress-bar-BagX2z6n.js","/assets/revalidation-ws-De6AS3e6.js","/assets/use-event-source-DDlZtAwc.js","/assets/button-BoJWEKHp.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"test","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/test-Dr7hgef4.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/tests-EEL6JFzf.js","/assets/epic-video-CRkBFsAC.js","/assets/index-8yBq10sZ.js","/assets/misc-DsJGqoYt.js","/assets/clsx-B-dksMZM.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/accordion-DBvaz78c.js","/assets/index-DPhEf4uN.js","/assets/index-CtnHrWrs.js","/assets/use-event-source-DDlZtAwc.js","/assets/set-playground-fnyxfdJX.js","/assets/progress-bar-BagX2z6n.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.finished":{"id":"routes/_app+/exercise+/$exerciseNumber_.finished","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_.finished-Dr6lECMK.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/index-_jNKXw67.js","/assets/epic-video-CRkBFsAC.js","/assets/misc-DsJGqoYt.js","/assets/loading-C810LASV.js","/assets/nav-chevrons-CSVvCjJa.js","/assets/revalidation-ws-De6AS3e6.js","/assets/mdx-DH55rolp.js","/assets/progress-BP5cLKuW.js","/assets/index-8yBq10sZ.js","/assets/online-Cf3nj5JR.js","/assets/seo-t5J-DRxw.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js","/assets/progress-bar-BagX2z6n.js","/assets/pe-DoDyGTeN.js","/assets/tooltip-CTw4ab49.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/finished":{"id":"routes/_app+/finished","parentId":"routes/_app+/_layout","path":"finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/finished-D-PDIHdi.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/index-_jNKXw67.js","/assets/epic-video-CRkBFsAC.js","/assets/misc-DsJGqoYt.js","/assets/loading-C810LASV.js","/assets/nav-chevrons-CSVvCjJa.js","/assets/revalidation-ws-De6AS3e6.js","/assets/mdx-DH55rolp.js","/assets/online-Cf3nj5JR.js","/assets/seo-t5J-DRxw.js","/assets/progress-BP5cLKuW.js","/assets/index-8yBq10sZ.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js","/assets/progress-bar-BagX2z6n.js","/assets/pe-DoDyGTeN.js","/assets/tooltip-CTw4ab49.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/index":{"id":"routes/_app+/index","parentId":"routes/_app+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":true,"module":"/assets/index-CS_uCg-3.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/index-_jNKXw67.js","/assets/epic-video-CRkBFsAC.js","/assets/error-boundary-bzCOyChj.js","/assets/mdx-DH55rolp.js","/assets/misc-DsJGqoYt.js","/assets/progress-BP5cLKuW.js","/assets/index-8yBq10sZ.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/clsx-B-dksMZM.js","/assets/progress-bar-BagX2z6n.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/l":{"id":"routes/_app+/l","parentId":"routes/_app+/_layout","path":"l","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/l-D9C1VDbZ.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js"],"css":[]},"routes/_app+/login":{"id":"routes/_app+/login","parentId":"routes/_app+/_layout","path":"login","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/login-CQRwgkfM.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/use-event-source-DDlZtAwc.js","/assets/button-BoJWEKHp.js","/assets/loading-C810LASV.js","/assets/product-B3wkyL3-.js","/assets/workshop-config-5VcXxeyp.js","/assets/index-8yBq10sZ.js","/assets/clsx-B-dksMZM.js","/assets/misc-DsJGqoYt.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js"],"css":[]},"routes/_app+/preferences":{"id":"routes/_app+/preferences","parentId":"routes/_app+/_layout","path":"preferences","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/preferences-eb0Opp1D.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/button-BoJWEKHp.js","/assets/misc-DsJGqoYt.js","/assets/tooltip-CTw4ab49.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js"],"css":[]},"routes/_app+/support":{"id":"routes/_app+/support","parentId":"routes/_app+/_layout","path":"support","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/support-BnsTkkCH.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js"],"css":[]},"routes/_app+/workspace-structure":{"id":"routes/_app+/workspace-structure","parentId":"routes/_app+/_layout","path":"workspace-structure","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/workspace-structure-BU7brX4_.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/button-BoJWEKHp.js","/assets/clsx-B-dksMZM.js"],"css":[]},"routes/admin+/_layout":{"id":"routes/admin+/_layout","parentId":"root","path":"admin","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/_layout-B3FchrR9.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js"],"css":[]},"routes/admin+/apps":{"id":"routes/admin+/apps","parentId":"routes/admin+/_layout","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/apps-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/cache":{"id":"routes/admin+/cache","parentId":"routes/admin+/_layout","path":"cache","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/index":{"id":"routes/admin+/index","parentId":"routes/admin+/_layout","index":true,"hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/index-Dqd5qiWh.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/misc-DsJGqoYt.js","/assets/tooltip-CTw4ab49.js","/assets/progress-BP5cLKuW.js","/assets/clsx-B-dksMZM.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js"],"css":[]},"routes/admin+/notifications":{"id":"routes/admin+/notifications","parentId":"routes/admin+/_layout","path":"notifications","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/notifications-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/version":{"id":"routes/admin+/version","parentId":"routes/admin+/_layout","path":"version","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/version-CG_ZHfTC.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/workshop-config-5VcXxeyp.js"],"css":[]},"routes/apps":{"id":"routes/apps","parentId":"root","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/apps-DP2rzg_V.js","imports":[],"css":[]},"routes/diff":{"id":"routes/diff","parentId":"root","path":"diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/diff-CxZ19SOv.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/misc-DsJGqoYt.js","/assets/diff-C1wUPjJK.js","/assets/nav-chevrons-CSVvCjJa.js","/assets/clsx-B-dksMZM.js","/assets/accordion-DBvaz78c.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/index-DPhEf4uN.js","/assets/index-CtnHrWrs.js","/assets/mdx-DH55rolp.js","/assets/epic-video-CRkBFsAC.js","/assets/index-8yBq10sZ.js","/assets/pe-DoDyGTeN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js","/assets/progress-bar-BagX2z6n.js","/assets/revalidation-ws-De6AS3e6.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/exercises":{"id":"routes/exercises","parentId":"root","path":"exercises","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/exercises-l0sNRNKZ.js","imports":[],"css":[]},"routes/launch-editor":{"id":"routes/launch-editor","parentId":"root","path":"launch-editor","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/launch-editor-l0sNRNKZ.js","imports":[],"css":[]},"routes/login-sse":{"id":"routes/login-sse","parentId":"root","path":"login-sse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/login-sse-l0sNRNKZ.js","imports":[],"css":[]},"routes/og":{"id":"routes/og","parentId":"root","path":"og","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/og-l0sNRNKZ.js","imports":[],"css":[]},"routes/onboarding":{"id":"routes/onboarding","parentId":"root","path":"onboarding","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/onboarding-CyHu3NPX.js","imports":["/assets/chunk-QMGIS6GS-CG5cA6CX.js","/assets/jsx-runtime-EKYJJIwR.js","/assets/button-BoJWEKHp.js","/assets/epic-video-CRkBFsAC.js","/assets/clsx-B-dksMZM.js","/assets/index-8yBq10sZ.js","/assets/misc-DsJGqoYt.js","/assets/tooltip-CTw4ab49.js","/assets/index-Bp_2FjuO.js","/assets/pe-DoDyGTeN.js","/assets/online-Cf3nj5JR.js","/assets/loading-C810LASV.js","/assets/user-BQ8D2Fty.js","/assets/workshop-config-5VcXxeyp.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/processes":{"id":"routes/processes","parentId":"root","path":"processes","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/processes-l0sNRNKZ.js","imports":[],"css":[]},"routes/progress":{"id":"routes/progress","parentId":"root","path":"progress","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/progress-l0sNRNKZ.js","imports":[],"css":[]},"routes/robots[.]txt":{"id":"routes/robots[.]txt","parentId":"root","path":"robots.txt","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/robots_._txt-l0sNRNKZ.js","imports":[],"css":[]},"routes/set-playground":{"id":"routes/set-playground","parentId":"root","path":"set-playground","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/set-playground-l0sNRNKZ.js","imports":[],"css":[]},"routes/sitemap[.]xml":{"id":"routes/sitemap[.]xml","parentId":"root","path":"sitemap.xml","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/sitemap_._xml-l0sNRNKZ.js","imports":[],"css":[]},"routes/start":{"id":"routes/start","parentId":"root","path":"start","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/start-l0sNRNKZ.js","imports":[],"css":[]},"routes/test":{"id":"routes/test","parentId":"root","path":"test","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/test-l0sNRNKZ.js","imports":[],"css":[]},"routes/theme/index":{"id":"routes/theme/index","parentId":"root","path":"theme","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/index-DP2rzg_V.js","imports":[],"css":[]},"routes/video-player/index":{"id":"routes/video-player/index","parentId":"root","path":"video-player","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasErrorBoundary":false,"module":"/assets/index-K6Dvbx-E.js","imports":[],"css":[]}},"url":"/assets/manifest-eb55e374.js","version":"eb55e374"};
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-CG5oJ8_-.js","assets/chunk-QMGIS6GS-CG5cA6CX.js"])))=>i.map(i=>d[i]);
2
+ import{j as u,r as it}from"./jsx-runtime-EKYJJIwR.js";import{c as L}from"./clsx-B-dksMZM.js";import{g as st,L as Y,d as nt,r as S,n as rt,c as ot}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{a as at}from"./index-Bp_2FjuO.js";import{D as ht,V as lt}from"./epic-video-CRkBFsAC.js";import{I as ct,c as ut,A as ft,H as j}from"./misc-DsJGqoYt.js";import{s as dt}from"./progress-bar-BagX2z6n.js";import{u as pt}from"./pe-DoDyGTeN.js";import{a as mt}from"./index-8yBq10sZ.js";function gt(){const o=st("root");if(!o)throw new Error("useApps requires a data object from the root loader");return o.apps}function J(o){const t=nt();return S.useEffect(()=>{t.state==="idle"&&t.data!=null&&o?.("fetcher-done")},[t,o]),t}function bt({file:o,appFile:t,appName:e,syncTo:i,line:s,column:n,children:r,onUpdate:a}){const h=J(a),l=pt(),d=typeof t=="string"?[t]:t,f=o?"file":t?"appFile":"",c=i?.file?"file":i?.appFile?"appFile":"";return u.jsxs(h.Form,{action:"/launch-editor",method:"POST",className:"flex items-center",children:[l,dt,u.jsx("input",{type:"hidden",name:"line",value:s}),u.jsx("input",{type:"hidden",name:"column",value:n}),u.jsx("input",{type:"hidden",name:"type",value:f}),u.jsx("input",{type:"hidden",name:"file",value:o}),u.jsx("input",{type:"hidden",name:"appName",value:e}),d?.map(p=>u.jsx("input",{type:"hidden",name:"appFile",value:p},p)),i?u.jsxs(u.Fragment,{children:[u.jsx("input",{type:"hidden",name:"syncTo.type",value:c}),u.jsx("input",{type:"hidden",name:"syncTo.file",value:i.file}),u.jsx("input",{type:"hidden",name:"syncTo.appName",value:i.appName}),u.jsx("input",{type:"hidden",name:"syncTo.appFile",value:i.appFile})]}):null,u.jsx("button",{type:"submit",className:L("launch_button",h.state==="idle"?null:"cursor-progress",h.data?.status==="error"?"cursor-not-allowed":null),children:r})]})}function wt({file:o,appFile:t,appName:e,line:i,children:s}){const n=gt(),r=mt();if(Array.isArray(t))return u.jsx("div",{children:"Cannot open more than one file"});if(o){const l=d=>d.replace(/\\/g,"/");return u.jsx("a",{className:"launch_button !no-underline",href:l(o).replace(l(ENV.EPICSHOP_CONTEXT_CWD),ENV.EPICSHOP_GITHUB_ROOT)+(i?`#L${i}`:""),rel:"noreferrer",target:"_blank",children:s})}const h=[...n.find(l=>l.name===e)?.relativePath.split(r.separator)??[],t+(i?`#L${i}`:"")].join("/");return u.jsx("a",{className:"launch_button !no-underline",href:`${ENV.EPICSHOP_GITHUB_ROOT}/${h}`,rel:"noreferrer",target:"_blank",children:s})}function $t({appFile:o="README.mdx",appName:t,file:e,relativePath:i}){const s=J(),n=a=>{if(!a.altKey||ENV.EPICSHOP_DEPLOYED)return;a.preventDefault();const h=new FormData,l=e?"file":"appFile";h.append(l,e??o),h.append("type",l),t&&h.append("appName",t),s.submit(h,{method:"POST",action:"/launch-editor"})},r=ENV.EPICSHOP_GITHUB_ROOT.replace(/\/tree\/|\/blob\//,"/edit/");return u.jsxs(Y,{className:"self-center font-mono text-sm",onClick:n,target:"_blank",to:`${r}/${i}/${o}`.replace(/\\/g,"/"),children:[u.jsx("span",{className:"block md:hidden",children:"Edit on GitHub"}),u.jsx("span",{className:"hidden md:block",children:"Edit this page on GitHub"})]})}const K=ENV.EPICSHOP_DEPLOYED?wt:bt,T=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Z=new Set,H=typeof process=="object"&&process?process:{},Q=(o,t,e,i)=>{typeof H.emitWarning=="function"?H.emitWarning(o,t,e,i):console.error(`[${e}] ${t}: ${o}`)};let z=globalThis.AbortController,k=globalThis.AbortSignal;if(typeof z>"u"){k=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(i,s){this._onabort.push(s)}},z=class{constructor(){t()}signal=new k;abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=!0;for(const s of this.signal._onabort)s(i);this.signal.onabort?.(i)}}};let o=H.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1";const t=()=>{o&&(o=!1,Q("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}const _t=o=>!Z.has(o),O=o=>o&&o===Math.floor(o)&&o>0&&isFinite(o),tt=o=>O(o)?o<=Math.pow(2,8)?Uint8Array:o<=Math.pow(2,16)?Uint16Array:o<=Math.pow(2,32)?Uint32Array:o<=Number.MAX_SAFE_INTEGER?D:null:null;class D extends Array{constructor(t){super(t),this.fill(0)}}class F{heap;length;static#h=!1;static create(t){const e=tt(t);if(!e)return[];F.#h=!0;const i=new F(t,e);return F.#h=!1,i}constructor(t,e){if(!F.#h)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new e(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}}class ${#h;#u;#m;#j;#g;#R;#P;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#n;#b;#s;#i;#t;#l;#f;#a;#r;#w;#o;#_;#y;#d;#E;#A;#c;#D;static unsafeExposeInternals(t){return{starts:t.#y,ttls:t.#d,sizes:t.#_,keyMap:t.#s,keyList:t.#i,valList:t.#t,next:t.#l,prev:t.#f,get head(){return t.#a},get tail(){return t.#r},free:t.#w,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,i,s,n)=>t.#N(e,i,s,n),moveToTail:e=>t.#C(e),indexes:e=>t.#S(e),rindexes:e=>t.#v(e),isStale:e=>t.#p(e)}}get max(){return this.#h}get maxSize(){return this.#u}get calculatedSize(){return this.#b}get size(){return this.#n}get fetchMethod(){return this.#R}get memoMethod(){return this.#P}get dispose(){return this.#m}get onInsert(){return this.#j}get disposeAfter(){return this.#g}constructor(t){const{max:e=0,ttl:i,ttlResolution:s=1,ttlAutopurge:n,updateAgeOnGet:r,updateAgeOnHas:a,allowStale:h,dispose:l,onInsert:d,disposeAfter:f,noDisposeOnSet:c,noUpdateTTL:p,maxSize:y=0,maxEntrySize:g=0,sizeCalculation:_,fetchMethod:m,memoMethod:w,noDeleteOnFetchRejection:v,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:E,allowStaleOnFetchAbort:C,ignoreFetchAbort:x}=t;if(e!==0&&!O(e))throw new TypeError("max option must be a nonnegative integer");const P=e?tt(e):Array;if(!P)throw new Error("invalid max value: "+e);if(this.#h=e,this.#u=y,this.maxEntrySize=g||this.#u,this.sizeCalculation=_,this.sizeCalculation){if(!this.#u&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(w!==void 0&&typeof w!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#P=w,m!==void 0&&typeof m!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#R=m,this.#A=!!m,this.#s=new Map,this.#i=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#l=new P(e),this.#f=new P(e),this.#a=0,this.#r=0,this.#w=F.create(e),this.#n=0,this.#b=0,typeof l=="function"&&(this.#m=l),typeof d=="function"&&(this.#j=d),typeof f=="function"?(this.#g=f,this.#o=[]):(this.#g=void 0,this.#o=void 0),this.#E=!!this.#m,this.#D=!!this.#j,this.#c=!!this.#g,this.noDisposeOnSet=!!c,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!v,this.allowStaleOnFetchRejection=!!E,this.allowStaleOnFetchAbort=!!C,this.ignoreFetchAbort=!!x,this.maxEntrySize!==0){if(this.#u!==0&&!O(this.#u))throw new TypeError("maxSize must be a positive integer if specified");if(!O(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#$()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!r,this.updateAgeOnHas=!!a,this.ttlResolution=O(s)||s===0?s:1,this.ttlAutopurge=!!n,this.ttl=i||0,this.ttl){if(!O(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#M()}if(this.#h===0&&this.ttl===0&&this.#u===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#h&&!this.#u){const A="LRU_CACHE_UNBOUNDED";_t(A)&&(Z.add(A),Q("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",A,$))}}getRemainingTTL(t){return this.#s.has(t)?1/0:0}#M(){const t=new D(this.#h),e=new D(this.#h);this.#d=t,this.#y=e,this.#W=(n,r,a=T.now())=>{if(e[n]=r!==0?a:0,t[n]=r,r!==0&&this.ttlAutopurge){const h=setTimeout(()=>{this.#p(n)&&this.#O(this.#i[n],"expire")},r+1);h.unref&&h.unref()}},this.#T=n=>{e[n]=t[n]!==0?T.now():0},this.#x=(n,r)=>{if(t[r]){const a=t[r],h=e[r];if(!a||!h)return;n.ttl=a,n.start=h,n.now=i||s();const l=n.now-h;n.remainingTTL=a-l}};let i=0;const s=()=>{const n=T.now();if(this.ttlResolution>0){i=n;const r=setTimeout(()=>i=0,this.ttlResolution);r.unref&&r.unref()}return n};this.getRemainingTTL=n=>{const r=this.#s.get(n);if(r===void 0)return 0;const a=t[r],h=e[r];if(!a||!h)return 1/0;const l=(i||s())-h;return a-l},this.#p=n=>{const r=e[n],a=t[n];return!!a&&!!r&&(i||s())-r>a}}#T=()=>{};#x=()=>{};#W=()=>{};#p=()=>!1;#$(){const t=new D(this.#h);this.#b=0,this.#_=t,this.#F=e=>{this.#b-=t[e],t[e]=0},this.#I=(e,i,s,n)=>{if(this.#e(i))return 0;if(!O(s))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(s=n(i,e),!O(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return s},this.#z=(e,i,s)=>{if(t[e]=i,this.#u){const n=this.#u-t[e];for(;this.#b>n;)this.#L(!0)}this.#b+=t[e],s&&(s.entrySize=i,s.totalCalculatedSize=this.#b)}}#F=t=>{};#z=(t,e,i)=>{};#I=(t,e,i,s)=>{if(i||s)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#S({allowStale:t=this.allowStale}={}){if(this.#n)for(let e=this.#r;!(!this.#G(e)||((t||!this.#p(e))&&(yield e),e===this.#a));)e=this.#f[e]}*#v({allowStale:t=this.allowStale}={}){if(this.#n)for(let e=this.#a;!(!this.#G(e)||((t||!this.#p(e))&&(yield e),e===this.#r));)e=this.#l[e]}#G(t){return t!==void 0&&this.#s.get(this.#i[t])===t}*entries(){for(const t of this.#S())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield[this.#i[t],this.#t[t]])}*rentries(){for(const t of this.#v())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield[this.#i[t],this.#t[t]])}*keys(){for(const t of this.#S()){const e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e)}}*rkeys(){for(const t of this.#v()){const e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e)}}*values(){for(const t of this.#S())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t])}*rvalues(){for(const t of this.#v())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,e={}){for(const i of this.#S()){const s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;if(n!==void 0&&t(n,this.#i[i],this))return this.get(this.#i[i],e)}}forEach(t,e=this){for(const i of this.#S()){const s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;n!==void 0&&t.call(e,n,this.#i[i],this)}}rforEach(t,e=this){for(const i of this.#v()){const s=this.#t[i],n=this.#e(s)?s.__staleWhileFetching:s;n!==void 0&&t.call(e,n,this.#i[i],this)}}purgeStale(){let t=!1;for(const e of this.#v({allowStale:!0}))this.#p(e)&&(this.#O(this.#i[e],"expire"),t=!0);return t}info(t){const e=this.#s.get(t);if(e===void 0)return;const i=this.#t[e],s=this.#e(i)?i.__staleWhileFetching:i;if(s===void 0)return;const n={value:s};if(this.#d&&this.#y){const r=this.#d[e],a=this.#y[e];if(r&&a){const h=r-(T.now()-a);n.ttl=h,n.start=Date.now()}}return this.#_&&(n.size=this.#_[e]),n}dump(){const t=[];for(const e of this.#S({allowStale:!0})){const i=this.#i[e],s=this.#t[e],n=this.#e(s)?s.__staleWhileFetching:s;if(n===void 0||i===void 0)continue;const r={value:n};if(this.#d&&this.#y){r.ttl=this.#d[e];const a=T.now()-this.#y[e];r.start=Math.floor(Date.now()-a)}this.#_&&(r.size=this.#_[e]),t.unshift([i,r])}return t}load(t){this.clear();for(const[e,i]of t){if(i.start){const s=Date.now()-i.start;i.start=T.now()-s}this.set(e,i.value,i)}}set(t,e,i={}){if(e===void 0)return this.delete(t),this;const{ttl:s=this.ttl,start:n,noDisposeOnSet:r=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:h}=i;let{noUpdateTTL:l=this.noUpdateTTL}=i;const d=this.#I(t,e,i.size||0,a);if(this.maxEntrySize&&d>this.maxEntrySize)return h&&(h.set="miss",h.maxEntrySizeExceeded=!0),this.#O(t,"set"),this;let f=this.#n===0?void 0:this.#s.get(t);if(f===void 0)f=this.#n===0?this.#r:this.#w.length!==0?this.#w.pop():this.#n===this.#h?this.#L(!1):this.#n,this.#i[f]=t,this.#t[f]=e,this.#s.set(t,f),this.#l[this.#r]=f,this.#f[f]=this.#r,this.#r=f,this.#n++,this.#z(f,d,h),h&&(h.set="add"),l=!1,this.#D&&this.#j?.(e,t,"add");else{this.#C(f);const c=this.#t[f];if(e!==c){if(this.#A&&this.#e(c)){c.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:p}=c;p!==void 0&&!r&&(this.#E&&this.#m?.(p,t,"set"),this.#c&&this.#o?.push([p,t,"set"]))}else r||(this.#E&&this.#m?.(c,t,"set"),this.#c&&this.#o?.push([c,t,"set"]));if(this.#F(f),this.#z(f,d,h),this.#t[f]=e,h){h.set="replace";const p=c&&this.#e(c)?c.__staleWhileFetching:c;p!==void 0&&(h.oldValue=p)}}else h&&(h.set="update");this.#D&&this.onInsert?.(e,t,e===c?"update":"replace")}if(s!==0&&!this.#d&&this.#M(),this.#d&&(l||this.#W(f,s,n),h&&this.#x(h,f)),!r&&this.#c&&this.#o){const c=this.#o;let p;for(;p=c?.shift();)this.#g?.(...p)}return this}pop(){try{for(;this.#n;){const t=this.#t[this.#a];if(this.#L(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#c&&this.#o){const t=this.#o;let e;for(;e=t?.shift();)this.#g?.(...e)}}}#L(t){const e=this.#a,i=this.#i[e],s=this.#t[e];return this.#A&&this.#e(s)?s.__abortController.abort(new Error("evicted")):(this.#E||this.#c)&&(this.#E&&this.#m?.(s,i,"evict"),this.#c&&this.#o?.push([s,i,"evict"])),this.#F(e),t&&(this.#i[e]=void 0,this.#t[e]=void 0,this.#w.push(e)),this.#n===1?(this.#a=this.#r=0,this.#w.length=0):this.#a=this.#l[e],this.#s.delete(i),this.#n--,e}has(t,e={}){const{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=e,n=this.#s.get(t);if(n!==void 0){const r=this.#t[n];if(this.#e(r)&&r.__staleWhileFetching===void 0)return!1;if(this.#p(n))s&&(s.has="stale",this.#x(s,n));else return i&&this.#T(n),s&&(s.has="hit",this.#x(s,n)),!0}else s&&(s.has="miss");return!1}peek(t,e={}){const{allowStale:i=this.allowStale}=e,s=this.#s.get(t);if(s===void 0||!i&&this.#p(s))return;const n=this.#t[s];return this.#e(n)?n.__staleWhileFetching:n}#N(t,e,i,s){const n=e===void 0?void 0:this.#t[e];if(this.#e(n))return n;const r=new z,{signal:a}=i;a?.addEventListener("abort",()=>r.abort(a.reason),{signal:r.signal});const h={signal:r.signal,options:i,context:s},l=(g,_=!1)=>{const{aborted:m}=r.signal,w=i.ignoreFetchAbort&&g!==void 0;if(i.status&&(m&&!_?(i.status.fetchAborted=!0,i.status.fetchError=r.signal.reason,w&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),m&&!w&&!_)return f(r.signal.reason);const v=p;return this.#t[e]===p&&(g===void 0?v.__staleWhileFetching?this.#t[e]=v.__staleWhileFetching:this.#O(t,"fetch"):(i.status&&(i.status.fetchUpdated=!0),this.set(t,g,h.options))),g},d=g=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=g),f(g)),f=g=>{const{aborted:_}=r.signal,m=_&&i.allowStaleOnFetchAbort,w=m||i.allowStaleOnFetchRejection,v=w||i.noDeleteOnFetchRejection,b=p;if(this.#t[e]===p&&(!v||b.__staleWhileFetching===void 0?this.#O(t,"fetch"):m||(this.#t[e]=b.__staleWhileFetching)),w)return i.status&&b.__staleWhileFetching!==void 0&&(i.status.returnedStale=!0),b.__staleWhileFetching;if(b.__returned===b)throw g},c=(g,_)=>{const m=this.#R?.(t,n,h);m&&m instanceof Promise&&m.then(w=>g(w===void 0?void 0:w),_),r.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(g(void 0),i.allowStaleOnFetchAbort&&(g=w=>l(w,!0)))})};i.status&&(i.status.fetchDispatched=!0);const p=new Promise(c).then(l,d),y=Object.assign(p,{__abortController:r,__staleWhileFetching:n,__returned:void 0});return e===void 0?(this.set(t,y,{...h.options,status:void 0}),e=this.#s.get(t)):this.#t[e]=y,y}#e(t){if(!this.#A)return!1;const e=t;return!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof z}async fetch(t,e={}){const{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:r=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:h=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:d=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:c=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:y=this.allowStaleOnFetchAbort,context:g,forceRefresh:_=!1,status:m,signal:w}=e;if(!this.#A)return m&&(m.fetch="get"),this.get(t,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:n,status:m});const v={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:n,ttl:r,noDisposeOnSet:a,size:h,sizeCalculation:l,noUpdateTTL:d,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:c,allowStaleOnFetchAbort:y,ignoreFetchAbort:p,status:m,signal:w};let b=this.#s.get(t);if(b===void 0){m&&(m.fetch="miss");const E=this.#N(t,b,v,g);return E.__returned=E}else{const E=this.#t[b];if(this.#e(E)){const N=i&&E.__staleWhileFetching!==void 0;return m&&(m.fetch="inflight",N&&(m.returnedStale=!0)),N?E.__staleWhileFetching:E.__returned=E}const C=this.#p(b);if(!_&&!C)return m&&(m.fetch="hit"),this.#C(b),s&&this.#T(b),m&&this.#x(m,b),E;const x=this.#N(t,b,v,g),A=x.__staleWhileFetching!==void 0&&i;return m&&(m.fetch=C?"stale":"refresh",A&&C&&(m.returnedStale=!0)),A?x.__staleWhileFetching:x.__returned=x}}async forceFetch(t,e={}){const i=await this.fetch(t,e);if(i===void 0)throw new Error("fetch() returned undefined");return i}memo(t,e={}){const i=this.#P;if(!i)throw new Error("no memoMethod provided to constructor");const{context:s,forceRefresh:n,...r}=e,a=this.get(t,r);if(!n&&a!==void 0)return a;const h=i(t,a,{options:r,context:s});return this.set(t,h,r),h}get(t,e={}){const{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:r}=e,a=this.#s.get(t);if(a!==void 0){const h=this.#t[a],l=this.#e(h);return r&&this.#x(r,a),this.#p(a)?(r&&(r.get="stale"),l?(r&&i&&h.__staleWhileFetching!==void 0&&(r.returnedStale=!0),i?h.__staleWhileFetching:void 0):(n||this.#O(t,"expire"),r&&i&&(r.returnedStale=!0),i?h:void 0)):(r&&(r.get="hit"),l?h.__staleWhileFetching:(this.#C(a),s&&this.#T(a),h))}else r&&(r.get="miss")}#H(t,e){this.#f[e]=t,this.#l[t]=e}#C(t){t!==this.#r&&(t===this.#a?this.#a=this.#l[t]:this.#H(this.#f[t],this.#l[t]),this.#H(this.#r,t),this.#r=t)}delete(t){return this.#O(t,"delete")}#O(t,e){let i=!1;if(this.#n!==0){const s=this.#s.get(t);if(s!==void 0)if(i=!0,this.#n===1)this.#U(e);else{this.#F(s);const n=this.#t[s];if(this.#e(n)?n.__abortController.abort(new Error("deleted")):(this.#E||this.#c)&&(this.#E&&this.#m?.(n,t,e),this.#c&&this.#o?.push([n,t,e])),this.#s.delete(t),this.#i[s]=void 0,this.#t[s]=void 0,s===this.#r)this.#r=this.#f[s];else if(s===this.#a)this.#a=this.#l[s];else{const r=this.#f[s];this.#l[r]=this.#l[s];const a=this.#l[s];this.#f[a]=this.#f[s]}this.#n--,this.#w.push(s)}}if(this.#c&&this.#o?.length){const s=this.#o;let n;for(;n=s?.shift();)this.#g?.(...n)}return i}clear(){return this.#U("delete")}#U(t){for(const e of this.#v({allowStale:!0})){const i=this.#t[e];if(this.#e(i))i.__abortController.abort(new Error("deleted"));else{const s=this.#i[e];this.#E&&this.#m?.(i,s,t),this.#c&&this.#o?.push([i,s,t])}}if(this.#s.clear(),this.#t.fill(void 0),this.#i.fill(void 0),this.#d&&this.#y&&(this.#d.fill(0),this.#y.fill(0)),this.#_&&this.#_.fill(0),this.#a=0,this.#r=0,this.#w.length=0,this.#b=0,this.#n=0,this.#c&&this.#o){const e=this.#o;let i;for(;i=e?.shift();)this.#g?.(...i)}}}var M={},R={},q;function yt(){if(q)return R;q=1,Object.defineProperty(R,"__esModule",{value:!0}),R.getMDXComponent=n,R.getMDXExport=r;var o=s(rt()),t=s(at()),e=s(it());function i(a){if(typeof WeakMap!="function")return null;var h=new WeakMap,l=new WeakMap;return(i=function(d){return d?l:h})(a)}function s(a,h){if(a&&a.__esModule)return a;if(a===null||typeof a!="object"&&typeof a!="function")return{default:a};var l=i(h);if(l&&l.has(a))return l.get(a);var d={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in a)if(c!=="default"&&{}.hasOwnProperty.call(a,c)){var p=f?Object.getOwnPropertyDescriptor(a,c):null;p&&(p.get||p.set)?Object.defineProperty(d,c,p):d[c]=a[c]}return d.default=a,l&&l.set(a,d),d}function n(a,h){return r(a,h).default}function r(a,h){const d={...{React:o,ReactDOM:t,_jsx_runtime:e},...h};return new Function(...Object.keys(d),a)(...Object.values(d))}return R}var V;function Et(){return V||(V=1,function(o){Object.defineProperty(o,"__esModule",{value:!0});var t=yt();Object.keys(t).forEach(function(e){e==="default"||e==="__esModule"||e in o&&o[e]===t[e]||Object.defineProperty(o,e,{enumerable:!0,get:function(){return t[e]}})})}(M)),M}var W,B;function St(){return B||(B=1,W=Et()),W}var vt=St();const Ot="modulepreload",xt=function(o){return"/"+o},X={},At=function(t,e,i){let s=Promise.resolve();if(e&&e.length>0){let h=function(l){return Promise.all(l.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),a=r?.nonce||r?.getAttribute("nonce");s=h(e.map(l=>{if(l=xt(l),l in X)return;X[l]=!0;const d=l.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${f}`))return;const c=document.createElement("link");if(c.rel=d?"stylesheet":Ot,d||(c.as="script"),c.crossOrigin="",c.href=l,a&&c.setAttribute("nonce",a),document.head.appendChild(c),d)return new Promise((p,y)=>{c.addEventListener("load",p),c.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${l}`)))})}))}function n(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return s.then(r=>{for(const a of r||[])a.status==="rejected"&&n(a.reason);return t().catch(n)})};function jt({code:o,onSvg:t}){const e=S.useRef(null),i=S.useRef(t);return S.useEffect(()=>{i.current=t},[t]),S.useEffect(()=>{if(!e.current)return;let s=!1;return At(()=>import("./mermaid.core-CG5oJ8_-.js").then(n=>n.bB),__vite__mapDeps([0,1])).then(n=>{n.default.initialize({startOnLoad:!1}),n.default.render("mermaid-svg",o).then(({svg:r})=>{!s&&e.current&&(e.current.innerHTML=r,i.current?.(r))}).catch(r=>{!s&&e.current&&(e.current.innerHTML=`<pre style='color:red'>${String(r)}</pre>`)})}),()=>{s=!0}},[o]),u.jsx("div",{ref:e})}const I=o=>o.replace(/\\/g,"/");function et(o,t,e){const[,i]=o.replace(/\\|\//g,t).split(`${e==="playground"?"example":"exercises"}${t}`);return i}const U="border-border bg-[var(--shiki-background)] hover:bg-foreground/20 active:bg-foreground/30 box-content block rounded border-2 px-2 py-0.5 font-mono text-xs font-semibold outline-none transition duration-300 ease-in-out";function Tt({"data-buttons":o,"data-filename":t,"data-fullpath":e,"data-sep":i="/","data-start":s,"data-type":n}){const r=ot();if(n==="other"||!o||!t||!e)return null;const a=I(r[r.type]?.fullPath??""),h=!e.startsWith(a),l=ENV.EPICSHOP_DEPLOYED?["problem","solution"]:["problem","solution","playground"],d=o.split(","),f=l.filter(c=>d.includes(c));return u.jsx(u.Fragment,{children:f.map(c=>{const p=r[c];if(c==="playground"){const _=r.playground&&r.playground.appName!==r.problem?.name;if(!p||_||h)return u.jsxs("button",{className:L(U,"cursor-not-allowed"),title:_?"Playground is not set to the right app":h?"This file is from different app":"You must 'Set to Playground' before opening a file",children:[u.jsx("span",{className:"uppercase",children:"Open"})," in ",c]},c)}if(!p||!p.fullPath)return null;const y=[I(p.fullPath),I(t)].join(i),g=et(y,i,c);return u.jsx(K,{file:y,line:Number(s??1),children:u.jsxs("span",{title:g,className:U,children:[u.jsx("span",{className:"uppercase",children:"Open"})," in ",c]})},c)})})}function Ft(){const[o,t]=S.useState(!1);return S.useEffect(()=>{if(o){const e=setTimeout(()=>t(!1),1500);return()=>clearTimeout(e)}},[o]),u.jsx("button",{className:ut(U,"w-12 uppercase"),onClick:e=>{t(!0);const s=e.currentTarget.parentElement?.parentElement?.querySelector("pre")?.textContent||"";navigator.clipboard.writeText(s)},children:o?"copied":"copy"})}function Ct({children:o,...t}){const{"data-buttons":e,"data-filename":i,"data-fullpath":s,"data-nocopy":n,"data-sep":r}=t,a=n===void 0;function h(){if(s&&r)return!i||i.includes("..")?{"data-filename":et(s,r)}:{"data-filename":i.replace(/\//g,r)}}return u.jsxs("div",{className:"group relative",children:[u.jsxs("div",{className:"absolute right-0 top-0 z-50 m-2 flex items-baseline justify-end gap-4 opacity-0 transition duration-300 ease-in-out focus-within:opacity-100 group-hover:opacity-100",children:[e?u.jsx(Tt,{...t}):null,a?u.jsx(Ft,{}):null]}),u.jsx("pre",{...t,className:L("scrollbar-thin scrollbar-thumb-scrollbar",t.className??""),...h(),children:o})]})}const Rt={h1:o=>u.jsx(j,{...o,as:"h1"}),h2:o=>u.jsx(j,{...o,as:"h2"}),h3:o=>u.jsx(j,{...o,as:"h3"}),h4:o=>u.jsx(j,{...o,as:"h4"}),h5:o=>u.jsx(j,{...o,as:"h5"}),h6:o=>u.jsx(j,{...o,as:"h6"}),a:ft,p:o=>u.jsx("div",{...o}),pre:o=>u.jsx("pre",{...o,className:L("scrollbar-thin scrollbar-thumb-scrollbar",o.className??"")}),LaunchEditor:K,VideoEmbed:lt,EpicVideo:ht,Mermaid:jt};function Pt(o){const t=vt.getMDXComponent(o);function e({components:i,...s}){const n=S.useMemo(()=>({...Rt,...i}),[i]);return u.jsx(t,{components:n,...s})}return e}const G=new $({max:1e3});function Dt(o){return S.useMemo(()=>{if(G.has(o))return G.get(o);const t=Pt(o);return G.set(o,t),t},[o])}function Vt({code:o,components:t}){const e=Dt(o),i=S.useMemo(()=>({Icon:ct,pre:Ct,Link:Y,...t}),[t]);return u.jsx(e,{components:i})}export{$t as E,K as L,Vt as M,At as _,gt as u};
3
+ //# sourceMappingURL=mdx-DH55rolp.js.map