@mavea/mavea 1.0.7

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 (557) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/DISCLAIMER.md +16 -0
  3. package/LICENSE +75 -0
  4. package/PRIVACY.md +127 -0
  5. package/README.md +248 -0
  6. package/SECURITY.md +72 -0
  7. package/SUPPORT.md +13 -0
  8. package/TERMS.md +122 -0
  9. package/THIRD-PARTY.txt +639 -0
  10. package/TRADEMARKS.md +15 -0
  11. package/bin/mavea.mjs +1079 -0
  12. package/dist/.vite/manifest.json +4261 -0
  13. package/dist/_headers +52 -0
  14. package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
  15. package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
  16. package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
  17. package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
  18. package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
  19. package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
  20. package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
  21. package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
  22. package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
  23. package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
  24. package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
  25. package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
  26. package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
  27. package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
  28. package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
  29. package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
  30. package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
  31. package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
  32. package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
  33. package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
  34. package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
  35. package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
  36. package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
  37. package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
  38. package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
  39. package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
  40. package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
  41. package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
  42. package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
  43. package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
  44. package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
  45. package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
  46. package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
  47. package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
  48. package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
  49. package/dist/assets/DropSelect-DUhdQSta.js +1 -0
  50. package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
  51. package/dist/assets/ExportModal-D65cGyj_.js +2 -0
  52. package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
  53. package/dist/assets/FallbackCard-B489rTd9.js +1 -0
  54. package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
  55. package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
  56. package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
  57. package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
  58. package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
  59. package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
  60. package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
  61. package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
  62. package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
  63. package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
  64. package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
  65. package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
  66. package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
  67. package/dist/assets/LegalApp-DZBdExTy.js +1 -0
  68. package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
  69. package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
  70. package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
  71. package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
  72. package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
  73. package/dist/assets/Library-D2XGNXz7.js +1 -0
  74. package/dist/assets/Library-DmrtHjUf.css +1 -0
  75. package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
  76. package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
  77. package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
  78. package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
  79. package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
  80. package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
  81. package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
  82. package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
  83. package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
  84. package/dist/assets/Orb-B0NEVfqL.js +1 -0
  85. package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
  86. package/dist/assets/PlanReview-33V8GTNB.js +1 -0
  87. package/dist/assets/Presence-CzLJIeSD.js +1 -0
  88. package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
  89. package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
  90. package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
  91. package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
  92. package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
  93. package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
  94. package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
  95. package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
  96. package/dist/assets/Quiz-CUwtekfu.js +1 -0
  97. package/dist/assets/Recap-DCiiWNiV.css +1 -0
  98. package/dist/assets/Recap-H5fhj5Tc.js +1 -0
  99. package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
  100. package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
  101. package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
  102. package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
  103. package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
  104. package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
  105. package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
  106. package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
  107. package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
  108. package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
  109. package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
  110. package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
  111. package/dist/assets/SeeDontRead-C389viue.js +1 -0
  112. package/dist/assets/ShareModal-C8S7ySls.css +1 -0
  113. package/dist/assets/ShareModal-ClnEkudw.js +32 -0
  114. package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
  115. package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
  116. package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
  117. package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
  118. package/dist/assets/ShipGate-BVZfCllb.css +1 -0
  119. package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
  120. package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
  121. package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
  122. package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
  123. package/dist/assets/ShipIncident-DcmindmE.js +2 -0
  124. package/dist/assets/ShipMigration-BznCskNg.css +1 -0
  125. package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
  126. package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
  127. package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
  128. package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
  129. package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
  130. package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
  131. package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
  132. package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
  133. package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
  134. package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
  135. package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
  136. package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
  137. package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
  138. package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
  139. package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
  140. package/dist/assets/TermsApp-C70tW6m6.js +123 -0
  141. package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
  142. package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
  143. package/dist/assets/TourPrism-BvucSkcs.js +1 -0
  144. package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
  145. package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
  146. package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
  147. package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
  148. package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
  149. package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
  150. package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
  151. package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
  152. package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
  153. package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
  154. package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
  155. package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
  156. package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
  157. package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
  158. package/dist/assets/annotations-D2K9A5GB.js +1 -0
  159. package/dist/assets/backup-c-Btapzp.js +1 -0
  160. package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
  161. package/dist/assets/c-DWGmR78Y.js +1 -0
  162. package/dist/assets/c-SSSlmE39.js +1 -0
  163. package/dist/assets/cache-BumECILO.js +1 -0
  164. package/dist/assets/canvas-QTEIiK23.js +1 -0
  165. package/dist/assets/catalog-BHjl-1uH.js +2 -0
  166. package/dist/assets/catalog-Dqaq2YFd.js +1 -0
  167. package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
  168. package/dist/assets/chapters-BiUsDClQ.js +1 -0
  169. package/dist/assets/charts1-EOoxU_K3.js +1 -0
  170. package/dist/assets/charts2-tyUiQPff.js +1 -0
  171. package/dist/assets/chunk-BVpWp9h4.js +1 -0
  172. package/dist/assets/citation-BcvmjKS8.js +1 -0
  173. package/dist/assets/code-CpjYCNS8.js +8 -0
  174. package/dist/assets/codeContext-0UMRSGRr.js +5 -0
  175. package/dist/assets/colors-D49Req-e.js +1 -0
  176. package/dist/assets/compose-BJ9EfcQS.js +3 -0
  177. package/dist/assets/contentVault-DzTYWcbD.js +1 -0
  178. package/dist/assets/core-DEFyprhs.js +1 -0
  179. package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
  180. package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
  181. package/dist/assets/courseStore-DfafnL-9.js +1 -0
  182. package/dist/assets/courses-BkH1ntDL.css +1 -0
  183. package/dist/assets/cpp-BGdv8dzs.js +1 -0
  184. package/dist/assets/cpp-CNAAXZl-.js +1 -0
  185. package/dist/assets/csharp-oqKa8noW.js +1 -0
  186. package/dist/assets/css-CdtkT07m.js +1 -0
  187. package/dist/assets/css-LbU1hoFO.js +1 -0
  188. package/dist/assets/dag-C3Xx8pOD.js +2 -0
  189. package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
  190. package/dist/assets/dashboards-rcWxdoXI.css +1 -0
  191. package/dist/assets/deckLine-NBd3MyGT.js +1 -0
  192. package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
  193. package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
  194. package/dist/assets/diagrams-CaSfjT4I.js +1 -0
  195. package/dist/assets/diff-woXpYk--.js +1 -0
  196. package/dist/assets/display-OvC57CMc.js +9 -0
  197. package/dist/assets/dist-BFx3nZg4.js +2785 -0
  198. package/dist/assets/dist-xRGLOZwv.js +14 -0
  199. package/dist/assets/docs-B2aDtm5K.js +1 -0
  200. package/dist/assets/everyday-CoZa4kDZ.js +1 -0
  201. package/dist/assets/explode-WBykfhqW.js +13 -0
  202. package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
  203. package/dist/assets/facts-BBTt3ImG.js +1 -0
  204. package/dist/assets/finance-Bxn_Q1p0.js +1 -0
  205. package/dist/assets/fit-0HxU-rtB.js +1 -0
  206. package/dist/assets/fitText-CDFmCQzl.js +1 -0
  207. package/dist/assets/flows-BL81J7yN.js +1 -0
  208. package/dist/assets/format-DlZTyeMy.js +1 -0
  209. package/dist/assets/format-hc2QOoIu.js +1 -0
  210. package/dist/assets/forms-DeoXOxdD.js +1 -0
  211. package/dist/assets/generate-8odaTyr4.js +17 -0
  212. package/dist/assets/generateBeats-b64CL54v.js +1 -0
  213. package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
  214. package/dist/assets/generateLive-D4B30fnF.js +52 -0
  215. package/dist/assets/geometry-DXAbnb0J.js +1 -0
  216. package/dist/assets/gesture-DabMpPcq.js +2 -0
  217. package/dist/assets/github-dark-C-LZuMrd.js +1 -0
  218. package/dist/assets/github-light-EUqPIrTm.js +1 -0
  219. package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
  220. package/dist/assets/githubToken-DtcLYqwm.js +11 -0
  221. package/dist/assets/go-rLFTqkRN.js +1 -0
  222. package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
  223. package/dist/assets/html-BcACZWSP.js +1 -0
  224. package/dist/assets/html-DDNsd9lV.js +1 -0
  225. package/dist/assets/http-CJCtjYpA.js +2 -0
  226. package/dist/assets/icons-CHVz6kv_.js +1 -0
  227. package/dist/assets/index-CepQEz75.css +1 -0
  228. package/dist/assets/index-y8GL67bB.js +22 -0
  229. package/dist/assets/index.es-CRLiWwiA.js +5 -0
  230. package/dist/assets/info-CiqHR5cs.js +1 -0
  231. package/dist/assets/java-BtIQNnN0.js +1 -0
  232. package/dist/assets/java-DxlWrXwe.js +1 -0
  233. package/dist/assets/javascript-BzbQS41l.js +1 -0
  234. package/dist/assets/javascript-Yelw-5ZN.js +1 -0
  235. package/dist/assets/json-B0N3XRZU.js +1 -0
  236. package/dist/assets/json-B88Oqtu5.js +1 -0
  237. package/dist/assets/json-CaljABEy.js +1 -0
  238. package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
  239. package/dist/assets/jsx-D3KKoC5L.js +1 -0
  240. package/dist/assets/jsx-hEbJ82HF.js +1 -0
  241. package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
  242. package/dist/assets/katex-BMCG0xok.js +257 -0
  243. package/dist/assets/keyVault-DEsNh9FR.js +1 -0
  244. package/dist/assets/kokoro-D4GKpSL0.js +1 -0
  245. package/dist/assets/kotlin-DhhofPvG.js +1 -0
  246. package/dist/assets/layout-BFQOzXtG.js +1 -0
  247. package/dist/assets/layout-CkO0Psde.js +1 -0
  248. package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
  249. package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
  250. package/dist/assets/learn-DVfqN-nf.js +1 -0
  251. package/dist/assets/lib-DMAxsZKm.css +1 -0
  252. package/dist/assets/lib-VFqp6Y3w.js +1 -0
  253. package/dist/assets/links--u_phi0x.js +1 -0
  254. package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
  255. package/dist/assets/markdown-BYOwaDjH.js +1 -0
  256. package/dist/assets/mastery-BPjxP0fN.js +4 -0
  257. package/dist/assets/media-CsrUl279.js +43 -0
  258. package/dist/assets/model-BE0UHu1w.js +27 -0
  259. package/dist/assets/motion-S0NRruNj.js +1 -0
  260. package/dist/assets/nav-Czm-NzPV.js +1 -0
  261. package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
  262. package/dist/assets/notes-A9t4jdfx.css +1 -0
  263. package/dist/assets/notes-lROPCorS.js +1 -0
  264. package/dist/assets/notify-Bz4wuE4T.js +1 -0
  265. package/dist/assets/now-C9-UAzTC.js +1 -0
  266. package/dist/assets/number-DXgzss0v.js +1 -0
  267. package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
  268. package/dist/assets/openchemlib-nMLMmg26.js +23 -0
  269. package/dist/assets/overlays-JxbHtA2o.js +1 -0
  270. package/dist/assets/owners-FXDGInVq.js +2 -0
  271. package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
  272. package/dist/assets/pdf-Df7PCH7q.js +11 -0
  273. package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  274. package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
  275. package/dist/assets/perfProbe-COAp9PAa.js +1 -0
  276. package/dist/assets/php-CYrBA5iX.js +1 -0
  277. package/dist/assets/pickers-B4-3HOR8.js +1 -0
  278. package/dist/assets/pin-Bya3BL_a.css +1 -0
  279. package/dist/assets/pin-CXSuPJYL.js +1 -0
  280. package/dist/assets/planTracker-7AMCQPNx.js +1 -0
  281. package/dist/assets/portal-DMw7C32j.js +1 -0
  282. package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
  283. package/dist/assets/predictions-CYS7Vo39.js +1 -0
  284. package/dist/assets/prewarm--whjQhWJ.js +1 -0
  285. package/dist/assets/prism-app-CXYElq8-.css +1 -0
  286. package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
  287. package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
  288. package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
  289. package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
  290. package/dist/assets/providers-wzm7E8Pa.js +1 -0
  291. package/dist/assets/purify.es-adlwq8Pz.js +3 -0
  292. package/dist/assets/python-gzcpVVnB.js +1 -0
  293. package/dist/assets/queue-DHeyJ32F.css +1 -0
  294. package/dist/assets/queue-J4h7E3uc.js +1 -0
  295. package/dist/assets/quietHours-BvcsBKKK.js +1 -0
  296. package/dist/assets/react-BQSORdFI.js +1 -0
  297. package/dist/assets/reference-sJzyMiL4.js +1 -0
  298. package/dist/assets/registry-1GuPBfQK.js +1 -0
  299. package/dist/assets/registry-2GJZ46M8.css +1 -0
  300. package/dist/assets/registry-2v0jlh5Q.js +2 -0
  301. package/dist/assets/registry-B8DStMJk.js +1 -0
  302. package/dist/assets/registry-B940W2j5.js +1 -0
  303. package/dist/assets/registry-BAoRB8rd.css +1 -0
  304. package/dist/assets/registry-BPvIPLke.js +1 -0
  305. package/dist/assets/registry-BVHiKEwE.css +1 -0
  306. package/dist/assets/registry-BcZXBr3y.css +1 -0
  307. package/dist/assets/registry-BffpZK5w.js +1 -0
  308. package/dist/assets/registry-BgGeRiDA.js +2 -0
  309. package/dist/assets/registry-Buq5uuCv.js +1 -0
  310. package/dist/assets/registry-BzNLfje1.css +1 -0
  311. package/dist/assets/registry-C3ezxLR3.css +1 -0
  312. package/dist/assets/registry-CAusoyBh.js +1 -0
  313. package/dist/assets/registry-CEVrY72Z.js +1 -0
  314. package/dist/assets/registry-CKjKq6ct.js +1 -0
  315. package/dist/assets/registry-CNgybLQv.css +1 -0
  316. package/dist/assets/registry-CRM7y8QT.css +1 -0
  317. package/dist/assets/registry-CRisz4Ca.css +1 -0
  318. package/dist/assets/registry-Cg7qUZPS.js +1 -0
  319. package/dist/assets/registry-Cix-yqch.js +1 -0
  320. package/dist/assets/registry-CtbuZWYz.css +1 -0
  321. package/dist/assets/registry-DCI_BeFJ.js +5 -0
  322. package/dist/assets/registry-DDLSYDVA.js +1 -0
  323. package/dist/assets/registry-DI1wSG1Y.js +1 -0
  324. package/dist/assets/registry-DJinB5ye.js +2 -0
  325. package/dist/assets/registry-DUvXX_d0.js +1 -0
  326. package/dist/assets/registry-DVzLacl_.css +1 -0
  327. package/dist/assets/registry-DWcNVyI2.css +1 -0
  328. package/dist/assets/registry-D_URPoL4.js +1 -0
  329. package/dist/assets/registry-Dkc7hN5T.js +1 -0
  330. package/dist/assets/registry-DmQlNN3y.js +1 -0
  331. package/dist/assets/registry-DpaaVbmL.css +1 -0
  332. package/dist/assets/registry-Dpb8EXHn.js +49 -0
  333. package/dist/assets/registry-Dru0JcTa.css +1 -0
  334. package/dist/assets/registry-DujBAgn_.js +1 -0
  335. package/dist/assets/registry-Dye5m3qt.css +1 -0
  336. package/dist/assets/registry-GeSy4i7R.css +1 -0
  337. package/dist/assets/registry-QcULZpdE.js +4 -0
  338. package/dist/assets/registry-T3i2Q9SI.css +1 -0
  339. package/dist/assets/registry-UFIuwh3i.css +1 -0
  340. package/dist/assets/registry-Xzq_Rpmm.css +1 -0
  341. package/dist/assets/registry-ZOWzhOHk.css +1 -0
  342. package/dist/assets/registry-aIH-Im5Y.css +1 -0
  343. package/dist/assets/registry-aazwkBJp.js +1 -0
  344. package/dist/assets/registry-ei6fIgBT.css +1 -0
  345. package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
  346. package/dist/assets/registry-upbw6pyj.css +1 -0
  347. package/dist/assets/registry-zRPjWNl5.js +1 -0
  348. package/dist/assets/relate-A9ZeaaAI.js +1 -0
  349. package/dist/assets/richText-BkxJhl9N.js +1 -0
  350. package/dist/assets/ruby-BhrksQMt.js +1 -0
  351. package/dist/assets/run-BYP2YlZT.js +23 -0
  352. package/dist/assets/run-C_0B_41W.js +21 -0
  353. package/dist/assets/run-DSVvshaB.js +21 -0
  354. package/dist/assets/rust-Cfkwpbl8.js +1 -0
  355. package/dist/assets/safeCssColor-di93BXgG.js +1 -0
  356. package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
  357. package/dist/assets/scale-Bcgfo6Hp.js +1 -0
  358. package/dist/assets/screen-DLR7p_yP.js +1 -0
  359. package/dist/assets/search-DnjHupRf.js +1 -0
  360. package/dist/assets/seed-b1xc0dj2.js +1 -0
  361. package/dist/assets/shapes-RqjqC0ay.js +1 -0
  362. package/dist/assets/shard000-DM_rqD7W.js +1 -0
  363. package/dist/assets/shard001-gQEQs7_F.js +1 -0
  364. package/dist/assets/shard002-DbDas-W-.js +1 -0
  365. package/dist/assets/shard003-DxMszG4_.js +1 -0
  366. package/dist/assets/shard004-DZMpLBw1.js +1 -0
  367. package/dist/assets/shard005-DLVkh9IH.js +1 -0
  368. package/dist/assets/shard006-B6efKHov.js +1 -0
  369. package/dist/assets/shard007-AFdZLe38.js +1 -0
  370. package/dist/assets/shard008-LbSBzwRx.js +1 -0
  371. package/dist/assets/shard009-D_6-SUDb.js +1 -0
  372. package/dist/assets/shard010-DbOj-uZW.js +1 -0
  373. package/dist/assets/shard011-BYSz7EEW.js +1 -0
  374. package/dist/assets/shard012-B5Ypj7OV.js +1 -0
  375. package/dist/assets/shard013-BtsliNIe.js +1 -0
  376. package/dist/assets/shard014-15sjmk68.js +1 -0
  377. package/dist/assets/shard015-nnXrqru_.js +1 -0
  378. package/dist/assets/shard016-BayXFE13.js +1 -0
  379. package/dist/assets/shard017-Cy4cGexs.js +1 -0
  380. package/dist/assets/shard018-aO-BYJ8H.js +1 -0
  381. package/dist/assets/shard019-gxaTeA3I.js +1 -0
  382. package/dist/assets/shard020-BibJdMI0.js +1 -0
  383. package/dist/assets/shard021-2FE-tze4.js +1 -0
  384. package/dist/assets/shard022-IXiyG-JK.js +1 -0
  385. package/dist/assets/shard023-314F6NJS.js +1 -0
  386. package/dist/assets/shard024-cN5rpQ_X.js +1 -0
  387. package/dist/assets/shard025-KKTaXOGE.js +1 -0
  388. package/dist/assets/shard026-C2Dkd1t6.js +1 -0
  389. package/dist/assets/shard027-Xy-8x9As.js +1 -0
  390. package/dist/assets/shard028-Bul-klUj.js +1 -0
  391. package/dist/assets/shard029-BbRSUcUZ.js +1 -0
  392. package/dist/assets/shard030-GYllsFVC.js +1 -0
  393. package/dist/assets/shard031-DMigeiyn.js +1 -0
  394. package/dist/assets/shard032-CcvmzK0l.js +1 -0
  395. package/dist/assets/shard033-11AU702M.js +1 -0
  396. package/dist/assets/shard034-Bx3urxjM.js +1 -0
  397. package/dist/assets/shard035-DBdEeyCt.js +1 -0
  398. package/dist/assets/shard036-vYgoRBqS.js +1 -0
  399. package/dist/assets/shard037-DP4MMw91.js +1 -0
  400. package/dist/assets/shard038-ffxsv7d6.js +1 -0
  401. package/dist/assets/shard039-C1JHHNp9.js +1 -0
  402. package/dist/assets/shard040-JbVvCSO_.js +1 -0
  403. package/dist/assets/shard041-5L_eFwGx.js +1 -0
  404. package/dist/assets/shard042-C9nsGL79.js +1 -0
  405. package/dist/assets/shard043-Dx_9HSKI.js +1 -0
  406. package/dist/assets/shard044-B3QQNC4A.js +1 -0
  407. package/dist/assets/shard045-B7z0WHO6.js +1 -0
  408. package/dist/assets/shard046-D1yDablJ.js +1 -0
  409. package/dist/assets/shard047-DJi3AgeT.js +1 -0
  410. package/dist/assets/shard048-D_2ipfUr.js +1 -0
  411. package/dist/assets/shard049-1aGgWZdd.js +1 -0
  412. package/dist/assets/shard050-Bjwa0Og4.js +1 -0
  413. package/dist/assets/shard051-Cx_GAk3v.js +1 -0
  414. package/dist/assets/shard052-LaeOD3V5.js +1 -0
  415. package/dist/assets/shard053-D-da7Foj.js +1 -0
  416. package/dist/assets/shard054-CM8eSRQk.js +1 -0
  417. package/dist/assets/shard055-QRpDl4Vs.js +1 -0
  418. package/dist/assets/shard056-DkY7CQm3.js +1 -0
  419. package/dist/assets/shard057-BVCgf7o0.js +1 -0
  420. package/dist/assets/shard058-93aGtdrX.js +1 -0
  421. package/dist/assets/shard059-rJE9X1_I.js +1 -0
  422. package/dist/assets/shard060-Lu_hfl1r.js +1 -0
  423. package/dist/assets/shard061-C9A8iNiq.js +1 -0
  424. package/dist/assets/shard062-BBIpEYZO.js +1 -0
  425. package/dist/assets/shard063-C_uen3Ub.js +1 -0
  426. package/dist/assets/shard064-DAHUsHST.js +1 -0
  427. package/dist/assets/shard065-C2edvdvh.js +1 -0
  428. package/dist/assets/shard066-DFcuVhZm.js +1 -0
  429. package/dist/assets/shard067-BN8DM8JZ.js +1 -0
  430. package/dist/assets/shard068-i464K77p.js +1 -0
  431. package/dist/assets/shard069-Dm9m2a5U.js +1 -0
  432. package/dist/assets/shard070-BPVvR8GH.js +1 -0
  433. package/dist/assets/shard071-Bal_0d9L.js +1 -0
  434. package/dist/assets/shard072-CBQu62kt.js +1 -0
  435. package/dist/assets/shard073-D5BRae0w.js +1 -0
  436. package/dist/assets/shard074-DtFvcBnZ.js +1 -0
  437. package/dist/assets/share-QHGHNDhQ.js +1 -0
  438. package/dist/assets/shellscript-BiGZg9Om.js +1 -0
  439. package/dist/assets/shellscript-CqHdAlCp.js +1 -0
  440. package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
  441. package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
  442. package/dist/assets/speed-DwPw9KSv.js +1 -0
  443. package/dist/assets/spokenText-D4zPX9JY.js +1 -0
  444. package/dist/assets/sql-0Qcw9ht3.js +1 -0
  445. package/dist/assets/sql-CP0rg-5b.js +1 -0
  446. package/dist/assets/src-DbgF7cRH.js +2 -0
  447. package/dist/assets/stats-BeP5Bws0.js +1 -0
  448. package/dist/assets/status-BY02LIJt.js +1 -0
  449. package/dist/assets/stepDriver-DwjFet6U.js +1 -0
  450. package/dist/assets/store-4JNNn732.js +1 -0
  451. package/dist/assets/store-BFC7DZcg.js +1 -0
  452. package/dist/assets/store-BFrJaSxJ.js +1 -0
  453. package/dist/assets/store-DXmC_fP2.js +0 -0
  454. package/dist/assets/store-DgG0C1Qx.js +1 -0
  455. package/dist/assets/streamParse-DRgMHWye.js +2 -0
  456. package/dist/assets/student.generated-DS_acPaJ.js +1 -0
  457. package/dist/assets/swift-DonLKvLd.js +1 -0
  458. package/dist/assets/tables-Dzd3rTqG.js +1 -0
  459. package/dist/assets/time-BHTmJR1s.js +1 -0
  460. package/dist/assets/toast-BBNs2h3L.js +1 -0
  461. package/dist/assets/toml-CcmNWLt0.js +1 -0
  462. package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
  463. package/dist/assets/tsx-5f3ulCja.js +1 -0
  464. package/dist/assets/tsx-BOvsFOI6.js +1 -0
  465. package/dist/assets/typeof-B5XbjTb1.js +1 -0
  466. package/dist/assets/typescript-Utq2Cl8c.js +1 -0
  467. package/dist/assets/typescript-j_1H8WHN.js +1 -0
  468. package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
  469. package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
  470. package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
  471. package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
  472. package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
  473. package/dist/assets/useSrsCards-CagZefwX.js +1 -0
  474. package/dist/assets/useStudy-Bflreq2a.js +1 -0
  475. package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
  476. package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
  477. package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
  478. package/dist/assets/verbatim-CBMzUDlf.js +1 -0
  479. package/dist/assets/worker-BbLKfGzm.js +2 -0
  480. package/dist/assets/xml-WY0zc4PG.js +1 -0
  481. package/dist/assets/yaml-CxbubiML.js +1 -0
  482. package/dist/assets/yaml-DijMHRDA.js +1 -0
  483. package/dist/demo-assets/CREDITS.md +40 -0
  484. package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
  485. package/dist/demo-assets/images/capelinhos.jpg +0 -0
  486. package/dist/demo-assets/images/cliff-fields.jpg +0 -0
  487. package/dist/demo-assets/images/crater-panorama.jpg +0 -0
  488. package/dist/demo-assets/images/furnas-lake.jpg +0 -0
  489. package/dist/demo-assets/images/green-coast.jpg +0 -0
  490. package/dist/demo-assets/images/overcast-coast.jpg +0 -0
  491. package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
  492. package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
  493. package/dist/demo-assets/images/sete-cidades.jpg +0 -0
  494. package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
  495. package/dist/demo-assets/images/slide-placeholder.svg +9 -0
  496. package/dist/demo-assets/images/village-street.jpg +0 -0
  497. package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
  498. package/dist/demo-assets/video/azores-film.mp4 +0 -0
  499. package/dist/favicon.svg +19 -0
  500. package/dist/fonts/LICENSE.txt +34 -0
  501. package/dist/fonts/archivo-var-latin.woff2 +0 -0
  502. package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
  503. package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
  504. package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
  505. package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
  506. package/dist/fonts/export/families/archivo.css +12 -0
  507. package/dist/fonts/export/families/bodoni-moda.css +23 -0
  508. package/dist/fonts/export/families/eb-garamond.css +22 -0
  509. package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
  510. package/dist/fonts/export/families/instrument-serif.css +22 -0
  511. package/dist/fonts/export/families/jetbrains-mono.css +12 -0
  512. package/dist/fonts/export/families/libre-franklin.css +12 -0
  513. package/dist/fonts/export/families/lora.css +22 -0
  514. package/dist/fonts/export/families/source-serif-4.css +12 -0
  515. package/dist/fonts/export/families/space-grotesk.css +12 -0
  516. package/dist/fonts/export/families/spectral.css +52 -0
  517. package/dist/fonts/fonts.css +141 -0
  518. package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
  519. package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
  520. package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
  521. package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
  522. package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  523. package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
  524. package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
  525. package/dist/fonts/lora-var-latin.woff2 +0 -0
  526. package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
  527. package/dist/fonts/newsreader-var-latin.woff2 +0 -0
  528. package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
  529. package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
  530. package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
  531. package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
  532. package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
  533. package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
  534. package/dist/fonts/spectral-400-latin.woff2 +0 -0
  535. package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
  536. package/dist/fonts/spectral-500-latin.woff2 +0 -0
  537. package/dist/fonts/spectral-600-latin.woff2 +0 -0
  538. package/dist/index.html +117 -0
  539. package/dist/legal/DISCLAIMER.md +16 -0
  540. package/dist/legal/LICENSE.txt +75 -0
  541. package/dist/legal/PRIVACY.md +127 -0
  542. package/dist/legal/SECURITY.md +72 -0
  543. package/dist/legal/SUPPORT.md +13 -0
  544. package/dist/legal/TERMS.md +122 -0
  545. package/dist/legal/THIRD-PARTY.txt +639 -0
  546. package/dist/legal/TRADEMARKS.md +15 -0
  547. package/dist/ort-wasm-simd-threaded.mjs +59 -0
  548. package/dist/sw.js +30 -0
  549. package/dist/vad.worklet.bundle.min.js +1 -0
  550. package/docker-compose.yml +33 -0
  551. package/gateway/README.md +99 -0
  552. package/gateway/actions-gateway.mjs +537 -0
  553. package/gateway/connectors.d.mts +27 -0
  554. package/gateway/connectors.mjs +463 -0
  555. package/gateway/guard.mjs +110 -0
  556. package/gateway/tokenStore.mjs +134 -0
  557. package/package.json +143 -0
@@ -0,0 +1 @@
1
+ import{y as e}from"./providers-wzm7E8Pa.js";import{i as t,n,r,t as i,u as a}from"./PrismOverlay-B7lEspdu.js";import"./BriefingPlayer-DO205Qkh.js";var o=new Map;function s(){let e=typeof navigator<`u`?navigator:void 0,t=e?.deviceMemory??8,n=e?.hardwareConcurrency??8;return t<=4||n<=4?900:1100}var c={"load-bearing":0,supporting:1,context:2};function l(e,n,r){if(n&&n.length){let i=new Map(e.claims.map(e=>[e.id,e])),a=t(n,e.threads,r),o=new Set,s=[];for(let e of a)for(let t of e.claimIds){if(o.has(t))continue;o.add(t);let e=i.get(t);e&&s.push(e)}for(let t of e.claims)o.has(t.id)||s.push(t);return s}return[...e.claims].sort((e,t)=>c[e.role]-c[t.role]||e.page-t.page)}async function u(t,c,u={}){let d=u.max??6,f=u.verdicts??o,p=l(t,u.placed,f).slice(0,d),m=s(),h=[];for(let t of p){let o=c[t.source];if(!o)continue;let s=i(t),l={isFigure:t.kind===`diagram`,seed:`${t.source}:${t.page}:${t.quote}`,color:r(t.kind),title:t.title,explanation:n(t),...s?{accent:s}:{}};if(e(o)){let e=await a(o,t.page,t.quote,m,t.kind===`diagram`).catch(()=>null);if(e)try{h.push({...l,pageImage:e.canvas.toDataURL(`image/jpeg`,.8),imgW:e.canvas.width,imgH:e.canvas.height,rects:e.rects.map(e=>({x:e.x,y:e.y,w:e.w,h:e.h})),figure:e.figure?{x:e.figure.x,y:e.figure.y,w:e.figure.w,h:e.figure.h}:void 0});continue}catch{}}h.push({...l,pageImage:``,imgW:0,imgH:0,rects:[]})}return h}export{u as autoAnnotationSteps};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{D as t,E as n,T as r,n as i}from"./registry-2v0jlh5Q.js";import{r as a}from"./spokenText-D4zPX9JY.js";var o=e({buildAnnotationReel:()=>d}),s=8,c=0;function l(e,r,o,s,l){let u=t(a(s.voiceover),n.voiceover);return{id:`a${c++}`,content:e,template:r,slots:i(e,o,l),voiceover:u,durationMs:Math.max(s.ms,u?Math.round(u.length/13*1e3)+500:0)}}function u(e){return e.replace(/\.[a-z0-9]+$/i,``).trim()||e}function d(e,t){let n=`Inside ${u(t.fileName)}`,i={topic:t.fileName,question:n},a=l(`title`,`title`,{question:n},{voiceover:n,ms:r.intro},i),o=e.slice(0,s).map(e=>{let t=e.explanation||e.title,n=e.title&&!t.includes(e.title)?`${e.title}. ${t}`:t;return l(`markup`,`documentMarkup`,{...e},{voiceover:n,ms:r.default},i)}),c=l(`outro`,`outro`,{wordmark:`Mavéa`,tagline:`See what it means.`},{voiceover:`Made with Mavéa.`,ms:r.outro},i),d=[a,...o,c];return{topic:t.fileName,question:n,palette:t.palette??`aurora`,vibe:t.vibe??`clean`,seed:0,slides:d,durationMs:d.reduce((e,t)=>e+t.durationMs,0)}}export{o as t};
@@ -0,0 +1 @@
1
+ var e=new Set([`presence`,`insight`,`warning`,`danger`,`muted`]),t={presence:`var(--presence)`,insight:`var(--insight)`,warning:`var(--warning)`,danger:`var(--danger)`,muted:`var(--text-muted)`},n={refline:2,emphasize:3,label:3,summary:2,format:4,status:2,bar:2,note:2},r=e=>typeof e==`string`?e:``,i=e=>typeof e==`number`&&Number.isFinite(e)?e:null,a=t=>typeof t==`string`&&e.has(t)?t:void 0,o=e=>e.trim().toLowerCase();function s(e,t){switch(e.kind){case`block`:return!0;case`column`:return!!t.columnKeys&&t.columnKeys.includes(e.key);case`row`:return!!t.rowLabels&&t.rowLabels.some(t=>o(t)===o(e.match));case`cell`:return!!t.columnKeys&&t.columnKeys.includes(e.column)&&!!t.rowLabels&&t.rowLabels.some(t=>o(t)===o(e.row));case`item`:return!!t.itemLabels&&t.itemLabels.some(t=>o(t)===o(e.match));case`series`:return!!t.seriesNames&&t.seriesNames.some(t=>o(t)===o(e.name));case`value`:return t.valueDomain?e.value>=t.valueDomain.min-Math.abs(t.valueDomain.min)-1&&e.value<=t.valueDomain.max+Math.abs(t.valueDomain.max)+1:!0;case`range`:return!0;default:return!1}}function c(e){if(!e||typeof e!=`object`)return null;let t=e;switch(r(t.kind)){case`block`:return{kind:`block`};case`column`:return t.key?{kind:`column`,key:r(t.key)}:null;case`row`:return t.match?{kind:`row`,match:r(t.match)}:null;case`cell`:return t.row&&t.column?{kind:`cell`,row:r(t.row),column:r(t.column)}:null;case`item`:return t.match?{kind:`item`,match:r(t.match)}:null;case`series`:return t.name?{kind:`series`,name:r(t.name)}:null;case`value`:{let e=i(t.value);return e===null?null:{kind:`value`,value:e}}case`range`:{let e=i(t.from),n=i(t.to);return e===null||n===null?null:{kind:`range`,from:e,to:n}}default:return null}}function l(e,t){if(!e||typeof e!=`object`)return null;let n=e,i=r(n.op);switch(i){case`refline`:{let e=c(n.target);return!e||e.kind!==`value`&&e.kind!==`range`||!s(e,t)?null:{op:i,target:e,...n.label?{label:r(n.label)}:{},...a(n.tone)?{tone:a(n.tone)}:{}}}case`emphasize`:{let e=c(n.target);return!e||!s(e,t)?null:{op:i,target:e,...a(n.tone)?{tone:a(n.tone)}:{},...n.dimOthers===!0?{dimOthers:!0}:{}}}case`label`:case`note`:{let e=c(n.target),a=r(n.text);return!e||!a||!s(e,t)?null:{op:i,target:e,text:a}}case`summary`:{let e=r(n.stat);if(![`total`,`mean`,`max`,`min`,`count`].includes(e))return null;let a=Array.isArray(n.columns)?n.columns.map(r).filter(e=>!t.columnKeys||t.columnKeys.includes(e)):void 0;return{op:i,stat:e,...n.label?{label:r(n.label)}:{},...a&&a.length?{columns:a}:{}}}case`format`:{let e=c(n.target);if(!e||e.kind!==`column`&&e.kind!==`block`||!s(e,t))return null;let a=r(n.as);return[`currency`,`percent`,`unit`,`duration`].includes(a)?{op:i,target:e,as:a,...n.unit?{unit:r(n.unit)}:{}}:null}case`status`:{let e=c(n.target);if(!e||e.kind!==`column`||!s(e,t))return null;let o=Array.isArray(n.rules)?n.rules.map(e=>{let t=e,n=a(t.tone);return t.match&&n?{match:r(t.match),tone:n}:null}).filter(e=>e!==null):[];return o.length?{op:i,target:e,rules:o}:null}case`bar`:{let e=c(n.target);return!e||e.kind!==`column`||!s(e,t)?null:{op:i,target:e}}default:return null}}function u(e,t){if(!Array.isArray(e))return[];let r=[],i={};for(let a of e){if(r.length>=6)break;let e=l(a,t);if(!e)continue;let o=i[e.op]??0;o>=n[e.op]||(i[e.op]=o+1,r.push(e))}return r}export{u as n,t};
@@ -0,0 +1 @@
1
+ import{S as e,x as t}from"./shapes-RqjqC0ay.js";import{E as n,S as r}from"./useStudy-Bflreq2a.js";import{i,t as a}from"./useLiveConfig-X9Wxh90k.js";import{i as o,r as s}from"./store-BFrJaSxJ.js";import{a as c,c as l,r as u,s as d}from"./store-DXmC_fP2.js";import{r as f,t as p}from"./store-BFC7DZcg.js";import{c as m,l as h,u as g}from"./store-DgG0C1Qx.js";function _(){let e=m();return{app:`mavea`,kind:`backup`,version:1,exportedAt:Date.now(),data:{dashboards:r(),memory:t(),flashcards:u(),study:c(),library:s(),atlas:p(),courses:{courses:e,progress:Object.fromEntries(e.map(e=>[e.id,h(e.id)]))},settings:JSON.parse(a())}}}function v(){let e=JSON.stringify(_()),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t);try{let e=document.createElement(`a`);e.href=n,e.download=`mavea-backup-${new Date().toISOString().slice(0,10)}.json`,e.click()}finally{URL.revokeObjectURL(n)}}var y=e=>Array.isArray(e)?e:[];function b(t){if(t.length>25e6)throw Error(`That file is too large to be a Mavéa backup.`);let r;try{r=JSON.parse(t)}catch{throw Error(`This file isn’t valid JSON — it may be corrupted or not a Mavéa backup.`)}if(!r||typeof r!=`object`)throw Error(`This file isn’t a Mavéa backup.`);let a=r;if(a.app!==`mavea`||a.kind!==`backup`||typeof a.version!=`number`||!a.data)throw Error(`This file isn’t a Mavéa backup.`);let s=a.data,c={dashboards:n(y(s.dashboards)),memory:e(y(s.memory)),flashcards:d(y(s.flashcards)),studyStyle:l(s.study),library:o(y(s.library)),atlas:f(y(s.atlas)),courses:s.courses&&typeof s.courses==`object`?g(s.courses.courses,s.courses.progress):0,settingsApplied:!1,versionAhead:a.version>1};if(s.settings&&typeof s.settings==`object`){let e={...s.settings,keys:{},searchKeys:{},rememberKey:!1};i(JSON.stringify(e)),c.settingsApplied=!0}return c}export{v as downloadBackup,b as importBackup};
@@ -0,0 +1 @@
1
+ var e={insight:`Insight`,chart:`Chart`,breakdown:`Breakdown`,timeline:`Timeline`,list:`List`,compare:`Comparison`,ring:`Stat`,bars:`Bar chart`,stack:`Stacked bars`,scatter:`Scatter plot`,map:`Map`,heat:`Heatmap`,flow:`Flow`,gallery:`Gallery`,donut:`Donut chart`,gauge:`Gauge`,scoreboard:`Scoreboard`,standings:`Standings`,pipeline:`Pipeline`,kpi:`KPIs`,quotes:`Quote`,checklist:`Checklist`},t=[`title`,`label`,`heading`,`name`,`question`,`caption`,`eyebrow`],n=80;function r(e){let r=e.props??{};for(let e of t){let t=r[e];if(typeof t==`string`&&t.trim()){let e=t.trim();return e.length>n?e.slice(0,n-1).trimEnd()+`…`:e}}return null}function i(t){return r(t)??e[t.type]??t.type}var a={insight:`Finding`,scatter:`Scatter`,bars:`Bars`,stack:`Stacked`,checklist:`Progress`};function o(t){return(a[t.type]??e[t.type]??t.type).toUpperCase()}var s=[`summary`,`narrative`,`detail`,`sub`,`caption`,`body`,`text`],c=180;function l(e,t){let n=e.props??{};for(let e of s){let r=n[e];if(typeof r==`string`&&r.trim()&&r.trim()!==t){let e=r.trim().replace(/\s+/g,` `);return e.length>c?e.slice(0,c-1).trimEnd()+`…`:e}}return null}function u(e){let t=r(e),n=l(e,t);return t&&n?`${t}. ${n}`:t??n??null}export{i as n,u as r,o as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./c-SSSlmE39.js";export{e as default};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"C","name":"c","patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-conditional"},{"include":"#predefined_macros"},{"include":"#comments"},{"include":"#switch_statement"},{"include":"#anon_pattern_1"},{"include":"#storage_types"},{"include":"#anon_pattern_2"},{"include":"#anon_pattern_3"},{"include":"#anon_pattern_4"},{"include":"#anon_pattern_5"},{"include":"#anon_pattern_6"},{"include":"#anon_pattern_7"},{"include":"#operators"},{"include":"#numbers"},{"include":"#strings"},{"include":"#anon_pattern_range_1"},{"include":"#anon_pattern_range_2"},{"include":"#anon_pattern_range_3"},{"include":"#pragma-mark"},{"include":"#anon_pattern_range_4"},{"include":"#anon_pattern_range_5"},{"include":"#anon_pattern_range_6"},{"include":"#anon_pattern_8"},{"include":"#anon_pattern_9"},{"include":"#anon_pattern_10"},{"include":"#anon_pattern_11"},{"include":"#anon_pattern_12"},{"include":"#anon_pattern_13"},{"include":"#block"},{"include":"#parens"},{"include":"#anon_pattern_range_7"},{"include":"#line_continuation_character"},{"include":"#anon_pattern_range_8"},{"include":"#anon_pattern_range_9"},{"include":"#anon_pattern_14"},{"include":"#anon_pattern_15"}],"repository":{"access-method":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\\\s*(?:(\\\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(?:\\\\.|->))*)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","beginCaptures":{"1":{"name":"variable.object.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"match":"\\\\.","name":"punctuation.separator.dot-access.c"},{"match":"->","name":"punctuation.separator.pointer-access.c"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.c"},{"match":".+","name":"everything.else.c"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"name":"meta.function-call.member.c","patterns":[{"include":"#function-call-innards"}]},"anon_pattern_1":{"match":"\\\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\\\b","name":"keyword.control.c"},"anon_pattern_10":{"match":"\\\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\\\b","name":"support.type.stdint.c"},"anon_pattern_11":{"match":"\\\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\\\b","name":"support.constant.mac-classic.c"},"anon_pattern_12":{"match":"\\\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\\\b","name":"support.type.mac-classic.c"},"anon_pattern_13":{"match":"\\\\b([0-9A-Z_a-z]+_t)\\\\b","name":"support.type.posix-reserved.c"},"anon_pattern_14":{"match":";","name":"punctuation.terminator.statement.c"},"anon_pattern_15":{"match":",","name":"punctuation.separator.delimiter.c"},"anon_pattern_2":{"match":"typedef","name":"keyword.other.typedef.c"},"anon_pattern_3":{"match":"\\\\b(const|extern|register|restrict|static|volatile|inline)\\\\b","name":"storage.modifier.c"},"anon_pattern_4":{"match":"\\\\bk[A-Z]\\\\w*\\\\b","name":"constant.other.variable.mac-classic.c"},"anon_pattern_5":{"match":"\\\\bg[A-Z]\\\\w*\\\\b","name":"variable.other.readwrite.global.mac-classic.c"},"anon_pattern_6":{"match":"\\\\bs[A-Z]\\\\w*\\\\b","name":"variable.other.readwrite.static.mac-classic.c"},"anon_pattern_7":{"match":"\\\\b(NULL|true|false|TRUE|FALSE)\\\\b","name":"constant.language.c"},"anon_pattern_8":{"match":"\\\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\\\b","name":"support.type.sys-types.c"},"anon_pattern_9":{"match":"\\\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\\\b","name":"support.type.pthread.c"},"anon_pattern_range_1":{"begin":"((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))((#)\\\\s*define)\\\\b\\\\s+((?<!\\\\w)[A-Z_a-z]\\\\w*(?!\\\\w))(?:(\\\\()([^()\\\\\\\\]+)(\\\\)))?","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.directive.define.c"},"6":{"name":"punctuation.definition.directive.c"},"7":{"name":"entity.name.function.preprocessor.c"},"8":{"name":"punctuation.definition.parameters.begin.c"},"9":{"patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.c"}},"match":"(?<=[(,])\\\\s*((?<!\\\\w)[A-Z_a-z]\\\\w*(?!\\\\w))\\\\s*"},{"match":",","name":"punctuation.separator.parameters.c"},{"match":"\\\\.\\\\.\\\\.","name":"ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c"}]},"10":{"name":"punctuation.definition.parameters.end.c"}},"end":"(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.macro.c","patterns":[{"include":"#preprocessor-rule-define-line-contents"}]},"anon_pattern_range_2":{"begin":"^\\\\s*((#)\\\\s*(error|warning))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$3.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.diagnostic.c","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\\"']","end":"(?<!\\\\\\\\)(?=\\\\s*\\\\n)","name":"string.unquoted.single.c","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},"anon_pattern_range_3":{"begin":"^\\\\s*((#)\\\\s*(i(?:nclude(?:_next)?|mport)))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.$3.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.include.c","patterns":[{"include":"#line_continuation_character"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.include.c"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.other.lt-gt.include.c"}]},"anon_pattern_range_4":{"begin":"^\\\\s*((#)\\\\s*line)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},"anon_pattern_range_5":{"begin":"^\\\\s*((#)\\\\s*undef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.undef.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"match":"[$A-Z_a-z][$\\\\w]*","name":"entity.name.function.preprocessor.c"},{"include":"#line_continuation_character"}]},"anon_pattern_range_6":{"begin":"^\\\\s*((#)\\\\s*pragma)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.pragma.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.pragma.c","patterns":[{"include":"#strings"},{"match":"[$A-Z_a-z][-$\\\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.c"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},"anon_pattern_range_7":{"begin":"(?<!\\\\w)(?!\\\\s*(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|pthread_rwlock_t|atomic_uintptr_t|atomic_ptrdiff_t|atomic_uintmax_t|atomic_intmax_t|atomic_char32_t|atomic_intptr_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|uint_least8_t|int_least32_t|int_least16_t|pthread_key_t|uint_fast32_t|uint_fast64_t|uint_fast16_t|atomic_size_t|atomic_ushort|atomic_ullong|int_least64_t|atomic_ulong|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|memory_order|atomic_schar|atomic_uchar|atomic_short|atomic_llong|thread_local|atomic_bool|atomic_uint|atomic_long|int_fast8_t|suseconds_t|atomic_char|atomic_int|useconds_t|_Imaginary|uintmax_t|in_addr_t|in_port_t|_Noreturn|blksize_t|pthread_t|uintptr_t|volatile|u_quad_t|blkcnt_t|intmax_t|intptr_t|_Complex|uint16_t|uint32_t|uint64_t|_Alignof|_Alignas|continue|unsigned|restrict|intmax_t|register|int64_t|qaddr_t|segsz_t|_Atomic|alignas|default|caddr_t|nlink_t|typedef|u_short|fixpt_t|clock_t|swblk_t|ssize_t|alignof|daddr_t|int16_t|int32_t|uint8_t|struct|mode_t|size_t|time_t|ushort|u_long|u_char|int8_t|double|signed|static|extern|inline|return|switch|xor_eq|and_eq|bitand|not_eq|sizeof|quad_t|uid_t|bitor|union|off_t|key_t|ino_t|compl|u_int|short|const|false|while|float|pid_t|break|_Bool|or_eq|div_t|dev_t|gid_t|id_t|long|case|goto|else|bool|auto|id_t|enum|uint|true|NULL|void|char|for|not|int|and|xor|do|or|if)\\\\s*\\\\()(?=[A-Z_a-z]\\\\w*\\\\s*\\\\()","end":"(?!\\\\G)(?<=\\\\))","name":"meta.function.c","patterns":[{"include":"#function-innards"}]},"anon_pattern_range_8":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\[)(?!])","beginCaptures":{"1":{"name":"variable.object.c"},"2":{"name":"punctuation.definition.begin.bracket.square.c"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.c"}},"name":"meta.bracket.square.access.c","patterns":[{"include":"#function-call-innards"}]},"anon_pattern_range_9":{"match":"\\\\[\\\\s*]","name":"storage.modifier.array.bracket.square.c"},"backslash_escapes":{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape.c"},"block":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"name":"meta.block.c","patterns":[{"include":"#block_innards"}]}]},"block_comment":{"patterns":[{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"begin":"(?=\\\\s)(?<!else|new|return)(?<=\\\\w)\\\\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.c"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.c"}},"name":"meta.initialization.c","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$self"}]},"c_conditional_context":{"patterns":[{"include":"$self"},{"include":"#block_innards"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)","name":"meta.function-call.c","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?<!\\\\w)case(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.case.c"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.colon.case.c"}},"name":"meta.conditional.case.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"comments":{"patterns":[{"patterns":[{"patterns":[{"begin":"^(?>\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","name":"comment.line.double-slash.documentation.c","patterns":[{"include":"#line_continuation_character"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},"3":{"name":"punctuation.definition.comment.end.documentation.c"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.c"},{"begin":"((?>\\\\s*)/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s)))","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"}},"end":"([!*]*\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.documentation.c"}},"name":"comment.block.documentation.c","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"meta.toc-list.banner.block.c"}},"match":"^/\\\\* =(\\\\s*.*?)\\\\s*= \\\\*/$\\\\n?","name":"comment.block.banner.c"},{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"captures":{"1":{"name":"meta.toc-list.banner.line.c"}},"match":"^// =(\\\\s*.*?)\\\\s*=$\\\\n?","name":"comment.line.banner.c"},{"begin":"((?:^[\\\\t ]+)?)(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.c"}},"end":"(?!\\\\G)","patterns":[{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?=\\\\n)","name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]}]}]},{"include":"#block_comment"},{"include":"#line_comment"}]},{"include":"#block_comment"},{"include":"#line_comment"}]},"default_statement":{"begin":"((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?<!\\\\w)default(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.default.c"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.colon.case.default.c"}},"name":"meta.conditional.case.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"disabled":{"begin":"^\\\\s*#\\\\s*if(n?def)?\\\\b.*$","end":"^\\\\s*#\\\\s*endif\\\\b","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"evaluation_context":{"patterns":[{"include":"#function-call-innards"},{"include":"$self"}]},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.c"}},"name":"meta.function.definition.parameters.c","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-innards"}]},{"include":"$self"}]},"inline_comment":{"patterns":[{"patterns":[{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/))"},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"}]},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"}]},"line_comment":{"patterns":[{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.c"}},"match":"(\\\\\\\\)\\\\n"}]},"member_access":{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"variable.other.member.c"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*\\\\b((?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\\\b)[A-Z_a-z]\\\\w*\\\\b(?!\\\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*([A-Z_a-z]\\\\w*)(\\\\()","beginCaptures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"contentName":"meta.function-call.member.c","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.c"},"2":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.hexadecimal.c"},"5":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.c"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.c"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.c"},"11":{"name":"constant.numeric.exponent.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.c"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"2":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.decimal.point.c"},"5":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.decimal.c"},"9":{"name":"keyword.operator.plus.exponent.decimal.c"},"10":{"name":"keyword.operator.minus.exponent.decimal.c"},"11":{"name":"constant.numeric.exponent.decimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.c"}},"match":"\\\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.binary.c"},"2":{"name":"constant.numeric.binary.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\\\G(0[Bb])([01](?:[01]|((?<=\\\\h)'(?=\\\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.octal.c"},"2":{"name":"constant.numeric.octal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\\\G(0)((?:[0-7]|((?<=\\\\h)'(?=\\\\h)))+)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.c"},"2":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.c"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.c"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.c"},"8":{"name":"constant.numeric.exponent.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"9":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)((?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\w))?$"},{"captures":{"2":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.decimal.c"},"6":{"name":"keyword.operator.plus.exponent.decimal.c"},"7":{"name":"keyword.operator.minus.exponent.decimal.c"},"8":{"name":"constant.numeric.exponent.decimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"9":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)((?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\w))?$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operators":{"patterns":[{"match":"(?<![$\\\\w])(sizeof)(?![$\\\\w])","name":"keyword.operator.sizeof.c"},{"match":"--","name":"keyword.operator.decrement.c"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.c"},{"match":"(?:[-%*+]|(?<!\\\\()/)=","name":"keyword.operator.assignment.compound.c"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.c"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.c"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.c"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.c"},{"match":"[\\\\&^|~]","name":"keyword.operator.c"},{"match":"=","name":"keyword.operator.assignment.c"},{"match":"[-%*+/]","name":"keyword.operator.c"},{"begin":"(\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"patterns":[{"include":"#function-call-innards"},{"include":"$self"}]}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.c","patterns":[{"include":"$self"}]},"parens-block":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.block.c","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?<!:):(?!:))","name":"punctuation.range-based.c"}]},"pragma-mark":{"captures":{"1":{"name":"meta.preprocessor.pragma.c"},"2":{"name":"keyword.control.directive.pragma.pragma-mark.c"},"3":{"name":"punctuation.definition.directive.c"},"4":{"name":"entity.name.tag.pragma-mark.c"}},"match":"^\\\\s*(((#)\\\\s*pragma\\\\s+mark)\\\\s+(.*))","name":"meta.section.c"},"predefined_macros":{"patterns":[{"captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.c"}},"match":"\\\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\\\b"},{"match":"\\\\b__([A-Z_]+)__\\\\b","name":"entity.name.other.preprocessor.macro.predefined.probably.$1.c"}]},"preprocessor-rule-conditional":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if(?:n?def)?)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$self"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.c"}},"match":"^\\\\s*#\\\\s*(e(?:lse|lif|ndif))\\\\b"}]},"preprocessor-rule-conditional-block":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if(?:n?def)?)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.c"}},"match":"^\\\\s*#\\\\s*(e(?:lse|lif|ndif))\\\\b"}]},"preprocessor-rule-conditional-line":{"patterns":[{"match":"\\\\bdefined\\\\b(?:\\\\s*$|(?=\\\\s*\\\\(*\\\\s*(?!defined\\\\b)[$A-Z_a-z][$\\\\w]*\\\\b\\\\s*\\\\)*\\\\s*(?:\\\\n|//|/\\\\*|[:?]|&&|\\\\|\\\\||\\\\\\\\\\\\s*\\\\n)))","name":"keyword.control.directive.conditional.c"},{"match":"\\\\bdefined\\\\b","name":"invalid.illegal.macro-name.c"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.c"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.c"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#operators"},{"match":"\\\\b(NULL|true|false|TRUE|FALSE)\\\\b","name":"constant.language.c"},{"match":"[$A-Z_a-z][$\\\\w]*","name":"entity.name.function.preprocessor.c"},{"include":"#line_continuation_character"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)|(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-define-line-blocks":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-blocks"},{"include":"#preprocessor-rule-define-line-contents"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-define-line-contents":{"patterns":[{"include":"#vararg_ellipses"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"name":"meta.block.c","patterns":[{"include":"#preprocessor-rule-define-line-blocks"}]},{"match":"\\\\(","name":"punctuation.section.parens.begin.bracket.round.c"},{"match":"\\\\)","name":"punctuation.section.parens.end.bracket.round.c"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","name":"meta.function.c","patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]},{"include":"#method_access"},{"include":"#member_access"},{"include":"$self"}]},"preprocessor-rule-define-line-functions":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#vararg_ellipses"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"(\\\\))|(?<!\\\\\\\\)(?=\\\\s*\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-disabled":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if)\\\\b(?=\\\\s*\\\\(*\\\\b0+\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*e(?:lif|lse|ndif))\\\\b)","patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$self"}]},{"begin":"\\\\n","contentName":"comment.block.preprocessor.if-branch.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if)\\\\b(?=\\\\s*\\\\(*\\\\b0+\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*e(?:lif|lse|ndif))\\\\b)","patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"begin":"\\\\n","contentName":"comment.block.preprocessor.if-branch.in-block.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b(?=\\\\s*\\\\(*\\\\b0+\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*e(?:lif|lse|ndif))\\\\b)","patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\\\n","contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-enabled":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if)\\\\b(?=\\\\s*\\\\(*\\\\b0*1\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"},"3":{"name":"constant.numeric.preprocessor.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\\\s*((#)\\\\s*else)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.else-branch.c","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.if-branch.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\\\n","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"$self"}]}]}]},"preprocessor-rule-enabled-block":{"patterns":[{"begin":"^\\\\s*((#)\\\\s*if)\\\\b(?=\\\\s*\\\\(*\\\\b0*1\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\\\s*((#)\\\\s*endif)\\\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\\\s*((#)\\\\s*else)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.else-branch.in-block.c","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.if-branch.in-block.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\\\n","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b(?=\\\\s*\\\\(*\\\\b0*1\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\\\n","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"begin":"^\\\\s*((#)\\\\s*(else))\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\\\s*((#)\\\\s*(elif))\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"$self"}]}]},"preprocessor-rule-enabled-elif-block":{"begin":"^\\\\s*((#)\\\\s*elif)\\\\b(?=\\\\s*\\\\(*\\\\b0*1\\\\b\\\\)*\\\\s*(?:$|//|/\\\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"begin":"\\\\G(?=.)(?!/(?:/|\\\\*(?!.*\\\\\\\\\\\\s*\\\\n)))","end":"(?=//)|(?=/\\\\*(?!.*\\\\\\\\\\\\s*\\\\n))|(?<!\\\\\\\\)(?=\\\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\\\n","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"begin":"^\\\\s*((#)\\\\s*(else))\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.in-block.c","end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\\\s*((#)\\\\s*(elif))\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\\\s*((#)\\\\s*e(?:lse|lif|ndif))\\\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"#block_innards"}]}]},"preprocessor-rule-enabled-else":{"begin":"^\\\\s*((#)\\\\s*else)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"$self"}]},"preprocessor-rule-enabled-else-block":{"begin":"^\\\\s*((#)\\\\s*else)\\\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\\\s*((#)\\\\s*endif)\\\\b)","patterns":[{"include":"#block_innards"}]},"probably_a_parameter":{"captures":{"1":{"name":"variable.parameter.probably.c"}},"match":"(?<=[0-9A-Z_a-z] |[]\\\\&)*>])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"keyword.other.static_assert.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.c"}},"patterns":[{"begin":"(,)\\\\s*(?=(?:L|u8?|U\\\\s*\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.c"}},"end":"(?=\\\\))","name":"meta.static_assert.message.c","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?<!\\\\w)(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?!\\\\w))","name":"storage.type.built-in.primitive.c"},{"match":"(?-im:(?<!\\\\w)(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|pthread_rwlockattr_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_uint_fast16_t|atomic_int_least64_t|atomic_int_least32_t|atomic_int_least16_t|atomic_uint_least8_t|atomic_uint_fast8_t|atomic_int_least8_t|atomic_int_fast16_t|pthread_mutexattr_t|atomic_int_fast32_t|atomic_int_fast64_t|atomic_int_fast8_t|pthread_condattr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintptr_t|atomic_uintmax_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|int_least32_t|pthread_key_t|int_least16_t|int_least64_t|uint_least8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|atomic_ushort|atomic_ullong|atomic_size_t|int_fast16_t|int_fast64_t|uint_fast8_t|atomic_short|atomic_uchar|atomic_schar|int_least8_t|memory_order|atomic_llong|atomic_ulong|int_fast32_t|atomic_long|atomic_uint|atomic_char|int_fast8_t|suseconds_t|atomic_bool|atomic_int|_Imaginary|useconds_t|in_port_t|uintmax_t|pthread_t|blksize_t|in_addr_t|uintptr_t|blkcnt_t|uint16_t|uint32_t|uint64_t|u_quad_t|_Complex|intptr_t|intmax_t|segsz_t|u_short|nlink_t|uint8_t|int64_t|int32_t|int16_t|fixpt_t|daddr_t|caddr_t|qaddr_t|ssize_t|clock_t|swblk_t|u_long|mode_t|int8_t|time_t|ushort|u_char|quad_t|size_t|pid_t|gid_t|uid_t|dev_t|div_t|off_t|u_int|key_t|ino_t|uint|id_t)(?!\\\\w))","name":"storage.type.built-in.c"},{"match":"(?-im:\\\\b(enum|struct|union)\\\\b)","name":"storage.type.$1.c"},{"begin":"\\\\b(__asm__|asm)\\\\b\\\\s*((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.c"},"2":{"name":"storage.modifier.c"}},"end":"(?!\\\\G)","name":"meta.asm.c","patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"^((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))(?:\\\\n|$)"},{"include":"#comments"},{"begin":"(((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))\\\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.c"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"4":{"name":"comment.block.c"},"5":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.c"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.c"},"2":{"name":"punctuation.definition.string.begin.assembly.c"}},"contentName":"meta.embedded.assembly.c","end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.assembly.c"}},"name":"string.quoted.double.c","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.c"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"variable.other.asm.label.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"\\\\[((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))([A-Z_a-z]\\\\w*)((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.c"},{"include":"#comments"}]}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape.c"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.c"}]},"string_placeholder":{"patterns":[{"match":"%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.c"},{"captures":{"1":{"name":"invalid.illegal.placeholder.c"}},"match":"(%)(?!\\"\\\\s*(PRI|SCN))"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]}]},"switch_conditional_parentheses":{"begin":"((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.c"}},"name":"meta.conditional.switch.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"switch_statement":{"begin":"(((?>(?:(?>(?<!\\\\s)\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?<!\\\\w)switch(?!\\\\w)))","beginCaptures":{"1":{"name":"meta.head.switch.c"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"4":{"name":"comment.block.c"},"5":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"6":{"name":"keyword.control.switch.c"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","name":"meta.block.switch.c","patterns":[{"begin":"\\\\G ?","end":"(\\\\{|<%|\\\\?\\\\?<|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.c"}},"name":"meta.head.switch.c","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","end":"(}|%>|\\\\?\\\\?>)","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.c"}},"name":"meta.body.switch.c","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"},{"include":"#block_innards"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)[\\\\n\\\\s]*","end":"[\\\\n\\\\s]*(?=;)","name":"meta.tail.switch.c","patterns":[{"include":"$self"}]}]},"vararg_ellipses":{"match":"(?<!\\\\.)\\\\.\\\\.\\\\.(?!\\\\.)","name":"punctuation.vararg-ellipses.c"}},"scopeName":"source.c"}`))];export{e as t};
@@ -0,0 +1 @@
1
+ var e=`mavea-ripple`,t=`analyses`,n=60;function r(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function i(e,t){return`${r(e)}|${t}|v5`}var a=new Map;function o(e){return a.get(e)?.value??null}function s(e,t){if(a.set(e,{key:e,value:t,savedAt:Date.now()}),a.size>n){let e=null,t=1/0;for(let n of a.values())n.savedAt<t&&(t=n.savedAt,e=n.key);e&&a.delete(e)}}function c(){try{return typeof indexedDB<`u`&&indexedDB!==null}catch{return!1}}function l(){return new Promise(n=>{try{let r=indexedDB.open(e,1);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(t)||e.createObjectStore(t,{keyPath:`key`}).createIndex(`savedAt`,`savedAt`)},r.onsuccess=()=>n(r.result),r.onerror=()=>n(null)}catch{n(null)}})}async function u(e){if(!c())return o(e);let n=await l();return n?new Promise(r=>{try{let i=n.transaction(t,`readonly`).objectStore(t).get(e);i.onsuccess=()=>{let e=i.result;r(e?e.value:null),n.close()},i.onerror=()=>{r(null),n.close()}}catch{r(o(e))}}):o(e)}async function d(e,n){if(!c()){s(e,n);return}let r=await l();if(!r){s(e,n);return}await new Promise(i=>{try{let a=r.transaction(t,`readwrite`);a.objectStore(t).put({key:e,value:n,savedAt:Date.now()}),a.oncomplete=()=>{f(r).finally(()=>{i(),r.close()})},a.onerror=()=>{i(),r.close()}}catch{s(e,n),i()}})}function f(e){return new Promise(r=>{try{let i=e.transaction(t,`readwrite`).objectStore(t),a=i.count();a.onsuccess=()=>{let e=a.result-n;if(e<=0){r();return}let t=0,o=i.index(`savedAt`).openCursor();o.onsuccess=()=>{let n=o.result;n&&t<e?(n.delete(),t++,n.continue()):r()},o.onerror=()=>r()},a.onerror=()=>r()}catch{r()}})}export{i,d as n,r,u as t};
@@ -0,0 +1 @@
1
+ import"./ReplayCard-BpYO5vX-.js";import"./TopicCanvas-CT0eSj2M.js";import"./CanvasSkeleton-BZZPCuRZ.js";
@@ -0,0 +1,2 @@
1
+ var e=/\d+(?:\.\d+)?|[x+\-*/()]/gy;function t(t){let n=t.replace(/\s+/g,``);if(!n)return null;let r=[],i=0;for(;i<n.length;){e.lastIndex=i;let t=e.exec(n);if(!t)return null;let a=t[0];r.push(a===`x`||`+-*/()`.includes(a)?a:Number(a)),i=e.lastIndex}return r}function n(e,t){let n=0,r=()=>e[n],i=()=>e[n++];function a(){let e=i();if(e===void 0)return null;if(typeof e==`number`)return e;if(e===`x`)return t;if(e===`-`){let e=a();return e===null?null:-e}if(e===`(`){let e=s();return e===null||i()!==`)`?null:e}return null}function o(){let e=a();if(e===null)return null;for(;r()===`*`||r()===`/`;){let t=i(),n=a();if(n===null)return null;e=t===`*`?e*n:e/n}return e}function s(){let e=o();if(e===null)return null;for(;r()===`+`||r()===`-`;){let t=i(),n=o();if(n===null)return null;e=t===`+`?e+n:e-n}return e}let c=s();return n===e.length&&c!==null&&Number.isFinite(c)?c:null}function r(e,r){let i=t(e);return i?n(i,r):null}function i(e){if(e.length>120)return!1;let r=t(e);return!r||!r.includes(`x`)?!1:n(r,1)!==null}function a(e){let t=Math.abs(e),n=t>=1e3?0:t>=10?1:2;return e.toLocaleString(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:n})}var o=[],s=new Map(o.map(e=>[e.id,e]));function c(e){return s.get(e)}function l(e){return o.filter(t=>e.has(t.mcp))}function u(e){let t=l(e);return t.length===0?``:[`When the answer naturally leads to a concrete next step the user can DO, you may add ONE`,`"action" block: {"type":"action","props":{"id": <one of the ids below>, "label"?: string,`,`"args": { …the params… }}}. Offer it only when it genuinely helps — the user always confirms`,`before anything happens. Available actions:`,...t.map(e=>{let t=e.params.map(e=>`${e.name}${e.required?``:`?`}`).join(`, `);return`- ${e.id}: ${e.desc} (params: ${t})`})].join(`
2
+ `)}export{i as a,a as i,u as n,r,c as t};
@@ -0,0 +1 @@
1
+ import{J as e,q as t}from"./index-y8GL67bB.js";import{n,r}from"./facts-BBTt3ImG.js";new Set([`scalar`,`series`,`composition`,`comparison`,`ranking`,`distribution`,`relationship`,`structure`,`hierarchy`,`flow`,`sequence`,`keyvalue`,`list`,`geo`,`text`,`code`,`media`,`tabular`,`status`,`selection`,`navigation`,`overlay`,`action`]),new Set([`stat`,`trend`,`bar`,`composition`,`distribution`,`scatter`,`matrix`,`table`,`compare`,`list`,`steps`,`timeline`,`graph`,`tree`,`flow`,`map`,`prose`,`code`,`media`,`document`,`control`,`canvas`]),new Set([`currency`,`percent`,`unit`,`total-row`,`delta`,`target-line`,`status-color`,`in-cell-bar`,`sparkline`,`trend-arrow`,`sort`,`search`,`callout`,`highlight`]),e();var i=[()=>t(()=>import(`./shard000-DM_rqD7W.js`),[]),()=>t(()=>import(`./shard001-gQEQs7_F.js`),[]),()=>t(()=>import(`./shard002-DbDas-W-.js`),[]),()=>t(()=>import(`./shard003-DxMszG4_.js`),[]),()=>t(()=>import(`./shard004-DZMpLBw1.js`),[]),()=>t(()=>import(`./shard005-DLVkh9IH.js`),[]),()=>t(()=>import(`./shard006-B6efKHov.js`),[]),()=>t(()=>import(`./shard007-AFdZLe38.js`),[]),()=>t(()=>import(`./shard008-LbSBzwRx.js`),[]),()=>t(()=>import(`./shard009-D_6-SUDb.js`),[]),()=>t(()=>import(`./shard010-DbOj-uZW.js`),[]),()=>t(()=>import(`./shard011-BYSz7EEW.js`),[]),()=>t(()=>import(`./shard012-B5Ypj7OV.js`),[]),()=>t(()=>import(`./shard013-BtsliNIe.js`),[]),()=>t(()=>import(`./shard014-15sjmk68.js`),[]),()=>t(()=>import(`./shard015-nnXrqru_.js`),[]),()=>t(()=>import(`./shard016-BayXFE13.js`),[]),()=>t(()=>import(`./shard017-Cy4cGexs.js`),[]),()=>t(()=>import(`./shard018-aO-BYJ8H.js`),[]),()=>t(()=>import(`./shard019-gxaTeA3I.js`),[]),()=>t(()=>import(`./shard020-BibJdMI0.js`),[]),()=>t(()=>import(`./shard021-2FE-tze4.js`),[]),()=>t(()=>import(`./shard022-IXiyG-JK.js`),[]),()=>t(()=>import(`./shard023-314F6NJS.js`),[]),()=>t(()=>import(`./shard024-cN5rpQ_X.js`),[]),()=>t(()=>import(`./shard025-KKTaXOGE.js`),[]),()=>t(()=>import(`./shard026-C2Dkd1t6.js`),[]),()=>t(()=>import(`./shard027-Xy-8x9As.js`),[]),()=>t(()=>import(`./shard028-Bul-klUj.js`),[]),()=>t(()=>import(`./shard029-BbRSUcUZ.js`),[]),()=>t(()=>import(`./shard030-GYllsFVC.js`),[]),()=>t(()=>import(`./shard031-DMigeiyn.js`),[]),()=>t(()=>import(`./shard032-CcvmzK0l.js`),[]),()=>t(()=>import(`./shard033-11AU702M.js`),[]),()=>t(()=>import(`./shard034-Bx3urxjM.js`),[]),()=>t(()=>import(`./shard035-DBdEeyCt.js`),[]),()=>t(()=>import(`./shard036-vYgoRBqS.js`),[]),()=>t(()=>import(`./shard037-DP4MMw91.js`),[]),()=>t(()=>import(`./shard038-ffxsv7d6.js`),[]),()=>t(()=>import(`./shard039-C1JHHNp9.js`),[]),()=>t(()=>import(`./shard040-JbVvCSO_.js`),[]),()=>t(()=>import(`./shard041-5L_eFwGx.js`),[]),()=>t(()=>import(`./shard042-C9nsGL79.js`),[]),()=>t(()=>import(`./shard043-Dx_9HSKI.js`),[]),()=>t(()=>import(`./shard044-B3QQNC4A.js`),[]),()=>t(()=>import(`./shard045-B7z0WHO6.js`),[]),()=>t(()=>import(`./shard046-D1yDablJ.js`),[]),()=>t(()=>import(`./shard047-DJi3AgeT.js`),[]),()=>t(()=>import(`./shard048-D_2ipfUr.js`),[]),()=>t(()=>import(`./shard049-1aGgWZdd.js`),[]),()=>t(()=>import(`./shard050-Bjwa0Og4.js`),[]),()=>t(()=>import(`./shard051-Cx_GAk3v.js`),[]),()=>t(()=>import(`./shard052-LaeOD3V5.js`),[]),()=>t(()=>import(`./shard053-D-da7Foj.js`),[]),()=>t(()=>import(`./shard054-CM8eSRQk.js`),[]),()=>t(()=>import(`./shard055-QRpDl4Vs.js`),[]),()=>t(()=>import(`./shard056-DkY7CQm3.js`),[]),()=>t(()=>import(`./shard057-BVCgf7o0.js`),[]),()=>t(()=>import(`./shard058-93aGtdrX.js`),[]),()=>t(()=>import(`./shard059-rJE9X1_I.js`),[]),()=>t(()=>import(`./shard060-Lu_hfl1r.js`),[]),()=>t(()=>import(`./shard061-C9A8iNiq.js`),[]),()=>t(()=>import(`./shard062-BBIpEYZO.js`),[]),()=>t(()=>import(`./shard063-C_uen3Ub.js`),[]),()=>t(()=>import(`./shard064-DAHUsHST.js`),[]),()=>t(()=>import(`./shard065-C2edvdvh.js`),[]),()=>t(()=>import(`./shard066-DFcuVhZm.js`),[]),()=>t(()=>import(`./shard067-BN8DM8JZ.js`),[]),()=>t(()=>import(`./shard068-i464K77p.js`),[]),()=>t(()=>import(`./shard069-Dm9m2a5U.js`),[]),()=>t(()=>import(`./shard070-BPVvR8GH.js`),[]),()=>t(()=>import(`./shard071-Bal_0d9L.js`),[]),()=>t(()=>import(`./shard072-CBQu62kt.js`),[]),()=>t(()=>import(`./shard073-D5BRae0w.js`),[]),()=>t(()=>import(`./shard074-DtFvcBnZ.js`),[])],a=new Set,o=new Map,s=new Map;i.length;function c(e){if(a.has(e))return Promise.resolve();let t=o.get(e);if(t)return t;let n=i[e];if(!n)return Promise.resolve();let r=n().then(({D:t})=>{for(let[e,n]of Object.entries(t))s.set(e,n);a.add(e)}).catch(()=>{}).finally(()=>o.delete(e));return o.set(e,r),r}function l(e){let t=r(e);return t<0?-1:Math.floor(t/8)}async function u(e){let t=new Set;for(let n of e){let e=l(n);e>=0&&!a.has(e)&&t.add(e)}t.size&&await Promise.all([...t].map(c))}function d(e){return s.get(e)}function f(e){let t=n(e);if(!t)return;let r=d(e);if(r)return{...t,...r}}export{u as n,f as t};
@@ -0,0 +1 @@
1
+ var e=1,t=`cfo`,n=1784149612485,r=`gemini-3.5-flash`,i=[{question:`Run my quarterly review: ARR grew from $12.4M to $15.1M, churn ticked up from 2.1% to 2.8%, and regions came in at NA $8.2M, EMEA $4.6M, APAC $2.3M.`,narration:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`,mode:`replace`,tour:[{index:0,say:`We hit a major milestone, growing our ARR to fifteen point one million dollars.`,mark:{kind:`underline`,at:`$15.1M`,color:`key`}},{index:1,say:`However, monthly churn did tick up to two point eight percent, which we need to monitor closely.`,mark:{kind:`circle`,at:`2.8%`,color:`cool`}},{index:2,say:`North America remains our largest region at eight point two million, followed by Europe and Asia-Pacific.`,mark:{kind:`highlight`,at:`$8.2M`},marks:[{kind:`highlight`,at:`$8.2M`},{kind:`underline`,at:`$4.6M`},{kind:`underline`,at:`$2.3M`}]},{index:4,say:`Looking at the cohorts, we can see that newer signups are experiencing slightly faster drop-offs in month one.`,mark:{kind:`bracket`,at:`January Cohort`,to:`April Cohort`}}],spec:{id:`live`,workspace:`Live`,title:`Q2 2026 Financial Review`,sub:`ARR growth, regional distribution, and cohort retention analysis.`,opener:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`Annual Recurring Revenue expansion`,summary:`ARR grew from $12.4M to $15.1M this quarter, representing a healthy 21.8% sequential increase.`,stat:`$15.1M`,delta:`+$2.7M`,deltaDir:`good`},note:`Our recurring revenue base expanded by over two and a half million dollars this quarter, keeping us on a strong upward trajectory.`,section:`Executive Summary`,order:1,depth:1},{type:`kpi`,col:8,delay:70,props:{title:`Key performance indicators`,kpis:[{val:`$15.1M`,label:`Ending ARR`},{val:`2.8%`,label:`Monthly Churn`},{val:`3.8x`,label:`LTV to CAC Ratio`}]},id:`live-2`,note:`While ARR beat our internal target, the monthly churn rate ticked up to two point eight percent, which warrants a closer look at customer success.`,section:`Executive Summary`,order:1,depth:1},{type:`stack`,col:6,delay:140,props:{title:`Regional ARR contribution`,segments:[{value:8.2,label:`North America`,display:`$8.2M`,color:`var(--presence)`},{value:4.6,label:`EMEA`,display:`$4.6M`,color:`var(--insight)`},{value:2.3,label:`APAC`,display:`$2.3M`,color:`var(--presence-soft)`}],total:`$15.1M`},id:`live-3`,note:`North America remains our anchor market at over eight million dollars, while Europe and Asia-Pacific combine for nearly half of our total ARR.`,section:`Regional Performance`,order:2,depth:1},{type:`breakdown`,col:6,delay:210,props:{title:`Regional share breakdown`,rows:[{name:`North America (NA)`,val:`$8.2M`,pct:54,hot:!0,tag:`Primary`},{name:`Europe, Middle East & Africa (EMEA)`,val:`$4.6M`,pct:31,tag:`Established`},{name:`Asia-Pacific (APAC)`,val:`$2.3M`,pct:15,tag:`Emerging`}]},id:`live-4`,note:`North America commands fifty-four percent of the portfolio, with EMEA holding a strong thirty-one percent share.`,section:`Regional Performance`,order:2,depth:1},{type:`cohortgrid`,col:12,delay:280,props:{cohorts:[{label:`January Cohort`,size:120,values:[100,94,91,89]},{label:`February Cohort`,size:145,values:[100,93,89,86]},{label:`March Cohort`,size:160,values:[100,91,86]},{label:`April Cohort`,size:185,values:[100,89]}],title:`Monthly customer retention by cohort`,icon:`layers`,periods:[`Month 0`,`Month 1`,`Month 2`,`Month 3`],unit:`%`,caption:`% of starting cohort active at month end`,footer:`Early retention has drifted down slightly in recent cohorts, aligning with our overall churn increase.`},id:`live-5`,note:`Our cohort retention grid shows that newer cohorts, like April, are starting their lifecycle with slightly lower month-one retention.`,section:`Churn & Retention`,order:3,depth:1},{type:`compare`,col:12,delay:350,props:{options:[{name:`Proactive CS Outreach`,sub:`High touch`,pick:!0},{name:`In-App Guides & Nudges`,sub:`Automated scaling`}],criteria:[{label:`Implementation Speed`,cells:[{v:`Fast`},{v:`Medium`}]},{label:`Expected Impact`,cells:[{v:`High`,win:!0},{v:`Medium`}]},{label:`Resource Cost`,cells:[{v:`Medium`},{v:`Low`,win:!0}]}],eyebrow:`Churn mitigation strategies`,recommendation:`We recommend immediate proactive outreach to accounts showing low usage patterns to reverse the churn drift.`},id:`live-6`,note:`To address the churn drift, immediate customer success outreach is recommended over purely automated product guides.`,section:`Churn & Retention`,order:3,depth:1},{type:`list`,col:12,delay:420,props:{title:`Action items for Q3`,items:[`Deploy Customer Success team to accounts with declining usage metrics.`,`Analyze APAC expansion opportunities to capitalize on high-margin growth.`,`Refine onboarding flows for new signups to stabilize early cohort retention.`]},id:`live-7`,note:`Our immediate focus is stabilizing early retention and deploying targeted outreach to accounts showing warning signs.`,section:`Next Steps`,order:4,depth:1}],proof:null,topic:`Finance`,extras:{},group:`home`,suggests:[{label:`What is driving the churn uptick?`,icon:`chat`,route:`What is driving the churn uptick?`},{label:`Show regional growth trends over time`,icon:`chat`,route:`Show regional growth trends over time`},{label:`How does our LTV to CAC compare to peers?`,icon:`chat`,route:`How does our LTV to CAC compare to peers?`},{label:`Draft an email summary of these results`,icon:`chat`,route:`Draft an email summary of these results`}],keywords:[]},at:1784149574028},{question:`Walk me through the bridge: new business added $1.9M, expansion $1.3M, and churn gave back $0.5M.`,narration:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`,mode:`augment`,tour:[{index:7,say:`Let's start with the big picture: our ARR grew to $15.1M this quarter.`,saySpoken:`Let's start with the big picture: our ARR grew to fifteen point one million dollars this quarter.`,mark:{kind:`circle`,at:`$15.1M`,color:`key`}},{index:8,say:`Here is how the bridge breaks down: we added $1.9M in new business and $1.3M in expansion, while losing $0.5M to churn.`,saySpoken:`Here is how the bridge breaks down: we added one point nine million in new business and one point three million in expansion, while losing half a million to churn.`,mark:{kind:`underline`,at:`1.9`},marks:[{kind:`underline`,at:`1.9`},{kind:`underline`,at:`1.3`},{kind:`underline`,at:`0.5`}]},{index:1,say:`While growth is strong, keep an eye on monthly churn, which ticked up to 2.8%.`,saySpoken:`While growth is strong, keep an eye on monthly churn, which ticked up to two point eight percent.`,mark:{kind:`circle`,at:`2.8%`,color:`cool`}},{index:10,say:`Geographically, North America still leads the way, making up over 54% of our total ARR.`,saySpoken:`Geographically, North America still leads the way, making up over fifty-four percent of our total ARR.`,mark:{kind:`highlight`,at:`North America (NA)`}}],spec:{id:`live`,workspace:`Live`,title:`Quarterly Business Review`,sub:`Q2 FY26 · ARR, Churn, and Regional Performance`,opener:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`Annual Recurring Revenue expansion`,summary:`ARR grew from $12.4M to $15.1M this quarter, representing a healthy 21.8% sequential increase.`,stat:`$15.1M`,delta:`+$2.7M`,deltaDir:`good`},note:`Our recurring revenue base expanded by over two and a half million dollars this quarter, keeping us on a strong upward trajectory.`,section:`Executive Summary`,order:1,depth:1},{type:`kpi`,col:8,delay:70,props:{title:`Key performance indicators`,kpis:[{val:`$15.1M`,label:`Ending ARR`},{val:`2.8%`,label:`Monthly Churn`},{val:`3.8x`,label:`LTV to CAC Ratio`}]},id:`live-2`,note:`While ARR beat our internal target, the monthly churn rate ticked up to two point eight percent, which warrants a closer look at customer success.`,section:`Executive Summary`,order:1,depth:1},{type:`stack`,col:6,delay:140,props:{title:`Regional ARR contribution`,segments:[{value:8.2,label:`North America`,display:`$8.2M`,color:`var(--presence)`},{value:4.6,label:`EMEA`,display:`$4.6M`,color:`var(--insight)`},{value:2.3,label:`APAC`,display:`$2.3M`,color:`var(--presence-soft)`}],total:`$15.1M`},id:`live-3`,note:`North America remains our anchor market at over eight million dollars, while Europe and Asia-Pacific combine for nearly half of our total ARR.`,section:`Regional Performance`,order:2,depth:1},{type:`breakdown`,col:6,delay:210,props:{title:`Regional share breakdown`,rows:[{name:`North America (NA)`,val:`$8.2M`,pct:54,hot:!0,tag:`Primary`},{name:`Europe, Middle East & Africa (EMEA)`,val:`$4.6M`,pct:31,tag:`Established`},{name:`Asia-Pacific (APAC)`,val:`$2.3M`,pct:15,tag:`Emerging`}]},id:`live-4`,note:`North America commands fifty-four percent of the portfolio, with EMEA holding a strong thirty-one percent share.`,section:`Regional Performance`,order:2,depth:1},{type:`cohortgrid`,col:12,delay:280,props:{cohorts:[{label:`January Cohort`,size:120,values:[100,94,91,89]},{label:`February Cohort`,size:145,values:[100,93,89,86]},{label:`March Cohort`,size:160,values:[100,91,86]},{label:`April Cohort`,size:185,values:[100,89]}],title:`Monthly customer retention by cohort`,icon:`layers`,periods:[`Month 0`,`Month 1`,`Month 2`,`Month 3`],unit:`%`,caption:`% of starting cohort active at month end`,footer:`Early retention has drifted down slightly in recent cohorts, aligning with our overall churn increase.`},id:`live-5`,note:`Our cohort retention grid shows that newer cohorts, like April, are starting their lifecycle with slightly lower month-one retention.`,section:`Churn & Retention`,order:3,depth:1},{type:`compare`,col:12,delay:350,props:{options:[{name:`Proactive CS Outreach`,sub:`High touch`,pick:!0},{name:`In-App Guides & Nudges`,sub:`Automated scaling`}],criteria:[{label:`Implementation Speed`,cells:[{v:`Fast`},{v:`Medium`}]},{label:`Expected Impact`,cells:[{v:`High`,win:!0},{v:`Medium`}]},{label:`Resource Cost`,cells:[{v:`Medium`},{v:`Low`,win:!0}]}],eyebrow:`Churn mitigation strategies`,recommendation:`We recommend immediate proactive outreach to accounts showing low usage patterns to reverse the churn drift.`},id:`live-6`,note:`To address the churn drift, immediate customer success outreach is recommended over purely automated product guides.`,section:`Churn & Retention`,order:3,depth:1},{type:`list`,col:12,delay:420,props:{title:`Action items for Q3`,items:[`Deploy Customer Success team to accounts with declining usage metrics.`,`Analyze APAC expansion opportunities to capitalize on high-margin growth.`,`Refine onboarding flows for new signups to stabilize early cohort retention.`]},id:`live-7`,note:`Our immediate focus is stabilizing early retention and deploying targeted outreach to accounts showing warning signs.`,section:`Next Steps`,order:4,depth:1},{type:`insight`,col:4,delay:0,id:`live-8`,num:`1`,props:{title:`ARR Growth Outpaces Churn Drift`,summary:`Annual Recurring Revenue grew 21.8% quarter-over-quarter, driven by strong new business and expansion, offsetting a 70 bps increase in churn.`,stat:`$15.1M`,delta:`+$2.7M`,deltaDir:`good`},note:`Our annual recurring revenue reached fifteen point one million dollars this quarter, marking a healthy twenty-one percent jump despite a small rise in churn.`,section:`Executive Summary`,order:1,depth:1},{type:`workedexample`,col:8,delay:70,props:{title:`The ARR Bridge Calculation`,steps:[{label:`Starting ARR`,math:{t:`row`,items:[{t:`num`,v:`12.4`}]},why:`Baseline ARR at the beginning of the quarter.`},{label:`Add New Business`,math:{t:`row`,items:[{t:`op`,v:`+`},{t:`num`,v:`1.9`}]},why:`Net new logos secured during the sales cycle.`},{label:`Add Expansion`,math:{t:`row`,items:[{t:`op`,v:`+`},{t:`num`,v:`1.3`}]},why:`Upsells, seat additions, and tier upgrades.`},{label:`Subtract Churn`,math:{t:`row`,items:[{t:`op`,v:`-`},{t:`num`,v:`0.5`}]},why:`Cancellations and contractions.`}],problem:`Reconciling $12.4M to $15.1M ARR`,result:{t:`row`,items:[{t:`ident`,v:`Ending ARR`},{t:`op`,v:`=`},{t:`num`,v:`15.1`}]}},id:`live-9`,note:`This bridge shows exactly how we got to fifteen point one million: we added one point nine million in new business and one point three million in expansion, while…`,section:`ARR Bridge`,order:2,depth:1},{type:`teachdiagram`,col:12,delay:140,props:{title:`Visualizing the ARR Bridge Flow`,steps:[{caption:`We start with our baseline ARR of $12.4M.`,add:[{kind:`polygon`,points:`15,80 15,50 25,50 25,80`,color:`var(--presence)`,fill:`var(--presence-soft)`}],captionSpoken:`We start with our baseline ARR of twelve point four million dollars.`,labels:[{x:20,y:45,text:`$12.4M`,side:`top`}]},{caption:`New business adds $1.9M and expansion adds $1.3M.`,add:[{kind:`polygon`,points:`30,50 30,30 40,30 40,50`,color:`var(--insight)`,fill:`var(--insight)`},{kind:`polygon`,points:`45,30 45,15 55,15 55,30`,color:`var(--insight)`,fill:`var(--insight)`}],captionSpoken:`New business adds one point nine million dollars and expansion adds one point three million dollars.`,labels:[{x:35,y:25,text:`+$1.9M`,side:`top`},{x:50,y:10,text:`+$1.3M`,side:`top`}]},{caption:`Subtracting $0.5M in churn leaves us at our ending ARR of $15.1M.`,add:[{kind:`polygon`,points:`60,15 60,25 70,25 70,15`,color:`var(--danger)`,fill:`var(--danger)`},{kind:`polygon`,points:`75,80 75,25 85,25 85,80`,color:`var(--presence)`,fill:`var(--presence-soft)`}],captionSpoken:`Subtracting half a million dollars in churn leaves us at our ending ARR of fifteen point one million dollars.`,labels:[{x:65,y:30,text:`-$0.5M`,side:`bottom`},{x:80,y:20,text:`$15.1M`,side:`top`}]}],baseShapes:[{kind:`line`,x1:10,y1:80,x2:90,y2:80,color:`var(--text-muted)`}],ratio:1.5},id:`live-10`,note:`This step-by-step diagram builds out the bridge visually, showing how new bookings and expansion stepped us up before churn shaved off a small slice.`,section:`ARR Bridge`,order:2,depth:2,facet:`derivation`},{type:`donut`,col:6,delay:280,props:{title:`Regional Revenue Contribution`,rows:[{label:`North America (NA)`,pct:54.3,color:`var(--presence)`},{label:`Europe, Middle East & Africa (EMEA)`,pct:30.5,color:`var(--insight)`},{label:`Asia-Pacific (APAC)`,pct:15.2,color:`var(--warning)`}],footer:`Total Regional ARR: $15.1M`},id:`live-11`,note:`North America remains our powerhouse at over fifty-four percent of total revenue, with Europe contributing nearly a third and Asia-Pacific making up the rest.`,section:`Regional Performance`,order:3,depth:1},{type:`bars`,col:6,delay:350,props:{title:`Regional ARR Breakdown`,bars:[{value:8.2,label:`North America`,hot:!0},{value:4.6,label:`EMEA`},{value:2.3,label:`APAC`}],unit:`$M`},id:`live-12`,note:`In absolute terms, North America brought in eight point two million dollars, Europe four point six million, and Asia-Pacific two point three million.`,section:`Regional Performance`,order:3,depth:1},{type:`quiz`,col:6,delay:420,props:{title:`Quick Check: Net Revenue Retention`,question:`Based on our bridge, what is our Net Revenue Retention (NRR) rate for this quarter?`,options:[{text:`106.5%`},{text:`109.7%`,correct:!0,feedback:`Correct! NRR is calculated as (Starting ARR + Expansion - Churn) / Starting ARR. Here, (12.4 + 1.3 - 0.5) / 12.4 = 106.45%, which rounds to 106.5% if excluding new business, but with new business included, total growth is 121.8%.`},{text:`121.8%`}],explanation:`Net Revenue Retention measures the change in existing customer revenue. Excluding new business ($1.9M), our base went from $12.4M to $13.2M ($12.4M + $1.3M - $0.5M), resulting in a 106.5% NRR.`},id:`live-13`,note:`Test your understanding of our retention health with this quick calculation check on our net revenue retention rate.`,section:`ARR Bridge`,order:2,depth:2,facet:`check`}],proof:null,topic:`Finance`,extras:{},group:`home`,suggests:[{label:`What drove the churn increase?`,icon:`chat`,route:`What drove the churn increase?`},{label:`How does EMEA growth compare to NA?`,icon:`chat`,route:`How does EMEA growth compare to NA?`},{label:`What is our target NRR for next quarter?`,icon:`chat`,route:`What is our target NRR for next quarter?`},{label:`Can we model a 2% churn reduction?`,icon:`chat`,route:`Can we model a 2% churn reduction?`}],keywords:[]},at:1784149595548},{question:`Forecast for next quarter`,narration:`If our churn keeps drifting up at this pace, we could give back a significant portion of our new business gains. Let's look at how the numbers model out for next quarter so we can see exactly where the risk lies.`,mode:`replace`,tour:[],spec:{id:`live`,workspace:`Live`,title:`Quarterly ARR Bridge & Forecast`,sub:`Modeling the impact of the churn drift on next quarter's ARR.`,opener:`If our churn keeps drifting up at this pace, we could give back a significant portion of our new business gains. Let's look at how the numbers model out for next quarter so we can see exactly where the risk lies.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`Next quarter's projected ARR`,summary:`Assumes new business and expansion hold steady, but monthly churn drifts further to 3.5%.`,stat:`$16.1M`,delta:`+6.6%`,deltaDir:`up`,conf:`inferred`},note:`Our projected ARR lands at sixteen point one million next quarter, assuming our current growth holds but churn continues its upward drift.`,section:`ARR Forecast`,order:1,depth:1},{type:`datatable`,col:8,delay:70,props:{title:`The Q2 ARR Bridge`,columns:[{key:`metric`,label:`Bridge Element`,align:`left`},{key:`value`,label:`Value`,align:`right`},{key:`type`,label:`Type`,align:`center`}],rows:[{},{},{},{},{}],icon:`table`,iconColor:`var(--presence)`,sortKey:`value`,sortDir:`desc`,footer:`Net addition of $2.7M over the quarter.`},id:`live-2`,note:`This is the bridge we just established, showing how we built up from twelve point four million to fifteen point one million.`,section:`ARR Forecast`,order:1,depth:1},{type:`chart`,col:12,delay:140,props:{title:`ARR Trajectory & Forecast`,labels:[`Q4`,`Q1`,`Q2 (Actual)`,`Q3 (Forecast)`],series:[{name:`ARR`,color:`var(--presence)`,data:[10.2,12.4,15.1,16.1]}],unit:`$M`,footer:`Forecast assumes a 3.5% churn rate.`},id:`live-3`,note:`You can see the steady upward trajectory, but the slope softens slightly in Q3 as churn eats into our new bookings.`,section:`ARR Forecast`,order:1,depth:1},{type:`gauge`,col:6,delay:210,props:{title:`Projected Monthly Churn Rate`,value:3.5,max:5,band:`Warning`,conf:`inferred`},id:`live-4`,note:`If the monthly churn rate drifts from two point eight to three point five percent, we enter a higher risk warning band.`,section:`Churn Analysis`,order:2,depth:1},{type:`breakdown`,col:6,delay:280,props:{title:`Q3 Forecasted ARR Drifts`,rows:[{name:`New Business Target`,val:`+$1.8M`,pct:45,tag:`Growth`},{name:`Expansion Target`,val:`+$1.2M`,pct:30,tag:`Growth`},{name:`Projected Churn Loss`,val:`-$1.0M`,pct:25,hot:!0,tag:`Risk`}]},id:`live-5`,note:`At a three point five percent churn rate, we stand to lose a full million dollars next quarter, offsetting over half of our new business.`,section:`Churn Analysis`,order:2,depth:1},{type:`fivewhychain`,col:12,delay:350,props:{title:`Root Cause: Why Churn is Drifting`,problem:`Monthly churn ticked up from 2.1% to 2.8%`,whys:[{question:`Why did churn increase this quarter?`,answer:`Mid-market accounts experienced a higher rate of non-renewals.`},{question:`Why did mid-market accounts fail to renew?`,answer:`Onboarding completion rates dropped by 15% in that segment.`},{question:`Why did onboarding completion rates drop?`,answer:`The new self-serve setup wizard lacked clear integration steps for common CRMs.`}],rootCause:`Onboarding friction due to unguided CRM integrations.`,footer:`Fixing the integration wizard is our highest leverage churn lever.`},id:`live-6`,note:`Tracing the churn back reveals that onboarding friction with CRM integrations is the real root cause we need to address.`,section:`Churn Analysis`,order:2,depth:2,facet:`derivation`}],proof:null,extras:{},group:`home`,suggests:[],keywords:[]},at:1784149612484}],a=[{role:`user`,content:`Run my quarterly review: ARR grew from $12.4M to $15.1M, churn ticked up from 2.1% to 2.8%, and regions came in at NA $8.2M, EMEA $4.6M, APAC $2.3M. Build the full picture — growth, the churn drift, and how the regions stack up.`},{role:`assistant`,content:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`},{role:`user`,content:`Walk me through the bridge: new business added $1.9M, expansion $1.3M, and churn gave back $0.5M.`},{role:`assistant`,content:`We had a strong growth quarter with ARR climbing to $15.1M, though we need to keep a close eye on a slight uptick in our monthly churn. North America continues to drive the bulk of our revenue, but Europe and Asia-Pacific are showing solid holding patterns.`},{role:`user`,content:`Forecast for next quarter: if churn keeps drifting at this pace, where does ARR land? Model it from the numbers we established.`},{role:`assistant`,content:`If our churn keeps drifting up at this pace, we could give back a significant portion of our new business gains. Let's look at how the numbers model out for next quarter so we can see exactly where the risk lies.`}],o={v:1,persona:`cfo`,generatedAt:n,model:r,frames:i,history:a};export{o as default,i as frames,n as generatedAt,a as history,r as model,t as persona,e as v};
@@ -0,0 +1 @@
1
+ import{n as e}from"./blockLabel-DAqaHKy3.js";import{A as t}from"./shapes-RqjqC0ay.js";var n=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`,`var(--danger)`,`var(--presence-soft)`,`var(--warning-soft)`],r=/^(how|what|why|should|can|could|would|will|plan|show|make|build|tell|give|explain|who|when|where|which|is|are|do|does|did|help|me)\b[\s,]*/i;function i(e,t=36){let n=e.trim().replace(/\s+/g,` `);if(n.length<=t)return n;let r=n.slice(0,t),i=r.lastIndexOf(` `);return(i>t*.5?r.slice(0,i):r).replace(/[\s,.;:–-]+$/,``)+`…`}function a(e){let t=e.spec?.title?.trim();if(t)return i(t);let n=e.question?.replace(r,``).trim();return n?i(n.charAt(0).toUpperCase()+n.slice(1)):`Moment`}function o(e){let t=e.toLowerCase();return/\b(build|model|schema|architecture|data model|pipeline|system|wire up)\b/.test(t)?`layers`:/\b(prove|verify|evidence|sources?|cite|citation|try|test|double-check|check)\b/.test(t)?`check`:/\b(card|dashboard|one-?pager|slide|widget|panel)\b/.test(t)?`screen`:/\b(show me|show|generate|draw|chart|graph|diagram|render|visuali[sz]e|design|map)\b/.test(t)?`sparkle`:`mic`}var s={compare:`table`,standings:`table`,scoreboard:`table`,table:`table`,kpi:`table`,chart:`chart`,bars:`chart`,stack:`chart`,scatter:`chart`,heat:`chart`,donut:`chart`,gauge:`chart`,ring:`chart`,map:`globe`,geomap:`globe`,gallery:`image`,timeline:`clock`,quotes:`quote`,pullquote:`quote`,checklist:`check`,checks:`check`,insight:`spark`,codemap:`layers`,schema:`layers`,diff:`layers`,flow:`layers`,pipeline:`layers`},c=new Set([`divider`]),l=8;function u(t){let n=[],r=new Set;for(let i of t){let t=i.id;if(!(!t||r.has(t)||c.has(i.type))&&(r.add(t),n.push({id:t,label:e(i),icon:s[i.type]??`spark`}),n.length>=l))break}return n}function d(e,r){let i=[],s=t(e,r??null);return e.forEach((e,t)=>{let r={frameIndex:t,question:e.question||``,icon:o(e.question||``),mode:e.mode,elements:u(e.spec?.blocks??[])};if(s[t]){let o=i.length;i.push({id:`ch-`+t,title:a(e),color:e.spec?.tint||n[o%n.length],moments:[r]})}else i[i.length-1].moments.push(r)}),i}function f(e){return e.reduce((e,t)=>e+t.moments.length,0)}export{f as n,d as r,n as t};
@@ -0,0 +1 @@
1
+ var e={treemap:{title:`Where the codebase mass sits`,icon:`doc`,iconColor:`var(--insight)`,unit:` kLOC`,root:{label:`Atlas`,value:0,children:[{label:`core`,value:0,color:`var(--presence)`,children:[{label:`typed-core`,value:48,color:`var(--presence)`},{label:`migration`,value:22,color:`var(--presence-soft)`}]},{label:`search`,value:0,color:`var(--insight)`,children:[{label:`index`,value:39,color:`var(--insight)`},{label:`relevance`,value:17,color:`var(--insight-soft)`}]},{label:`surface`,value:0,color:`var(--warning)`,children:[{label:`web app`,value:64,color:`var(--warning)`},{label:`command bar`,value:12,color:`var(--warning-soft)`}]},{label:`shared`,value:28,color:`var(--text-muted)`}]},footer:`The web surface is still the heaviest module, search is catching up fast.`},sunburst:{title:`Where the research time went`,icon:`chart`,iconColor:`var(--insight)`,unit:`min`,root:{label:`Research`,value:100,children:[{label:`Reading`,value:52,color:`var(--insight)`,children:[{label:`RCTs`,value:30},{label:`Meta-analyses`,value:14},{label:`Guidelines`,value:8}]},{label:`Verifying`,value:30,color:`var(--presence)`,children:[{label:`Cross-check`,value:18},{label:`Claims data`,value:12}]},{label:`Writing`,value:18,color:`var(--presence-soft)`,children:[{label:`Synthesis`,value:12},{label:`Caveats`,value:6}]}]},footer:`More than half the time was reading, and nearly a third was checking.`},sankey:{title:`How the seven days flow`,icon:`chart`,iconColor:`var(--presence)`,unit:` days`,nodes:[{id:`trip`,label:`7 days`,layer:0,color:`var(--presence)`},{id:`west`,label:`West coast`,layer:1,color:`var(--insight)`},{id:`east`,label:`East coast`,layer:1,color:`var(--warning)`},{id:`base`,label:`Base · PDL`,layer:1,color:`var(--text-muted)`},{id:`shoot`,label:`Shoot days`,layer:2,color:`var(--presence-soft)`},{id:`rest`,label:`Scout / rest`,layer:2,color:`var(--text-muted)`}],links:[{source:`trip`,target:`west`,value:2},{source:`trip`,target:`east`,value:3},{source:`trip`,target:`base`,value:2},{source:`west`,target:`shoot`,value:2},{source:`east`,target:`shoot`,value:2},{source:`east`,target:`rest`,value:1},{source:`base`,target:`shoot`,value:1},{source:`base`,target:`rest`,value:1}],footer:`Five real shoot days, two to scout and breathe.`},network:{title:`How the trials cite each other`,icon:`share`,iconColor:`var(--presence-soft)`,layout:`circle`,nodes:[{id:`step1`,label:`STEP 1`,group:0,weight:9,color:`var(--insight)`},{id:`step2`,label:`STEP 2`,group:0,weight:6,color:`var(--insight)`},{id:`step4`,label:`STEP 4`,group:0,weight:5,color:`var(--insight)`},{id:`surmount`,label:`SURMOUNT-1`,group:1,weight:7,color:`var(--presence)`},{id:`select`,label:`SELECT`,group:2,weight:8,color:`var(--presence-soft)`},{id:`cochrane`,label:`Cochrane`,group:3,weight:9,color:`var(--warning)`}],edges:[{source:`cochrane`,target:`step1`,weight:3},{source:`cochrane`,target:`step2`,weight:2},{source:`cochrane`,target:`step4`,weight:2},{source:`cochrane`,target:`surmount`,weight:2},{source:`surmount`,target:`step1`,weight:2},{source:`select`,target:`step1`,weight:1},{source:`step2`,target:`step1`,weight:1},{source:`step4`,target:`step1`,weight:1}],footer:`STEP 1 and the Cochrane review are the hubs, everything leans on them.`},radar:{title:`Your fitness shape vs your age band`,icon:`spark`,iconColor:`var(--insight)`,axes:[`Endurance`,`Strength`,`Mobility`,`Power`,`Sleep`,`Recovery`],max:100,series:[{label:`You`,color:`var(--presence)`,values:[88,72,58,64,81,84]},{label:`Age-band median`,color:`var(--text-muted)`,values:[60,62,55,58,64,60]}],footer:`Endurance and recovery lead; <mark>mobility</mark> is the clear place to invest next.`},waterfall:{title:`ARR bridge · Q1 → Q2`,icon:`layers`,iconColor:`var(--presence)`,unit:`$k`,steps:[{label:`Q1 ARR`,value:4580,total:!0,color:`var(--text-muted)`},{label:`New`,value:712,color:`var(--insight)`},{label:`Expansion`,value:386,color:`var(--presence)`},{label:`Reactivation`,value:64,color:`var(--presence-soft)`},{label:`Contraction`,value:-148,color:`var(--warning)`},{label:`Churn`,value:-190,color:`var(--danger)`},{label:`Q2 ARR`,value:5404,total:!0,color:`var(--insight)`}],footer:`Gross adds of <b>$1.16M</b> against <b>$338k</b> of churn + contraction, a healthy 3.4× ratio.`},funnel:{title:`Sales funnel · Q2`,icon:`cart`,iconColor:`var(--insight)`,unit:` deals`,stages:[{label:`Leads`,value:2840,color:`var(--presence-soft)`},{label:`Qualified (MQL)`,value:980,color:`var(--presence)`},{label:`Opportunity`,value:412,color:`var(--insight)`},{label:`Proposal`,value:168,color:`var(--insight)`},{label:`Closed-won`,value:47,color:`var(--insight)`}],footer:`Lead→won at <b>1.7%</b>; the proposal→won step is the cleanest it has been.`},histogram:{title:`Your fasting glucose readings`,icon:`chart`,iconColor:`var(--insight)`,unit:`mg/dL`,color:`var(--insight)`,marker:89,markerLabel:`your mean · 89`,bins:[{x0:78,x1:82,count:2},{x0:82,x1:86,count:7},{x0:86,x1:90,count:14},{x0:90,x1:94,count:11},{x0:94,x1:98,count:5},{x0:98,x1:102,count:2}],footer:`41 morning readings cluster comfortably below the 100 mg/dL line, no spikes.`},boxplot:{title:`Blood pressure by time of day`,icon:`spark`,iconColor:`var(--presence)`,unit:`mmHg`,domain:[60,140],groups:[{label:`Morning`,min:108,q1:114,median:118,q3:123,max:129,color:`var(--presence)`},{label:`Afternoon`,min:110,q1:116,median:121,q3:126,max:134,outliers:[138],color:`var(--insight)`},{label:`Evening`,min:105,q1:112,median:116,q3:121,max:128,color:`var(--presence-soft)`},{label:`Post-workout`,min:118,q1:124,median:129,q3:135,max:141,outliers:[148],color:`var(--warning)`}],footer:`Systolic sits in the healthy band all day, the post-workout bump is expected and resolves fast.`},streamgraph:{title:`Where your active minutes go`,icon:`chart`,iconColor:`var(--insight)`,unit:`min/wk`,ticks:[`Wk 1`,`Wk 2`,`Wk 3`,`Wk 4`,`Wk 5`,`Wk 6`,`Wk 7`,`Wk 8`,`Wk 9`,`Wk 10`,`Wk 11`,`Wk 12`],series:[{label:`Running`,color:`var(--presence)`,values:[90,110,105,130,120,145,150,160,140,170,165,180]},{label:`Strength`,color:`var(--insight)`,values:[60,60,75,70,80,85,80,90,95,90,100,105]},{label:`Cycling`,color:`var(--presence-soft)`,values:[40,50,45,60,55,50,70,65,80,75,90,85]},{label:`Mobility`,color:`var(--warning)`,values:[20,25,20,30,35,30,40,35,45,40,50,55]}],footer:`Total load is up ~45% over the block, but the <mark>mix stayed balanced</mark>, that protects you from overuse.`},correlationheatmap:{title:`Feature correlations`,icon:`table`,iconColor:`var(--presence)`,variables:[`accuracy`,`latency_ms`,`model_size_mb`,`train_steps`,`val_loss`,`confidence`],matrix:[[1,.22,.58,.47,-.91,.86],[.22,1,.93,.08,-.15,.19],[.58,.93,1,.12,-.44,.51],[.47,.08,.12,1,-.62,.55],[-.91,-.15,-.44,-.62,1,-.79],[.86,.19,.51,.55,-.79,1]],footer:`Validation loss is the strongest correlate of accuracy (&minus;0.91) &mdash; latency tracks model size almost 1:1 (0.93), not accuracy directly.`},bcgmatrix:{title:`Product-line portfolio · Q2`,icon:`layers`,iconColor:`var(--presence)`,unit:`k`,items:[{label:`Core Platform`,growth:9,share:2.6,revenue:3200,note:`The flagship — still the category leader, growth has plateaued.`},{label:`Analytics Add-on`,growth:46,share:1.4,revenue:640,note:`Fastest-growing upsell, closing in on the category leader.`},{label:`Workflow Automation`,growth:22,share:1.1,revenue:520},{label:`Mobile App`,growth:68,share:.35,revenue:260,note:`High growth, still building share against two incumbents.`},{label:`API Marketplace`,growth:74,share:.22,revenue:150},{label:`Legacy On-Prem`,growth:-14,share:.4,revenue:634,note:`Sunsetting in 2027 — the revenue is real, the trend is not.`}],footer:`Analytics is the one bet to fund harder; Legacy On-Prem is the one to wind down on schedule.`},flowchord:{title:`Where accounts moved this quarter`,icon:`share`,iconColor:`var(--danger)`,unit:` accounts`,nodes:[{id:`ent`,label:`Enterprise`,color:`var(--insight)`},{id:`mid`,label:`Mid-Market`,color:`var(--presence)`},{id:`smb`,label:`SMB`,color:`var(--warning)`},{id:`churn`,label:`Churned`,color:`var(--danger)`}],flows:[{from:`smb`,to:`churn`,value:34},{from:`mid`,to:`churn`,value:5},{from:`ent`,to:`churn`,value:1},{from:`mid`,to:`smb`,value:4},{from:`smb`,to:`mid`,value:6},{from:`ent`,to:`mid`,value:3}],footer:`Almost all the movement funnels through SMB — some downgrade first, most cancel outright.`},venn:{title:`Unique perks vs. shared`,icon:`layers`,iconColor:`var(--presence)`,sets:[{label:`Mission`,value:8,color:`var(--warning)`},{label:`Noe Valley`,value:6,color:`var(--insight)`}],overlaps:[{sets:[0,1],value:5}],footer:`Both cover the essentials (the 5 in the middle); the real choice is nightlife-at-your-door vs. a calm, sunlit morning.`},quadrant:{title:`Decision factors by impact vs. effort`,icon:`chart`,iconColor:`var(--presence)`,xLabel:`Effort →`,yLabel:`Impact →`,topRight:`High impact, high effort`,topLeft:`High impact, low effort`,bottomLeft:`Low impact, low effort`,bottomRight:`Low impact, high effort`,items:[{label:`Commute time`,quadrant:`topLeft`,note:`9 hrs/mo saved`},{label:`Morning light`,quadrant:`topLeft`,note:`south-facing`},{label:`Nightlife access`,quadrant:`topRight`,note:`Mission only`},{label:`Rent delta`,quadrant:`topRight`,note:`+$300/mo`},{label:`Street noise`,quadrant:`bottomLeft`,note:`minor factor`},{label:`Parking`,quadrant:`bottomRight`,note:`neither is great`}],footer:`Commute and light are quick wins, low effort, high daily impact.`},piedonut:{title:`Where your study hours went`,unit:`hrs`,centerValue:`24h`,centerLabel:`total`,slices:[{label:`Org Chem`,value:11,color:`var(--warning)`},{label:`Calc II`,value:6,color:`var(--presence)`},{label:`Macro`,value:4,color:`var(--insight)`},{label:`Spanish`,value:3,color:`var(--presence-soft)`}]},distributioncurve:{title:`Class score distribution`,kind:`normal`,mean:74,sd:11,shadeFrom:85,markers:[{x:62,label:`You`,color:`var(--warning)`}],unit:`%`,footer:`You sit left of the mean, the shaded tail is the A range you can still reach.`},latencydist:{title:`Dashboard API latency (last 24h)`,icon:`clock`,iconColor:`var(--presence)`,unit:`ms`,bins:[{from:0,to:40,count:2100},{from:40,to:80,count:6400},{from:80,to:120,count:4800},{from:120,to:160,count:2050},{from:160,to:200,count:980},{from:200,to:260,count:410},{from:260,to:340,count:190},{from:340,to:460,count:95},{from:460,to:640,count:38}],p50:86,p90:168,p95:214,p99:372,slo:200,sloLabel:`SLO 200ms`,caption:`17,063 requests · the long p99 tail breaches the 200ms SLO`},captable:{title:`Cap table after the Series A`,icon:`table`,iconColor:`var(--presence)`,totalShares:12e6,holders:[{name:`Founders`,shares:66e5,class:`Common`},{name:`Series A (Lighthouse)`,shares:24e5,class:`Preferred A`},{name:`Seed investors`,shares:156e4,class:`Preferred Seed`},{name:`ESOP (option pool)`,shares:12e5,class:`Options`},{name:`Angels & advisors`,shares:24e4,class:`Common`}],caption:`12.0M fully-diluted shares · founders hold 55% after the round`},lifewheel:{title:`Your wheel of life — a felt balance check`,icon:`sparkle`,iconColor:`var(--presence)`,domains:[{label:`Health`,score:6,note:`Sleep is back on track; movement still patchy.`},{label:`Career`,score:8,note:`Energised by the current project.`},{label:`Relationships`,score:7,note:`Close circle is strong.`},{label:`Finance`,score:5,note:`Stable, but no buffer yet.`},{label:`Growth`,score:8,note:`Learning something new every week.`},{label:`Fun`,score:4,note:`Hardest spoke — little play lately.`},{label:`Environment`,score:6,note:`Home calm; desk cluttered.`},{label:`Spirituality`,score:5,note:`A short daily pause helps.`}],caption:`A round wheel rolls smoothly — the dips are where to spend the next month.`},violinplot:{title:`Exam score distributions`,icon:`chart`,iconColor:`var(--insight)`,showBox:!0,unit:`pts`,groups:[{label:`Quiz`,color:`var(--insight)`,values:[62,65,67,70,72,73,74,75,76,77,78,79,80,81,82,83,85,87,90]},{label:`Midterm`,color:`var(--presence)`,values:[55,60,63,66,68,70,71,72,74,76,78,80,83,86,88,91,94]},{label:`Final`,color:`var(--warning)`,values:[58,61,64,67,70,73,75,77,78,79,81,83,84,86,89,92,95]}]},stemleafplot:{title:`Quiz score stem-and-leaf`,icon:`layers`,iconColor:`var(--presence)`,values:[62,65,67,70,72,73,74,75,76,77,78,79,80,81,82,83,85,87,90],leafUnit:1},tamsam:{title:`Market sizing: TAM → SAM → SOM`,icon:`chart`,iconColor:`var(--insight)`,markets:[{label:`TAM`,value:12,unit:`B`,cagr:18,description:`Enterprise knowledge & document management — all companies worldwide.`},{label:`SAM`,value:4.2,unit:`B`,cagr:22,description:`Mid-market & enterprise companies in English-speaking markets with > 500 employees.`},{label:`SOM`,value:.84,unit:`B`,cagr:30,description:`2 % market capture at scale — 1,400 enterprise accounts at $60k ACV in year 5.`}],footer:`Bottom-up from 68,000 qualifying accounts × $60k ACV. 22 % SAM CAGR from Gartner 2024.`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e={slopegraph:{title:`Before → after the re-platform`,icon:`arrowDown`,iconColor:`var(--insight)`,beforeLabel:`v2 today`,afterLabel:`v3 target`,unit:``,rows:[{label:`Deploy time (min)`,before:28,after:6,color:`var(--insight)`},{label:`Services to page`,before:11,after:4,color:`var(--presence)`},{label:`p95 search (s)`,before:1.9,after:.4,color:`var(--warning)`},{label:`On-call alerts/wk`,before:37,after:12,color:`var(--danger)`}],footer:`Every operational line moves the right direction, fewer moving parts pays compounding interest.`},dumbbell:{title:`Build estimate vs. actual · by epic`,icon:`clock`,iconColor:`var(--warning)`,unit:` days`,startLabel:`estimate`,endLabel:`actual`,startColor:`var(--text-muted)`,endColor:`var(--insight)`,domain:[0,30],rows:[{label:`Typed core`,start:8,end:10,tag:`shipped`},{label:`Migration shim`,start:5,end:6,tag:`shipped`},{label:`Index backfill`,start:12,end:19,tag:`over`},{label:`Shadow-read parity`,start:6,end:7,tag:`in flight`},{label:`Command bar`,start:9,end:9,tag:`planned`}],footer:`The index backfill ran 7 days long, the source of most schedule pressure this quarter.`},lollipop:{title:`Effort left by workstream`,icon:`layers`,iconColor:`var(--presence-soft)`,unit:` pts`,rows:[{label:`Search index`,value:34,color:`var(--insight)`,sub:`critical path`},{label:`Command bar`,value:21,color:`var(--presence)`,sub:`depends on index`},{label:`Saved views`,value:18,color:`var(--presence-soft)`},{label:`Migration shim`,value:9,color:`var(--warning)`,sub:`almost done`},{label:`Docs + GA`,value:6,color:`var(--text-muted)`}],footer:`88 points remain, over a third sit on the search index alone.`},bulletchart:{title:`Unit economics vs goal`,icon:`shield`,iconColor:`var(--presence)`,rows:[{label:`Gross margin`,value:82,target:80,max:100,bands:[60,75,90],unit:`%`,color:`var(--insight)`},{label:`LTV : CAC`,value:4.1,target:3,max:6,bands:[2,3,5],unit:`×`,color:`var(--insight)`},{label:`CAC payback`,value:14,target:18,max:30,bands:[12,18,24],unit:` mo`,color:`var(--presence)`},{label:`Magic number`,value:1.2,target:1,max:2,bands:[.5,1,1.5],unit:``,color:`var(--insight)`}],footer:`Every efficiency metric is in the strong band, payback beats goal by 4 months.`},candlestick:{title:`Search latency p95 · weekly (ms)`,icon:`chart`,iconColor:`var(--warning)`,unit:`ms`,candles:[{label:`W1`,o:1980,h:2100,l:1900,c:1940,vol:41},{label:`W2`,o:1940,h:1980,l:1610,c:1680,vol:44},{label:`W3`,o:1680,h:1720,l:1180,c:1240,vol:47},{label:`W4`,o:1240,h:1300,l:820,c:880,vol:52},{label:`W5`,o:880,h:940,l:540,c:610,vol:55},{label:`W6`,o:610,h:700,l:430,c:470,vol:58}],footer:`Each backfill batch drags the floor down. The 400ms target is one batch away.`},gantt:{title:`Usage-based billing launch plan`,icon:`clock`,iconColor:`var(--presence)`,cols:[`W1`,`W2`,`W3`,`W4`,`W5`,`W6`,`W7`,`W8`],tasks:[{name:`Metering pipeline`,lane:`Eng`,start:0,span:3,pct:100,color:`var(--insight)`,detail:`Event ingestion + aggregation.`},{name:`Pricing model`,lane:`Finance`,start:0,span:2,pct:100,color:`var(--presence)`},{name:`Billing integration`,lane:`Eng`,start:2,span:3,pct:60,color:`var(--insight)`,dependsOn:0},{name:`Self-serve UI`,lane:`Product`,start:3,span:3,pct:35,color:`var(--presence-soft)`,dependsOn:2},{name:`Beta with 8 accounts`,lane:`GTM`,start:5,span:2,pct:0,color:`var(--warning)`,dependsOn:3},{name:`GA + announce`,lane:`GTM`,start:7,span:1,pct:0,color:`var(--warning)`,dependsOn:4}],footer:`On track for an end-of-W8 GA; the billing integration is the critical path.`},bubble:{title:`Feature bets · reach × effort, sized by lift`,icon:`spark`,iconColor:`var(--insight)`,xLabel:`Effort (eng-weeks)`,yLabel:`Reach (% of users)`,xDomain:[0,14],yDomain:[0,100],categories:[{name:`Must ship`,color:`var(--insight)`},{name:`Fast follow`,color:`var(--presence)`},{name:`Later`,color:`var(--text-muted)`}],points:[{label:`Search rewrite`,x:11,y:92,size:60,cat:`Must ship`},{label:`Command bar`,x:5,y:74,size:38,cat:`Must ship`},{label:`Saved views`,x:4,y:61,size:30,cat:`Fast follow`},{label:`Instant filters`,x:3,y:58,size:26,cat:`Fast follow`},{label:`Theming`,x:6,y:22,size:14,cat:`Later`},{label:`Export v2`,x:8,y:18,size:12,cat:`Later`}],footer:`Top-left is the sweet spot, the command bar is the best reach-per-week after search.`},arearange:{title:`Nightly sleep, with your typical range`,icon:`moon`,iconColor:`var(--insight)`,unit:`h`,color:`var(--insight)`,points:[{label:`Mon`,value:7.1,lo:6.4,hi:7.8},{label:`Tue`,value:7.4,lo:6.6,hi:8},{label:`Wed`,value:6.9,lo:6.2,hi:7.6},{label:`Thu`,value:7.6,lo:6.9,hi:8.2},{label:`Fri`,value:7.2,lo:6.5,hi:7.9},{label:`Sat`,value:8.1,lo:7.3,hi:8.7},{label:`Sun`,value:7.7,lo:7,hi:8.3}],footer:`The band is your 30-day p25–p75, you stayed inside it all week, weekends running high.`},waffle:{title:`Body composition`,icon:`layers`,iconColor:`var(--presence-soft)`,cats:[{name:`Lean mass`,pct:62,color:`var(--presence)`},{name:`Water`,pct:20,color:`var(--presence-soft)`},{name:`Body fat`,pct:15,color:`var(--warning)`},{name:`Bone`,pct:3,color:`var(--text-muted)`}],footer:`15% body fat, athletic range. Each square is one percent.`},groupedbars:{title:`Net-new ARR by quarter × tier`,icon:`chart`,iconColor:`var(--insight)`,unit:`$k`,groups:[`Q3`,`Q4`,`Q1`,`Q2`],series:[{name:`SMB`,color:`var(--presence-soft)`,data:[120,140,150,168]},{name:`Mid-market`,color:`var(--presence)`,data:[210,250,280,348]},{name:`Enterprise`,color:`var(--insight)`,data:[180,230,270,308]}],footer:`Enterprise is now nearly even with mid-market on net-new, the mix is shifting up.`},bridge:{title:`Why net pay changed this month`,icon:`chart`,iconColor:`var(--presence)`,prefix:`$`,start:4200,end:4615,steps:[{label:`Quarterly bonus`,delta:900},{label:`Overtime hours`,delta:180},{label:`Higher tax bracket`,delta:-410},{label:`New 401(k) bump`,delta:-255}],footer:`The bonus did the lifting; a stiffer tax bracket and a bigger retirement contribution gave most of it back, for a net of <b>+$415</b>.`},calheat:{title:`Active days · last 13 weeks`,icon:`clock`,iconColor:`var(--presence)`,color:`var(--insight)`,weekdays:[``,`Mon`,``,`Wed`,``,`Fri`,``],days:[{level:4},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:4},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:4},{level:2},{level:1},{level:0},{level:2},{level:0},{level:1},{level:0},{level:1},{level:0},{level:0},{level:2},{level:0},{level:1},{level:0},{level:1},{level:0},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0},{level:3},{level:0},{level:2},{level:1},{level:2},{level:1},{level:0}],legend:[`Rest`,`Hard`],footer:`Thirteen weeks at a glance, the streak holds, with a deliberate taper in weeks 7–8.`},bump:{title:`West seeding race · by month`,icon:`chart`,iconColor:`var(--presence)`,periods:[`Nov`,`Dec`,`Jan`,`Feb`,`Mar`],series:[{label:`Thunder`,color:`var(--presence)`,ranks:[2,1,1,1,1]},{label:`Nuggets`,color:`var(--insight)`,ranks:[1,2,2,3,2]},{label:`Warriors`,color:`var(--warning)`,ranks:[5,4,4,2,3]},{label:`Wolves`,color:`var(--presence-soft)`,ranks:[3,3,3,4,4]},{label:`Lakers`,color:`var(--text-muted)`,ranks:[4,5,6,5,5]},{label:`Clippers`,color:`var(--danger)`,ranks:[6,6,5,6,6]}],footer:`The Thunder seized the top seed in December and never let go; the Warriors’ February surge is the real story.`},marimekko:{title:`ARR by segment × plan`,icon:`chart`,iconColor:`var(--presence)`,unit:`k`,columns:[{label:`Enterprise`,segments:[{label:`Annual`,value:1280},{label:`Monthly`,value:220}]},{label:`Mid-market`,segments:[{label:`Annual`,value:540},{label:`Monthly`,value:360}]},{label:`SMB`,segments:[{label:`Annual`,value:150},{label:`Monthly`,value:470}]}],footer:`Enterprise is the widest column and almost all annual; SMB is mostly month-to-month, which is exactly the revenue the price change put at risk.`},plot:{title:`Residual convergence`,icon:`chart`,iconColor:`var(--presence)`,xLabel:`iteration`,yLabel:`residual (×10⁻³)`,xDomain:[0,1900],yDomain:[0,10],origin:!0,curves:[{label:`continuity residual`,color:`var(--presence)`,points:[{x:0,y:9.5},{x:200,y:5},{x:400,y:2.6},{x:600,y:1.4},{x:800,y:.8},{x:1e3,y:.45},{x:1200,y:.25},{x:1400,y:.14},{x:1600,y:.08},{x:1840,y:.05}]}],markers:[{x:1840,y:.05,label:`tol 5e-5`,color:`var(--insight)`}],footer:`Clean exponential decay after the first ~300 iterations, the scheme is stable here.`},dualaxis:{title:`Hours studied vs. mock score`,categories:[`Wk1`,`Wk2`,`Wk3`,`Wk4`],bar:{name:`Hours`,data:[4,6,8,11],color:`var(--presence)`,unit:`h`},line:{name:`Mock %`,data:[55,61,68,74],color:`var(--warning)`,unit:`%`}},scatterregression:{title:`Sleep vs. recall`,xLabel:`Sleep (h)`,yLabel:`Recall %`,points:[{x:5,y:58},{x:6,y:64},{x:6.5,y:67},{x:7,y:72},{x:8,y:79},{x:8.5,y:83}]},dotplot:{title:`Weight Loss Distribution, STEP 1 Trial`,values:[3,5,7,8,9,10,11,12,13,14,15,16,18,20,24],label:`% body weight lost at 68 weeks`,color:`var(--presence)`,note:`Most participants lost 10–16%; the long right tail shows a subgroup exceeding 20%.`},controlchart:{title:`Adherence Rate, 8-Week Titration`,yLabel:`% on therapy`,centerLine:82,ucl:92,lcl:72,points:[{label:`W1`,value:98},{label:`W2`,value:94},{label:`W3`,value:88},{label:`W4`,value:84},{label:`W5`,value:79},{label:`W6`,value:75,outOfControl:!0},{label:`W7`,value:80},{label:`W8`,value:83}],note:`Week 6 dipped below the lower control limit, GI side-effects drove early discontinuation.`},areaplot:{title:`The definite integral as area: ∫₀² x² dx`,icon:`chart`,iconColor:`var(--presence)`,xLabel:`x`,yLabel:`y`,xDomain:[0,3],yDomain:[0,9],origin:!0,areaLabel:`area = 8/3 ≈ 2.67`,curves:[{label:`y = x²`,color:`var(--presence)`,points:[{x:0,y:0},{x:.1,y:.01},{x:.2,y:.04},{x:.3,y:.09},{x:.4,y:.16},{x:.5,y:.25},{x:.6,y:.36},{x:.7,y:.49},{x:.8,y:.64},{x:.9,y:.81},{x:1,y:1},{x:1.1,y:1.21},{x:1.2,y:1.44},{x:1.3,y:1.69},{x:1.4,y:1.96},{x:1.5,y:2.25},{x:1.6,y:2.56},{x:1.7,y:2.89},{x:1.8,y:3.24},{x:1.9,y:3.61},{x:2,y:4},{x:2.1,y:4.41},{x:2.2,y:4.84},{x:2.3,y:5.29},{x:2.4,y:5.76},{x:2.5,y:6.25},{x:2.6,y:6.76},{x:2.7,y:7.29},{x:2.8,y:7.84},{x:2.9,y:8.41},{x:3,y:9}]}],shade:{from:`axis`,to:0,x0:0,x1:2},rects:{n:4,rule:`mid`},footer:`The shaded region is the integral. Four midpoint rectangles already estimate it at <b>2.63</b> — letting the width shrink toward zero converges to the exact <b>8/3 ≈ 2.67</b>.`},supplydemand:{title:`Coffee market equilibrium`,icon:`chart`,iconColor:`var(--presence)`,pricePrefix:`$`,priceLabel:`Price ($/lb)`,quantityLabel:`Quantity (k lbs)`,supply:{intercept:2,slope:.5},demand:{intercept:14,slope:-.7},region:`consumer`,footer:`Where the curves cross, the market clears: <b>P* = $7/lb</b> at <b>Q* = 10k lbs</b>. The shaded wedge is consumer surplus &mdash; the gap between what buyers would have paid and the $7 they actually do.`},bigo:{title:`How algorithm cost grows with input`,icon:`chart`,iconColor:`var(--presence)`,classes:[`o-1`,`o-logn`,`o-n`,`o-nlogn`,`o-n2`,`o-2n`],maxN:16,highlight:`o-nlogn`,algorithm:{name:`merge sort`,complexity:`o-nlogn`},xLabel:`input size (n)`,yLabel:`operations`,footer:`Binary search hugs the floor at O(log n), merge sort scales gracefully at O(n log n), but a brute-force O(2&#8319;) approach is already ~65,000 steps at n = 16 &mdash; it leaves the chart entirely.`},errorbars:{title:`HbA1c Reduction by Semaglutide Dose (SUSTAIN-7)`,yLabel:`HbA1c change (%)`,unit:`%`,groups:[{label:`Placebo`,mean:-.1,ci:.12,color:`var(--text-muted)`},{label:`0.5 mg`,mean:-1.5,ci:.13,color:`var(--insight)`},{label:`1.0 mg`,mean:-1.8,ci:.13,color:`var(--presence)`}],reference:{value:0,label:`no change`},bracket:{from:0,to:2,label:`p < 0.0001`},footer:`Both doses cut HbA1c far more than placebo, and the two confidence intervals barely overlap &mdash; the 1.0&nbsp;mg arm is reliably stronger than 0.5&nbsp;mg.`},eratimeline:{title:`Classical antiquity: Greece, Rome, and China side by side`,icon:`clock`,iconColor:`var(--presence)`,min:-500,max:500,tracks:[{label:`Greece`,color:`var(--presence)`,spans:[{label:`Classical`,start:-480,end:-323},{label:`Hellenistic`,start:-323,end:-31}],events:[{at:-323,label:`Alexander dies`}]},{label:`Rome`,color:`var(--insight)`,spans:[{label:`Republic`,start:-509,end:-27},{label:`Empire (West)`,start:-27,end:476}],events:[{at:-44,label:`Caesar killed`}]},{label:`China`,color:`var(--warning)`,spans:[{label:`Qin`,start:-221,end:-206},{label:`Han`,start:-206,end:220}],events:[{at:-221,label:`Great Wall unified`}]}],footer:`Read down a year to see what was happening at once: when Rome turned from Republic to Empire around <b>27 BCE</b>, China was a century into the Han dynasty and Hellenistic Greece was ending at Actium.`},payoffdiagram:{title:`Bull call spread on the underlying`,icon:`chart`,iconColor:`var(--presence)`,pricePrefix:`$`,spot:101,legs:[{type:`call`,position:`long`,strike:100,premium:6},{type:`call`,position:`short`,strike:110,premium:2.5}],footer:`Buy the $100 call and sell the $110 call for a net debit of <b>$3.50</b>. That caps both ends: the loss can&rsquo;t exceed the $3.50 paid (below $100), and the profit tops out at <b>$6.50</b> (above $110). It turns positive at the break-even of <b>$103.50</b> &mdash; the lower strike plus the debit.`},phasediagram:{title:`The phase diagram of water`,icon:`spark`,iconColor:`var(--presence)`,tUnit:`K`,pUnit:`atm`,tDomain:[180,700],pDomain:[0,240],boundaries:[{kind:`sublimation`,label:`Sublimation (solid⇌gas)`,color:`var(--insight)`,points:[{t:180,p:0},{t:220,p:6e-4},{t:250,p:8e-4},{t:273.16,p:.006}]},{kind:`fusion`,label:`Fusion (solid⇌liquid) — note the negative slope`,color:`var(--presence)`,points:[{t:273.16,p:.006},{t:269,p:60},{t:264,p:140},{t:259,p:240}]},{kind:`vaporization`,label:`Vaporization (liquid⇌gas)`,color:`var(--warning)`,points:[{t:273.16,p:.006},{t:373.15,p:1},{t:450,p:9},{t:550,p:60},{t:620,p:160},{t:647.1,p:218}]}],triplePoint:{t:273.16,p:.006},criticalPoint:{t:647.1,p:218},regions:[{t:235,p:150,phase:`solid`,label:`Solid (ice)`,color:`var(--insight)`},{t:420,p:175,phase:`liquid`,label:`Liquid`,color:`var(--presence)`},{t:500,p:30,phase:`gas`,label:`Gas (vapour)`,color:`var(--warning)`},{t:665,p:232,phase:`supercritical`,label:`Supercritical fluid`,color:`var(--danger)`,anchor:`end`}],footer:`Water&rsquo;s fusion line tilts slightly LEFT as pressure rises &mdash; a rare negative slope, because ice is less dense than liquid water, so squeezing it melts it. The triple point (273.16&nbsp;K, 0.006&nbsp;atm) is where all three phases coexist; past the critical point (647.1&nbsp;K, 218&nbsp;atm) liquid and gas merge into one supercritical fluid.`},indifferencecurve:{title:`Consumer choice: the optimal bundle`,icon:`chart`,iconColor:`var(--presence)`,xLabel:`Good X (units)`,yLabel:`Good Y (units)`,curves:[{label:`U₁`,points:[{x:1.14,y:10.53},{x:1.6,y:7.5},{x:2.2,y:5.45},{x:3,y:4},{x:4,y:3},{x:5.2,y:2.31},{x:6.8,y:1.76},{x:8.6,y:1.4},{x:10.6,y:1.13},{x:13,y:.92}]},{label:`U₂`,points:[{x:2.29,y:10.48},{x:2.8,y:8.57},{x:3.4,y:7.06},{x:4,y:6},{x:4.8,y:5},{x:6,y:4},{x:7.2,y:3.33},{x:8.6,y:2.79},{x:10.2,y:2.35},{x:11.6,y:2.07},{x:13,y:1.85}]},{label:`U₃`,points:[{x:3.81,y:10.5},{x:4.5,y:8.89},{x:5.4,y:7.41},{x:6.5,y:6.15},{x:7.8,y:5.13},{x:9.2,y:4.35},{x:10.6,y:3.77},{x:11.8,y:3.39},{x:13,y:3.08}]}],budget:{intercept:8,slope:-.6667},optimal:{x:6,y:4,label:`(6, 4)`},yMax:11,footer:`With income <b>$24</b> and prices <b>P<sub>X</sub> = $2</b>, <b>P<sub>Y</sub> = $3</b>, the budget line just touches <b>U₂</b> at <b>(6, 4)</b> &mdash; the best bundle the consumer can afford. There the slope of the indifference curve (the MRS) equals the price ratio <b>2/3</b>; U₃ is preferred but unreachable, and U₁ leaves utility on the table.`},breakeven:{title:`Break-even on the new team plan`,icon:`chart`,iconColor:`var(--presence)`,currency:`$`,unit:`seats`,fixedCost:18e3,pricePerUnit:49,costPerUnit:13,footer:`Each seat clears <b>$36</b> after the costs that scale with it, so the $18k of fixed monthly cost is covered at <b>500 seats</b> — anything past that is profit. We crossed it last week, which is why this month finally turns black.`},burnrunway:{title:`Cash burn & runway`,icon:`chart`,iconColor:`var(--warning)`,currency:`$`,initialCash:84e5,months:[{label:`Aug`,burn:44e4},{label:`Sep`,burn:455e3},{label:`Oct`,burn:46e4},{label:`Nov`,burn:47e4},{label:`Dec`,burn:48e4},{label:`Jan`,burn:49e4},{label:`Feb`,burn:495e3},{label:`Mar`,burn:505e3}],footer:`18.4 months at current burn · well past the next product milestone. Headcount is 62 % of spend.`},loaddiagram:{title:`Simply-supported beam: central point load`,icon:`layers`,iconColor:`var(--presence)`,span:8,unit:`kN`,supports:[{at:0,kind:`pin`},{at:8,kind:`roller`}],loads:[{kind:`point`,at:4,mag:20,label:`P = 20 kN`}],shear:[{x:0,v:10},{x:4,v:10},{x:4,v:-10},{x:8,v:-10}],moment:[{x:0,m:0},{x:1,m:10},{x:2,m:20},{x:3,m:30},{x:4,m:40},{x:5,m:30},{x:6,m:20},{x:7,m:10},{x:8,m:0}],caption:`Reactions split the 20 kN load evenly (R = P/2 = 10 kN), so shear steps from +10 to −10 under the load; the moment is a triangle peaking at Mmax = PL/4 = 40 kN·m at mid-span.`},ecgstrip:{title:`Rhythm strip · lead II`,iconColor:`var(--danger)`,rateBpm:72,rhythm:`Normal sinus rhythm`,gridMs:40,intervals:[{label:`PR`,fromMs:125,toMs:285},{label:`QRS`,fromMs:300,toMs:390},{label:`QT`,fromMs:300,toMs:700}],caption:`Regular, narrow-complex, every P followed by a QRS — sinus at 72. PR 160 ms, QRS 90 ms, QT 400 ms all within normal limits.`},vitalstrip:{title:`Bedside monitor`,iconColor:`var(--presence)`,windowLabel:`last 30 min`,channels:[{label:`HR`,unit:`bpm`,normal:[60,100],series:[108,104,99,96,94,92,90,88,89,92]},{label:`BP (sys)`,unit:`mmHg`,normal:[90,140],series:[126,124,122,121,120,119,118,118,117,118]},{label:`SpO₂`,unit:`%`,color:`var(--warning)`,normal:[94,100],series:[96,95,95,94,93,92,92,93,92,91]},{label:`RR`,unit:`/min`,normal:[12,20],series:[22,21,21,20,20,19,20,19,20,20]}],caption:`SpO₂ has slipped to 91% on 2 L — below the 94–100% band and flagged. HR settling back into range as the fever breaks.`},growthcurve:{title:`Weight-for-age · boys, 0–12 months`,iconColor:`var(--presence)`,metric:`weight`,unit:`kg`,ageUnit:`months`,percentiles:[{p:3,points:[{age:0,value:2.5},{age:2,value:4.4},{age:4,value:5.6},{age:6,value:6.4},{age:9,value:7.1},{age:12,value:7.7}]},{p:15,points:[{age:0,value:2.9},{age:2,value:5},{age:4,value:6.2},{age:6,value:7.1},{age:9,value:7.9},{age:12,value:8.6}]},{p:50,points:[{age:0,value:3.3},{age:2,value:5.6},{age:4,value:7},{age:6,value:7.9},{age:9,value:8.9},{age:12,value:9.6}]},{p:85,points:[{age:0,value:3.9},{age:2,value:6.3},{age:4,value:7.8},{age:6,value:8.8},{age:9,value:9.9},{age:12,value:10.8}]},{p:97,points:[{age:0,value:4.4},{age:2,value:7},{age:4,value:8.6},{age:6,value:9.7},{age:9,value:11},{age:12,value:12}]}],plotted:[{age:0,value:3.4},{age:2,value:5.7},{age:4,value:7.1},{age:6,value:8},{age:9,value:9},{age:12,value:9.7}],caption:`Every measurement lands right on the 50th-percentile curve — steady tracking along one band, not the absolute number, is what reassures.`},sleepcycle:{title:`A typical night · hypnogram`,iconColor:`var(--presence)`,bedtime:`11:00 PM`,wake:`7:00 AM`,cycles:5,stages:[{stage:`awake`,fromMin:0,toMin:8},{stage:`light`,fromMin:8,toMin:22},{stage:`deep`,fromMin:22,toMin:62},{stage:`light`,fromMin:62,toMin:80},{stage:`rem`,fromMin:80,toMin:90},{stage:`light`,fromMin:90,toMin:110},{stage:`deep`,fromMin:110,toMin:150},{stage:`light`,fromMin:150,toMin:167},{stage:`rem`,fromMin:167,toMin:185},{stage:`light`,fromMin:185,toMin:205},{stage:`deep`,fromMin:205,toMin:235},{stage:`light`,fromMin:235,toMin:252},{stage:`rem`,fromMin:252,toMin:277},{stage:`awake`,fromMin:277,toMin:283},{stage:`light`,fromMin:283,toMin:318},{stage:`deep`,fromMin:318,toMin:333},{stage:`light`,fromMin:333,toMin:350},{stage:`rem`,fromMin:350,toMin:382},{stage:`light`,fromMin:382,toMin:400},{stage:`rem`,fromMin:400,toMin:440},{stage:`light`,fromMin:440,toMin:460},{stage:`awake`,fromMin:460,toMin:480}],caption:`Deep sleep dominates the first two cycles; REM bouts lengthen toward morning — 10 min early on, 40 min in the final cycle.`},seasonband:{title:`Produce in season through the year`,icon:`spark`,iconColor:`var(--presence)`,nowMonth:6,rows:[{label:`Asparagus`,windows:[{from:3,to:6,kind:`available`},{from:4,to:5,kind:`peak`}],note:`Best snapped fresh in mid-spring; flavour fades fast after picking.`},{label:`Tomatoes`,windows:[{from:6,to:10,kind:`available`},{from:7,to:9,kind:`peak`}],note:`Vine-ripened and sweetest at the height of summer.`},{label:`Winter squash`,windows:[{from:9,to:12,kind:`available`},{from:1,to:2,kind:`available`},{from:10,to:11,kind:`peak`}],note:`Harvested in autumn, it keeps for months in a cool pantry.`}],caption:`Northern-hemisphere harvest windows; the dashed line marks the current month.`},roccurve:{title:`ROC curves — billing vs. non-billing`,icon:`chart`,iconColor:`var(--presence)`,curves:[{name:`Transformer-v3`,auc:.981,color:`var(--presence)`,points:[{fpr:0,tpr:0},{fpr:.01,tpr:.45},{fpr:.02,tpr:.68},{fpr:.03,tpr:.79},{fpr:.05,tpr:.87},{fpr:.08,tpr:.92},{fpr:.12,tpr:.95},{fpr:.2,tpr:.97},{fpr:.3,tpr:.98},{fpr:.5,tpr:.99},{fpr:1,tpr:1}]},{name:`Baseline (BERT-large)`,auc:.943,color:`var(--text-muted)`,points:[{fpr:0,tpr:0},{fpr:.02,tpr:.32},{fpr:.05,tpr:.58},{fpr:.1,tpr:.73},{fpr:.15,tpr:.82},{fpr:.25,tpr:.89},{fpr:.4,tpr:.93},{fpr:.6,tpr:.96},{fpr:.8,tpr:.98},{fpr:1,tpr:1}]}],footer:`Transformer-v3 AUC 0.981 vs. baseline 0.943. Binary: billing vs. all other categories.`},surfaceplot:{title:`z = e^−(x²+y²) · Gaussian bell`,icon:`chart`,iconColor:`var(--presence)`,mode:`contour`,levels:7,xLabel:`x`,yLabel:`y`,grid:[[.14,.26,.35,.35,.26,.14],[.26,.49,.67,.67,.49,.26],[.35,.67,.92,.92,.67,.35],[.35,.67,.92,1,.67,.35],[.26,.49,.67,.67,.49,.26],[.14,.26,.35,.35,.26,.14]],caption:`The Gaussian bell surface — a model for probability density, heat diffusion, and the normal distribution.`},gradientdescent:{title:`Training run: loss surface for the routing head`,icon:`chart`,iconColor:`var(--warning)`,learningRate:.15,contour:[[{x:-2,y:-2,z:6.43},{x:-1.33,y:-2,z:4.97},{x:-.67,y:-2,z:3.98},{x:0,y:-2,z:3.43},{x:.67,y:-2,z:3.31},{x:1.33,y:-2,z:3.64},{x:2,y:-2,z:4.43}],[{x:-2,y:-1.33,z:4.24},{x:-1.33,y:-1.33,z:2.79},{x:-.67,y:-1.33,z:1.8},{x:0,y:-1.33,z:1.24},{x:.67,y:-1.33,z:1.13},{x:1.33,y:-1.33,z:1.46},{x:2,y:-1.33,z:2.24}],[{x:-2,y:-.67,z:3.32},{x:-1.33,y:-.67,z:1.86},{x:-.67,y:-.67,z:.87},{x:0,y:-.67,z:.32},{x:.67,y:-.67,z:.2},{x:1.33,y:-.67,z:.53},{x:2,y:-.67,z:1.32}],[{x:-2,y:0,z:3.63},{x:-1.33,y:0,z:2.17},{x:-.67,y:0,z:1.18},{x:0,y:0,z:.63},{x:.67,y:0,z:.51},{x:1.33,y:0,z:.84},{x:2,y:0,z:1.63}],[{x:-2,y:.67,z:5.19},{x:-1.33,y:.67,z:3.74},{x:-.67,y:.67,z:2.75},{x:0,y:.67,z:2.19},{x:.67,y:.67,z:2.08},{x:1.33,y:.67,z:2.41},{x:2,y:.67,z:3.19}],[{x:-2,y:1.33,z:7.96},{x:-1.33,y:1.33,z:6.51},{x:-.67,y:1.33,z:5.52},{x:0,y:1.33,z:4.96},{x:.67,y:1.33,z:4.85},{x:1.33,y:1.33,z:5.18},{x:2,y:1.33,z:5.96}],[{x:-2,y:2,z:12.03},{x:-1.33,y:2,z:10.57},{x:-.67,y:2,z:9.58},{x:0,y:2,z:9.03},{x:.67,y:2,z:8.91},{x:1.33,y:2,z:9.24},{x:2,y:2,z:10.03}]],path:[{x:-1.5,y:1.5,step:0},{x:-1.2,y:.1,step:1},{x:-.9,y:-.9,step:2},{x:-.7,y:-.2,step:3},{x:-.5,y:-.7,step:4},{x:-.2,y:-.4,step:5},{x:.1,y:-.55,step:6},{x:.35,y:-.48,step:7},{x:.5,y:-.5,step:8}],footer:`The two weights don't share a curvature — the optimizer zigzags across the steep axis while creeping along the shallow one, the classic ravine shape a learning-rate sweep is meant to fix.`},biasvariance:{title:`Overfitting check: routing-tree depth`,icon:`chart`,iconColor:`var(--presence)`,complexity:[1,2,3,4,5,6,7,8,9,10],trainError:[.42,.31,.24,.19,.15,.12,.09,.07,.05,.03],testError:[.46,.34,.27,.22,.19,.18,.2,.24,.3,.38],sweetSpot:6,footer:`Chosen the small routing tree at depth 6 — deeper trees fit training tickets better but generalize worse on next month's traffic.`},timeseriesdecomposition:{title:`Monthly revenue, decomposed`,icon:`layers`,iconColor:`var(--presence)`,dates:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],observed:[5.52,5.63,6.26,5.78,6.07,6.51,6.23,6.42,7.02,6.52,6.8,7.25],trend:[5.62,5.71,5.83,5.95,6.08,6.22,6.35,6.48,6.6,6.71,6.83,6.95],seasonal:[-.15,-.05,.35,-.15,-.05,.35,-.15,-.05,.35,-.15,-.05,.35],residual:[.05,-.03,.08,-.02,.04,-.06,.03,-.01,.07,-.04,.02,-.05],footer:`The trend explains the steady climb; the seasonal component isolates the quarter-close bump so the residual noise left over is small and unpatterned — no hidden driver left on the table.`},precisionrecallcurve:{title:`Precision-recall — billing is only 8% of volume`,icon:`chart`,iconColor:`var(--presence)`,avgPrecision:.91,curves:[{label:`Transformer-v3`,color:`var(--presence)`,points:[{recall:0,precision:1},{recall:.1,precision:.99},{recall:.2,precision:.97},{recall:.3,precision:.96},{recall:.4,precision:.95},{recall:.5,precision:.93},{recall:.6,precision:.91},{recall:.7,precision:.88},{recall:.8,precision:.83},{recall:.9,precision:.74},{recall:1,precision:.58}]},{label:`Baseline (BERT-large)`,color:`var(--text-muted)`,points:[{recall:0,precision:1},{recall:.1,precision:.95},{recall:.2,precision:.9},{recall:.3,precision:.85},{recall:.4,precision:.79},{recall:.5,precision:.72},{recall:.6,precision:.64},{recall:.7,precision:.55},{recall:.8,precision:.45},{recall:.9,precision:.33},{recall:1,precision:.18}]}],footer:`ROC AUC looked close (0.981 vs 0.943), but on the minority billing class PR tells the real story — v3's average precision (0.91) holds up far better as recall climbs.`},chromatogram:{title:`Aspirin synthesis, HPLC purity check`,icon:`chart`,iconColor:`var(--insight)`,method:`HPLC · C18 reversed-phase, 1.0 mL/min, UV 254 nm`,trace:[{t:0,signal:2},{t:.3,signal:2},{t:.6,signal:3},{t:.9,signal:7},{t:1.2,signal:18},{t:1.5,signal:36},{t:1.8,signal:47},{t:2.1,signal:34},{t:2.4,signal:16},{t:2.7,signal:6},{t:3,signal:2},{t:3.3,signal:3},{t:3.6,signal:9},{t:3.9,signal:28},{t:4.2,signal:95},{t:4.5,signal:150},{t:4.8,signal:100},{t:5.1,signal:40},{t:5.4,signal:14},{t:5.7,signal:5},{t:6,signal:2}],peaks:[{rt:1.8,label:`Salicylic acid`,areaPct:22.4,height:47},{rt:4.5,label:`Acetylsalicylic acid`,areaPct:77.6,height:150}],footer:`78% of the peak area is your aspirin product, the rest is unreacted salicylic acid, worth another recrystallization pass.`},stressstraincurve:{title:`Mild steel, tensile test`,icon:`chart`,iconColor:`var(--presence)`,curve:[{strain:0,stress:0},{strain:7e-4,stress:150},{strain:.0012,stress:230},{strain:.0014,stress:250},{strain:.02,stress:270},{strain:.05,stress:320},{strain:.09,stress:370},{strain:.13,stress:400},{strain:.18,stress:370},{strain:.22,stress:320},{strain:.25,stress:290}],yieldPoint:{strain:.0014,stress:250},ultimatePoint:{strain:.13,stress:400},fracturePoint:{strain:.25,stress:290},footer:`Yields at 250 MPa, keeps hardening to 400 MPa, then necks and drops to 290 MPa at fracture.`},gatingplot:{title:`T-cell subsets, flow cytometry`,icon:`chart`,iconColor:`var(--insight)`,xLabel:`CD4-FITC`,yLabel:`CD8-PE`,xScale:`log`,yScale:`log`,points:[{x:20,y:18},{x:35,y:22},{x:18,y:40},{x:50,y:35},{x:28,y:55},{x:45,y:48},{x:900,y:30,gate:0},{x:1200,y:50,gate:0},{x:1500,y:38,gate:0},{x:1800,y:45,gate:0},{x:2100,y:55,gate:0},{x:2400,y:35,gate:0},{x:2700,y:60,gate:0},{x:3e3,y:42,gate:0},{x:1650,y:28,gate:0},{x:35,y:1200,gate:1},{x:50,y:1500,gate:1},{x:40,y:1800,gate:1},{x:45,y:2200,gate:1},{x:55,y:2600,gate:1},{x:38,y:2900,gate:1},{x:60,y:3200,gate:1},{x:42,y:1900,gate:1},{x:30,y:2500,gate:1}],gates:[{name:`CD4+ helper T`,shape:`ellipse`,region:[[1800,45],[1500,30]],pctOfParent:38.4,color:`var(--presence)`},{name:`CD8+ cytotoxic T`,shape:`ellipse`,region:[[45,2200],[30,1800]],pctOfParent:24.1,color:`var(--insight)`}],footer:`38% of live lymphocytes are CD4+ helper T cells, 24% are CD8+ cytotoxic — a normal CD4:CD8 ratio near 1.6.`},gellane:{title:`PCR product check, 1% agarose gel`,icon:`layers`,iconColor:`var(--insight)`,ladder:{unit:`bp`,marks:[1500,1e3,900,800,700,600,500,400,300,200,100]},lanes:[{label:`Sample A · gene X`,bands:[{pos:.54,intensity:.9,sizeLabel:`350 bp`}]},{label:`Sample B · gene Y`,bands:[{pos:.33,intensity:.85,sizeLabel:`620 bp`},{pos:.92,intensity:.22}]},{label:`Sample C · gene Z`,bands:[{pos:.85,intensity:.8,sizeLabel:`150 bp`}]},{label:`NTC · no template`,bands:[]}],footer:`All three primer pairs amplified at the expected size, the no-template control stayed clean, no contamination.`},flightchart:{title:`Marketing media flights · Q2`,icon:`clock`,iconColor:`var(--presence)`,currency:`USD`,channels:[{name:`Paid Search`,color:`var(--presence)`},{name:`Paid Social`,color:`var(--insight)`},{name:`Display`,color:`var(--warning)`},{name:`Email`,color:`var(--presence-soft)`}],flights:[{channel:`Paid Search`,start:0,span:13,budget:86e3},{channel:`Paid Social`,start:0,span:6,budget:42e3},{channel:`Paid Social`,start:8,span:5,budget:34e3},{channel:`Display`,start:2,span:4,budget:21e3},{channel:`Display`,start:9,span:3,budget:15e3},{channel:`Email`,start:0,span:13,budget:9e3}],totalBudget:207e3,footer:`Search stays always-on; Social paused weeks 7-8 to swap creative before relaunching.`},paybandchart:{title:`Head of Customer Success, comp band`,icon:`chart`,iconColor:`var(--insight)`,role:`Head of Customer Success · L6`,min:165e3,mid:195e3,max:23e4,currency:`USD`,markers:[{name:`Priya N. · offer`,value:205e3},{name:`Marcus D. · CS lead`,value:178e3},{name:`Elena V. · CS lead`,value:149e3,flag:!0}],footer:`Priya’s offer lands above mid, in line with her panel scores. <b>Elena sits below band</b>, an equity-watch case from her last off-cycle promo.`},linebalance:{title:`Bookcase assembly line — station balance`,icon:`chart`,iconColor:`var(--presence)`,takt:90,unit:`s`,stations:[{name:`Panel cut + edge-band`,cycleTime:74},{name:`Dowel + glue-up`,cycleTime:82},{name:`Clamp + cure`,cycleTime:68},{name:`Hardware install`,cycleTime:101,bottleneck:!0},{name:`Inspect + pack`,cycleTime:58}],footer:`Demand sets a <b>90s takt</b>; hardware install runs 101s and is the one station pulling the line behind schedule.`},epicurve:{title:`Local flu + RSV activity this season`,icon:`chart`,iconColor:`var(--presence-soft)`,cases:[{period:`Wk 1`,count:40,classification:`confirmed`},{period:`Wk 1`,count:22,classification:`probable`},{period:`Wk 2`,count:58,classification:`confirmed`},{period:`Wk 2`,count:30,classification:`probable`},{period:`Wk 3`,count:86,classification:`confirmed`},{period:`Wk 3`,count:34,classification:`probable`},{period:`Wk 4`,count:101,classification:`confirmed`},{period:`Wk 4`,count:28,classification:`probable`},{period:`Wk 5`,count:79,classification:`confirmed`},{period:`Wk 5`,count:21,classification:`probable`},{period:`Wk 6`,count:52,classification:`confirmed`},{period:`Wk 6`,count:15,classification:`probable`}],threshold:{value:100,label:`Elevated-activity threshold`},phases:[{label:`School break`,period:`Wk 5`}],footer:`This season peaked right at the elevated-activity line, then eased once school let out for break, a <b>typical</b> shape, not an unusual spike.`},pareto:{title:`Cancellation reasons, ranked`,icon:`chart`,iconColor:`var(--warning)`,unit:` tickets`,bars:[{label:`Price increase`,value:180},{label:`Cheaper tool`,value:45},{label:`Onboarding`,value:20},{label:`Missing feature`,value:12},{label:`Billing error`,value:8},{label:`Support delay`,value:4},{label:`Other`,value:3}],footer:`The first two reasons already clear <b>80%</b> of cancellations — pricing is the fix that matters most.`},populationpyramid:{title:`Japan's population by age`,icon:`chart`,iconColor:`var(--presence)`,leftLabel:`Male`,rightLabel:`Female`,unit:`M`,bands:[{label:`80+`,left:3.1,right:5.2},{label:`60-79`,left:14.8,right:16.5},{label:`40-59`,left:16.2,right:15.9},{label:`20-39`,left:12.1,right:11.6},{label:`0-19`,left:9.8,right:9.3}],footer:`The bulge sits at 40-79, not 0-19 — a shrinking base is the shape of a population that&rsquo;s aging faster than it&rsquo;s renewing.`},parallelcoordinates:{title:`Iris dataset: four measurements, three species`,icon:`sliders`,iconColor:`var(--insight)`,axes:[{key:`sepalLength`,label:`Sepal length`},{key:`sepalWidth`,label:`Sepal width`},{key:`petalLength`,label:`Petal length`},{key:`petalWidth`,label:`Petal width`}],lines:[{label:`setosa`,color:`var(--presence)`,values:{sepalLength:5.1,sepalWidth:3.5,petalLength:1.4,petalWidth:.2}},{label:`versicolor`,color:`var(--insight)`,values:{sepalLength:6.4,sepalWidth:3.2,petalLength:4.5,petalWidth:1.5}},{label:`virginica`,color:`var(--warning)`,values:{sepalLength:6.9,sepalWidth:3.1,petalLength:5.4,petalWidth:2.1}}]},scatterplotmatrix:{title:`Every candidate run, pairwise`,icon:`table`,iconColor:`var(--insight)`,color:`var(--insight)`,vars:[`accuracy`,`latency_ms`,`model_size_mb`,`val_loss`],rows:[{accuracy:.82,latency_ms:38,model_size_mb:110,val_loss:.31},{accuracy:.85,latency_ms:52,model_size_mb:180,val_loss:.27},{accuracy:.88,latency_ms:71,model_size_mb:340,val_loss:.21},{accuracy:.91,latency_ms:96,model_size_mb:520,val_loss:.16},{accuracy:.9,latency_ms:210,model_size_mb:1400,val_loss:.17},{accuracy:.79,latency_ms:24,model_size_mb:60,val_loss:.35}],footer:`The accuracy/val_loss pair falls on a clean downward line; the 1400 MB run buys almost no accuracy over the 520 MB one for triple the latency.`},pictogramchart:{title:`Lisbon in June, typical days`,icon:`sun`,iconColor:`var(--warning)`,unitValue:1,categories:[{label:`Sunny`,count:18,icon:`sun`,color:`var(--warning)`},{label:`Partly cloudy`,count:8,icon:`cloud`,color:`var(--presence-soft)`},{label:`Rainy`,count:4,icon:`rain`,color:`var(--presence)`}],footer:`Pack for sun with a light layer for the evenings, rain gear is a backup, not the plan.`},qqplot:{title:`Normality check · exam scores`,icon:`chart`,iconColor:`var(--insight)`,values:[58,61,63,65,67,68,70,71,72,73,74,75,76,77,78,79,81,83,85,88,92],distribution:`normal`,xlabel:`Theoretical quantiles`,ylabel:`Sample quantiles`},samplingdistribution:{title:`Central limit theorem`,icon:`chart`,iconColor:`var(--presence)`,population:{shape:`skewed`},sampleSize:30,numSamples:200},hrdiagram:{title:`Bright neighbors on the H–R diagram`,icon:`sun`,stars:[{name:`Rigel`,tempK:12100,luminosity:12e4,stage:`supergiant`},{name:`Deneb`,tempK:8525,luminosity:196e3,stage:`supergiant`},{name:`Betelgeuse`,tempK:3600,luminosity:126e3,stage:`supergiant`},{name:`Spica`,tempK:22400,luminosity:20500,stage:`main-sequence`},{name:`Aldebaran`,tempK:3900,luminosity:439,stage:`giant`},{name:`Arcturus`,tempK:4286,luminosity:170,stage:`giant`},{name:`Pollux`,tempK:4666,luminosity:43,stage:`giant`},{name:`Vega`,tempK:9602,luminosity:40,stage:`main-sequence`},{name:`Sirius A`,tempK:9940,luminosity:25.4,stage:`main-sequence`},{name:`Alpha Centauri A`,tempK:5790,luminosity:1.52,stage:`main-sequence`},{name:`Tau Ceti`,tempK:5344,luminosity:.52,stage:`main-sequence`},{name:`Sirius B`,tempK:25200,luminosity:.056,stage:`white-dwarf`},{name:`Barnard's Star`,tempK:3134,luminosity:.0035,stage:`main-sequence`},{name:`Proxima Centauri`,tempK:3042,luminosity:.0017,stage:`main-sequence`},{name:`Procyon B`,tempK:7740,luminosity:49e-5,stage:`white-dwarf`}],highlight:`Betelgeuse`,footer:`Stars spend ~90% of their lives on the diagonal main sequence fusing hydrogen — Betelgeuse has already left it, swelling into a red supergiant.`},ternaryplot:{title:`Soil texture triangle`,icon:`layers`,unit:`%`,axes:{a:`Clay`,b:`Sand`,c:`Silt`},zones:[{label:`Clay`,vertices:[{a:100,b:0,c:0},{a:55,b:45,c:0},{a:40,b:45,c:15},{a:40,b:20,c:40},{a:60,b:0,c:40}]},{label:`Loam`,vertices:[{a:27,b:45,c:28},{a:7,b:52,c:41},{a:7,b:43,c:50},{a:27,b:23,c:50}]},{label:`Sand`,vertices:[{a:0,b:100,c:0},{a:10,b:90,c:0},{a:0,b:85,c:15}]},{label:`Silt`,vertices:[{a:0,b:20,c:80},{a:12,b:8,c:80},{a:0,b:0,c:100}]}],points:[{label:`Raised bed`,a:18,b:42,c:40},{label:`Backyard subsoil`,a:48,b:22,c:30},{label:`Play sand`,a:3,b:92,c:5},{label:`Riverbank deposit`,a:8,b:12,c:80}],footer:`Classes simplified from the USDA texture triangle — a mason-jar settling test gives you all three percentages at home.`},parliamentseats:{title:`German Bundestag — 2021 election`,icon:`globe`,parties:[{name:`Linke`,seats:39,color:`var(--presence-deep)`},{name:`SPD`,seats:206,color:`var(--danger)`},{name:`Greens`,seats:118,color:`var(--insight)`},{name:`SSW`,seats:1,color:`var(--insight-soft)`},{name:`FDP`,seats:92,color:`var(--warning)`},{name:`CDU/CSU`,seats:197,color:`var(--text-muted)`},{name:`AfD`,seats:83,color:`var(--presence)`}],totalLabel:`seats`,footer:`A majority needs 369 of 736 seats — the SPD–Green–FDP coalition combined for 416.`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{u as a,d as i,o as n,c as r,s as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./verbatim-CBMzUDlf.js";function t(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function n(e){return e.trim().replace(/^https?:\/\//i,``).replace(/^www\./i,``).split(/[?#]/)[0].replace(/\/+$/,``).toLowerCase()}function r(r,i){let a=(r.citationQuote??``).trim(),o=(r.citationUrl??``).trim();if(!a||!o)return null;let s=n(o);for(let o of i)if(n(o.url)===s&&e(a,`${o.title} ${o.snippet}`)){let e=o.date||r.citationDate?.trim();return{quote:a,url:o.url,host:t(o.url),...e?{date:e}:{}}}return null}export{t as n,r as t};
@@ -0,0 +1,8 @@
1
+ var e={componentapi:{title:`Button API`,icon:`sliders`,iconColor:`var(--insight)`,component:`<Button>`,props:[{name:`variant`,type:`'primary' | 'ghost' | 'danger'`,required:!1,default:`'primary'`,desc:`Visual style of the button.`},{name:`size`,type:`'sm' | 'md' | 'lg'`,required:!1,default:`'md'`,desc:`Controls padding and font size.`},{name:`onClick`,type:`(e: MouseEvent) => void`,required:!0,desc:`Handler fired when the button is pressed.`},{name:`disabled`,type:`boolean`,required:!1,default:`false`,desc:`Greys out the button and blocks clicks.`},{name:`children`,type:`ReactNode`,required:!0,desc:`The button label or contents.`}],footer:`Only onClick and children are required, everything else has a sensible default.`},stacktrace:{title:`Error Explained`,icon:`alert`,iconColor:`var(--warning)`,errorType:`TypeError`,message:`Cannot read properties of undefined (reading 'map')`,frames:[{file:`src/components/StarList.tsx`,line:42,fn:`StarList`,context:`const items = data.results.map(r => r.name);`,isUser:!0},{file:`src/hooks/useStarData.ts`,line:18,fn:`useStarData`,context:`return { results: await fetch(...).then(r => r.json()) }`,isUser:!0},{file:`node_modules/react/cjs/react-dom.development.js`,line:4164,fn:`commitHookEffectListMount`}],cause:`The fetch resolved before the component re-rendered, and results was undefined on the first render pass.`,fix:"Add a loading guard: `if (!data?.results) return <Spinner />;` before the .map() call. Or initialize with `results: []` in useStarData so the first render is always safe.",footer:`Pattern: always guard array operations against undefined before mapping.`},syntaxbreakdown:{title:`Syntax Breakdown`,icon:`doc`,iconColor:`var(--insight)`,summary:`How TypeScript generic constraints work, one line at a time.`,lines:[{code:`function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {`,explanation:`Generic function: T is any object type; K must be a key of T. Returns only the picked keys.`,tokens:[{code:`function`,label:`keyword`,kind:`keyword`},{code:`<T, K extends keyof T>`,label:`generic constraints: K must be a key of T`,kind:`type`},{code:`Pick<T, K>`,label:`utility type: object with only the specified keys`,kind:`type`}]},{code:` return Object.fromEntries(keys.map(k => [k, obj[k]]));`,explanation:`Build a new object from just the requested keys using fromEntries + map.`,tokens:[{code:`Object.fromEntries`,label:`converts [key, value] pairs → object`,kind:`identifier`},{code:`keys.map(k => [k, obj[k]])`,label:`for each key, pair it with the value from obj`,kind:`value`}]},{code:`}`,explanation:`End of function.`}],footer:`The 'extends keyof T' constraint is what makes this type-safe, TypeScript rejects invalid keys at compile time.`},codewalk:{title:`Algorithm Walkthrough`,icon:`doc`,iconColor:`var(--presence)`,algorithm:`Binary Search`,steps:[{step:1,title:`Set up the search window`,code:`let lo = 0, hi = arr.length - 1;`,lang:`typescript`,explanation:`Start with the full array, lo points to the first element, hi to the last.`},{step:2,title:`Pick the midpoint`,code:`const mid = lo + Math.floor((hi - lo) / 2);`,lang:`typescript`,explanation:"Calculate the middle index. The `lo + (hi - lo) / 2` form avoids integer overflow that `(lo + hi) / 2` can cause."},{step:3,title:`Compare and narrow`,code:`if (arr[mid] === target) return mid;
2
+ else if (arr[mid] < target) lo = mid + 1;
3
+ else hi = mid - 1;`,lang:`typescript`,explanation:`If we found it, return. Otherwise, discard the half that cannot contain target. Each step halves the search space, O(log n).`},{step:4,title:`Repeat until found or empty`,code:`while (lo <= hi) { /* step 2 & 3 */ }
4
+ return -1; // not found`,lang:`typescript`,explanation:`Keep looping while the window has elements. If lo passes hi, the target is not in the array.`}],footer:`Binary search: O(log n) time, O(1) space. Requires a sorted array.`},terminal:{title:`The one-line fix`,prompt:`prod-db $`,lines:[{kind:`comment`,text:`confirm the scan, then add the index`},{kind:`command`,text:`psql -c "EXPLAIN ANALYZE SELECT … WHERE org_id=42"`},{kind:`stdout`,text:`Seq Scan on events (actual time=540ms rows=1240000)`},{kind:`stderr`,text:`no index on events.widget_id — full scan`},{kind:`command`,text:`psql -c "CREATE INDEX CONCURRENTLY ON events (widget_id)"`},{kind:`stdout`,text:`CREATE INDEX`},{kind:`command`,text:`psql -c "EXPLAIN ANALYZE SELECT … WHERE org_id=42"`},{kind:`stdout`,text:`Index Scan on events (actual time=4ms rows=48)`}],exitCode:0,caption:`One missing index. p99 back to ~30 ms.`},logstream:{title:`Slow-query + timeout logs`,entries:[{time:`14:02:11`,level:`warn`,source:`api`,message:`GET /dashboard 612ms (slow)`},{time:`14:02:14`,level:`error`,source:`db`,message:`statement timeout after 5s: dashboard widgets query`},{time:`14:02:14`,level:`info`,source:`api`,message:`req=a91f returned 503`},{time:`14:02:20`,level:`warn`,source:`api`,message:`GET /dashboard 588ms (slow)`},{time:`14:05:02`,level:`info`,source:`db`,message:`index events_widget_id created`},{time:`14:05:09`,level:`info`,source:`api`,message:`GET /dashboard 31ms`}],caption:`The timeouts cluster on one query; latency drops the moment the index lands.`},gitgraph:{title:`When the regression landed`,branches:[`main`,`hotfix`],commits:[{id:`9a1b7d3`,message:`Merge fix → main, deploy v3.4.1`,branch:`main`,parents:[`2d9aa10`,`b83d44a`],tag:`v3.4.1`,head:!0},{id:`b83d44a`,message:`Add (org_id, created_at) index`,branch:`hotfix`,parents:[`e4f9c2a`]},{id:`e4f9c2a`,message:`Add request-id to slow-query log`,branch:`hotfix`,parents:[`2d9aa10`]},{id:`2d9aa10`,message:`Dashboard: per-widget queries (regression)`,branch:`main`,parents:[`7c2e0f1`]},{id:`7c2e0f1`,message:`Release v3.4`,branch:`main`,parents:[`11ff009`],tag:`v3.4.0`},{id:`11ff009`,message:`Cache org settings`,branch:`main`}],caption:`The per-widget query shipped in 2d9aa10; the fix branched off and merged back.`},queryplan:{title:`EXPLAIN ANALYZE — the bottleneck`,sql:`SELECT w.*, count(e.id)
5
+ FROM widgets w
6
+ LEFT JOIN events e ON e.widget_id = w.id
7
+ WHERE w.org_id = $1
8
+ GROUP BY w.id`,nodes:[{op:`GroupAggregate`,detail:`group by w.id`,depth:0,rows:48,cost:9820,timeMs:612},{op:`Sort`,detail:`sort key: w.id`,depth:1,rows:48,cost:9810,timeMs:610},{op:`Hash Left Join`,detail:`e.widget_id = w.id`,depth:2,rows:124e4,cost:9120,timeMs:598,slow:!0},{op:`Seq Scan on events`,detail:`no index on widget_id`,depth:3,rows:124e4,cost:8400,timeMs:540,slow:!0},{op:`Index Scan on widgets`,detail:`org_id = $1`,depth:3,rows:48,cost:120,timeMs:2}],caption:`A sequential scan over 1.24M events — there is no index on events.widget_id.`},flamegraph:{title:`CPU profile of one slow request`,unit:`ms`,frames:[{name:`handleRequest`,depth:0,value:612},{name:`renderDashboard`,depth:1,value:600},{name:`loadWidgets`,depth:2,value:580,hot:!0},{name:`db.query`,depth:3,value:560,hot:!0},{name:`seqScanEvents`,depth:4,value:540,hot:!0},{name:`serialize`,depth:2,value:18},{name:`auth`,depth:1,value:10}],caption:`Almost all of the 612 ms is inside the event scan — the hot path is unmissable.`},regexscope:{title:`Parsing the slow-query log`,pattern:`req=(\\w+).*?dur=(\\d+)ms`,flags:`g`,parts:[{token:`req=`,label:`the literal text "req="`,kind:`literal`},{token:`(\\w+)`,label:`capture 1 — the request id (word chars)`,kind:`group`},{token:`.*?`,label:`any characters, lazily (as few as possible)`,kind:`quantifier`},{token:`dur=`,label:`the literal text "dur="`,kind:`literal`},{token:`(\\d+)`,label:`capture 2 — the duration digits`,kind:`group`},{token:`ms`,label:`the literal unit "ms"`,kind:`literal`}],samples:[{label:`matches`,segments:[{text:`level=warn `},{text:`req=a91f`,match:!0,group:1},{text:` path=/dashboard `,match:!0},{text:`dur=612ms`,match:!0,group:2}]},{label:`no match`,segments:[{text:`level=info cache hit org=42`}]}],caption:`Pulls the request id and duration out of each warn line for the histogram.`},sequencealign:{title:`The LCS problem, on real reads`,icon:`layers`,iconColor:`var(--presence)`,kind:`dna`,sequences:[{label:`Reference`,chars:`ATGGCTAACGTTAGC`},{label:`Read 1`,chars:`ATGGCTAAAGTTAGC`},{label:`Read 2`,chars:`ATGGCTA--GTTAGC`}],consensus:`Consensus`,highlightMismatches:!0,footer:`Read 1 carries a single-base substitution (C→A); Read 2 has a 2-base deletion right where Read 1 still matches the reference. The two reads disagree with each other there, so the consensus can't call a base at that column — everywhere else, all three agree.`}};export{e as default};
@@ -0,0 +1,5 @@
1
+ import{a as e,r as t}from"./githubBrowser-DywfDeYx.js";var n=3,r=4,i=80;function a(e){if(e)return/^([\w.-]+\/[\w.-]+)/.exec(e.trim())?.[1]}async function o(a,o,s,c){let l=[],u=a.changes.map(e=>e.file).slice(0,n),d=[...new Set(a.changes.flatMap(e=>e.symbols??[]))].slice(0,r),[f,p]=await Promise.all([Promise.all(u.map(e=>t(e,s,o).catch(()=>({ok:!1})).then(t=>({file:e,r:t})))),Promise.all(d.map(t=>e(t,o).catch(()=>({ok:!1,files:[]})).then(e=>({symbol:t,r:e}))))]);if(c?.aborted)return``;for(let{file:e,r:t}of f)if(t.ok&&t.content){let n=t.content.split(`
2
+ `).slice(0,i).join(`
3
+ `);l.push(`FILE ${e}:\n${n}\n`)}let m=[];for(let{symbol:e,r:t}of p)if(t.ok&&t.files.length){let n=t.files.filter(e=>!u.includes(e)).slice(0,6);n.length&&m.push(`- ${e} is referenced in: ${n.join(`, `)}`)}return m.length&&l.push(`REAL CALLERS found across ${o} (the blast a diff can't see):\n${m.join(`
4
+ `)}\n`),l.join(`
5
+ `)}export{o as gatherCodeContext,a as repoFromLabel};
@@ -0,0 +1 @@
1
+ function e(e){switch(e){case`breaks`:return`var(--danger)`;case`migration`:return`var(--warning)`;case`affected`:return`var(--presence)`;case`safe`:return`var(--insight)`;default:return`var(--text-muted)`}}function t(e){switch(e){case`breaks`:return`BREAKS`;case`migration`:return`MIGRATION`;case`affected`:return`AFFECTED`;case`safe`:return`SAFE`;default:return`UNTESTED`}}function n(e){return e===`breaks`?`var(--danger)`:e===`watch`?`var(--warning)`:`var(--insight)`}export{t as n,e as r,n as t};
@@ -0,0 +1,3 @@
1
+ var e={voicestyle:{title:`Your Writing Voice`,icon:`spark`,iconColor:`var(--presence)`,traits:[{trait:`Short, punchy sentences`,example:`Ship it. Then iterate.`},{trait:`Dry, understated humour`},{trait:`Leads with the verb`},{trait:`Skips the warm-up`,example:`No "I hope this finds you well."`}],sample:{generic:`I wanted to reach out to let you know that we have completed the project and it is now ready for your review at your earliest convenience.`,inYourVoice:`Project's done. Ready for your eyes whenever.`},footer:`Learned from <b>40 of your messages</b> — I'll keep this on for drafts.`},messagedraft:{title:`Draft Email`,icon:`mail`,iconColor:`var(--presence)`,subject:`Following up on the project timeline`,to:`Sarah Chen <sarah@example.com>`,from:`Alex`,greeting:`Hi Sarah,`,body:`I wanted to follow up on our conversation from last Tuesday. We're making good progress on the timeline, but I'd love to sync before Thursday's review. Would a 30-minute call on Wednesday afternoon work for you?
2
+
3
+ I'll have the updated milestones ready by then, should only take a few minutes to walk through.`,closing:`Thanks so much,`,signature:`Alex`,tone:`friendly`,footer:`Adjust the subject or tone before sending.`},chatthread:{title:`Example Chat`,icon:`chat`,iconColor:`var(--insight)`,participants:`You + Support`,messages:[{role:`other`,name:`Support`,text:`Hi! How can I help you today?`,time:`10:30 AM`},{role:`user`,name:`You`,text:`I'm having trouble resetting my password, the link in the email expired.`,time:`10:31 AM`},{role:`other`,name:`Support`,text:`No problem! I'll send a new reset link to your registered email right now. It'll be valid for 24 hours.`,time:`10:31 AM`,status:`read`},{role:`user`,name:`You`,text:`Got it, thank you!`,time:`10:33 AM`}],footer:`Example support thread, adapt for your own context.`},dialogue:{title:`Interview Script`,icon:`chat`,iconColor:`var(--presence)`,context:`Mock job interview for a senior product manager role.`,lines:[{speaker:`Interviewer`,text:`Tell me about a product decision you made with incomplete data. How did you approach it?`},{speaker:`Candidate`,text:`At my last role we had to decide whether to rebuild our checkout flow before Black Friday, three weeks out. We had mixed signals from A/B tests. I triangulated: qualitative user sessions, a competitor teardown, and gut-checked with our top customers. We shipped a targeted fix rather than a full rebuild.`,note:`Strong: shows structured thinking under pressure.`},{speaker:`Interviewer`,text:`What would you have done differently with more time?`},{speaker:`Candidate`,text:`I would have run the full cohort analysis we skipped. We got lucky, the fix held, but I'd rather not rely on luck for revenue-critical paths.`}],footer:`Use this as a practice script, the interviewer lines are yours to adapt.`},variants:{title:`Tone Variants`,icon:`layers`,iconColor:`var(--insight)`,prompt:`Rewrite: "We need this fixed ASAP."`,variants:[{label:`Professional`,text:`This issue is blocking our release, prioritizing a fix by end of day would be greatly appreciated.`},{label:`Direct`,text:`This is blocking us. Please fix it today.`},{label:`Collaborative`,text:`We're a bit stuck on this one, any chance we can tackle it together this afternoon?`,note:`Good for teammates you know well.`}],footer:`Pick the tone that fits the relationship.`},verse:{title:`Haiku`,icon:`spark`,iconColor:`var(--presence)`,form:`Haiku`,stanzas:[{lines:[{text:`Morning fog lifts slow,`},{text:`the harbor fills with birdsong, `},{text:`coffee, then the code.`}]}],footer:`5–7–5. A small thing.`},slidedeck:{title:`Presentation Outline`,icon:`layers`,iconColor:`var(--insight)`,deck:`Q3 Product Review`,slides:[{title:`Q3 in Three Numbers`,layout:`title`,bullets:[`42% DAU growth`,`$1.2M ARR milestone hit`,`NPS +18 points`],note:`Open strong, lead with the wins before the challenges.`},{title:`What Worked`,layout:`content`,bullets:[`Search redesign drove 3× session depth`,`Onboarding wizard cut time-to-value by 40%`,`Mobile app launch: 28K installs in 4 weeks`]},{title:`What We Learned`,layout:`content`,bullets:[`Notifications fatigue: unsubscribes spiked in week 3`,`Power users wanted API access, we shipped it too late`],note:`Be honest here, credibility moment.`},{title:`Q4 Bets`,layout:`content`,bullets:[`AI-assisted search (2 sprints)`,`Enterprise SSO (compliance gate)`,`Team collaboration features (waitlist: 1,800)`]},{title:`Ask`,layout:`title`,bullets:[`Approve $280K additional headcount (2 engineers)`,`Extend runway to Q2`],note:`Make the ask explicit and specific.`}],footer:`Add your own data before presenting.`},screenplay:{title:`Scene — The Last Train`,icon:`doc`,iconColor:`var(--presence)`,caption:`A short night-platform scene: two strangers, one departing train.`,elements:[{kind:`slug`,text:`INT. SUBWAY PLATFORM - NIGHT`},{kind:`action`,text:`Fluorescent light hums over an empty platform. MAYA (30s), coat buttoned to the chin, watches the departure board flicker. A man, ELLIOT (40s), steps from the shadows of the far stairwell, out of breath.`},{kind:`character`,text:`Elliot`},{kind:`parenthetical`,text:`Still catching his breath`},{kind:`dialogue`,text:`Did the 11:48 leave already?`},{kind:`character`,text:`Maya`},{kind:`dialogue`,text:`Thirty seconds ago. You can still see the tail lights if you lean out far enough to regret it.`},{kind:`action`,text:`Elliot lets his shoulders drop. He almost laughs.`},{kind:`transition`,text:`CUT TO:`}],footer:`Standard screenplay margins applied automatically — adjust the dialogue and let the format follow.`},socialpost:{title:`Post Preview`,icon:`globe`,iconColor:`var(--presence)`,platform:`x`,handle:`alexrivera`,displayName:`Alex Rivera`,timestamp:`2h`,body:`Shipped the new onboarding flow today, three months of user interviews boiled down to four screens instead of eleven. Early numbers are already trending up, and none of it would have happened without the design and support teams grinding through QA all week.`,media:[{alt:`Before/after screenshot of the onboarding flow`}],footer:`Trim a sentence if you want room for a reply-friendly line.`}};export{e as default};
@@ -0,0 +1 @@
1
+ import{i as e,n as t}from"./keyVault-DEsNh9FR.js";var n=`content-key-v1`;async function r(t){let r=JSON.stringify(t);try{return await e(r,n)}catch{return r}}async function i(e){return JSON.parse(await t(e,n))}export{r as n,i as t};