@mavea/mavea 1.0.8 → 1.0.9

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 (172) hide show
  1. package/dist/.vite/manifest.json +675 -670
  2. package/dist/assets/{AppCommandPalette-DUMSp3rd.js → AppCommandPalette-D5E8xhEf.js} +1 -1
  3. package/dist/assets/{AtlasView-Dl2fssaG.js → AtlasView-Q4dqhS4v.js} +1 -1
  4. package/dist/assets/{BlockEmpty-CLtVQf6c.js → BlockEmpty-JoKwTRb0.js} +1 -1
  5. package/dist/assets/{BriefingPlayer-DO205Qkh.js → BriefingPlayer-BaC5XjsP.js} +1 -1
  6. package/dist/assets/{CanvasSkeleton-BZZPCuRZ.js → CanvasSkeleton-DgF1b-bW.js} +2 -2
  7. package/dist/assets/{CheckLogRail-wUfby67Z.js → CheckLogRail-DldWYeVr.js} +1 -1
  8. package/dist/assets/{CodeOutput-Kh6ldxQz.js → CodeOutput-B9_a0vjD.js} +1 -1
  9. package/dist/assets/{CommandPalette-Kl00mMZm.js → CommandPalette-C1eiRrMP.js} +1 -1
  10. package/dist/assets/{CourseLessonReader-MBHoknUz.js → CourseLessonReader-DA3t9SUe.js} +2 -2
  11. package/dist/assets/{CourseRail-q6x5cCpW.js → CourseRail-BaP1uB0B.js} +1 -1
  12. package/dist/assets/{CoursesApp-v89OVJvg.js → CoursesApp-MSK1JzqU.js} +2 -2
  13. package/dist/assets/{CrossExamPanel-DH04p6VS.js → CrossExamPanel-jJu-Mqvs.js} +1 -1
  14. package/dist/assets/{DashPresent-BYXbPuGj.js → DashPresent-Coj1b9Bp.js} +1 -1
  15. package/dist/assets/{DashboardDetail-B50ZkeVK.js → DashboardDetail-CHw4HfHp.js} +2 -2
  16. package/dist/assets/DashboardLoopRuntime-bSH-LDQM.js +1 -0
  17. package/dist/assets/{DashboardOverview-C-FdGWM5.js → DashboardOverview-CfsSZAgN.js} +1 -1
  18. package/dist/assets/{DashboardSettings-Dmw6JTbI.js → DashboardSettings-BkSQvDt6.js} +1 -1
  19. package/dist/assets/{DashboardsApp-JSY_bVfi.js → DashboardsApp-BmcjQZqP.js} +2 -2
  20. package/dist/assets/{DeepZoomApp-BFNwli7l.js → DeepZoomApp-BKhVz2w1.js} +1 -1
  21. package/dist/assets/{DelegatePanel-BK7rEhIc.js → DelegatePanel-BFKvKzB-.js} +1 -1
  22. package/dist/assets/{DemoGallery-BPtVG7_y.js → DemoGallery-0cgMcGir.js} +1 -1
  23. package/dist/assets/{DropSelect-DUhdQSta.js → DropSelect-CJnpoHtR.js} +1 -1
  24. package/dist/assets/{ExportModal-D65cGyj_.js → ExportModal-DbWt9b6v.js} +2 -2
  25. package/dist/assets/{ExtractionPreview-Iwfg2Ogl.js → ExtractionPreview-DTAyeKIx.js} +1 -1
  26. package/dist/assets/{FeatureUseNotice-DPtQ0OGb.js → FeatureUseNotice-CoK5HkbR.js} +1 -1
  27. package/dist/assets/FeatureUseNotice-CsCxxfOl.css +1 -0
  28. package/dist/assets/{FlagshipCTA-BXntKhxb.js → FlagshipCTA-EfqXfhO2.js} +1 -1
  29. package/dist/assets/{FlagshipCommandPalette-BDJfasI-.js → FlagshipCommandPalette-CUgzggi1.js} +1 -1
  30. package/dist/assets/{FlagshipShowcase-DJ8Gxk_G.js → FlagshipShowcase-BHe-31yE.js} +1 -1
  31. package/dist/assets/{FlashcardsApp-CLNo4WX7.js → FlashcardsApp-Cs7PORkH.js} +1 -1
  32. package/dist/assets/{ForecastPanel-PBO2-dgS.js → ForecastPanel-BrfHS_Dm.js} +1 -1
  33. package/dist/assets/{GalleryApp-DM03CMRy.js → GalleryApp-VEc5loz4.js} +1 -1
  34. package/dist/assets/{HonestByDesign-Dqyth6nW.js → HonestByDesign-DsAzveYU.js} +1 -1
  35. package/dist/assets/{HowItWorks-C0zosIvq.js → HowItWorks-_ek4B7ia.js} +1 -1
  36. package/dist/assets/{LegalApp-DZBdExTy.js → LegalApp-jexr9Ljt.js} +1 -1
  37. package/dist/assets/{LegalMarkdownDocument-CSZhRG5r.js → LegalMarkdownDocument-01Tz7Pp4.js} +1 -1
  38. package/dist/assets/{LegalPageShell-DTeXqWyc.js → LegalPageShell-DsgBihfP.js} +1 -1
  39. package/dist/assets/{LeverPanel-aZfhtVJX.js → LeverPanel-IONjaat2.js} +1 -1
  40. package/dist/assets/{Library-D2XGNXz7.js → Library-gY4a_JKb.js} +1 -1
  41. package/dist/assets/{LibraryOverlay-B2WQSgwr.js → LibraryOverlay-DdOW7ypW.js} +1 -1
  42. package/dist/assets/LiveApp-CvgisDd0.js +61 -0
  43. package/dist/assets/{LiveApp-BVZGpJ1S.css → LiveApp-D2QFBykD.css} +1 -1
  44. package/dist/assets/LiveSettings-sWIu-zl5.js +6 -0
  45. package/dist/assets/{MindMapViewerDrawer-YYyZqmAd.js → MindMapViewerDrawer--AOShADD.js} +1 -1
  46. package/dist/assets/{MindShape-mTlN5mPZ.js → MindShape-DDL4X-e5.js} +1 -1
  47. package/dist/assets/{PinToDashboard-_kIOHs0k.js → PinToDashboard-DBZjKpiA.js} +1 -1
  48. package/dist/assets/{PlanReview-33V8GTNB.js → PlanReview-D0KjJqji.js} +1 -1
  49. package/dist/assets/{Presence-CzLJIeSD.js → Presence-DZC81_y4.js} +1 -1
  50. package/dist/assets/{PresentationDeck-BDoGecxr.js → PresentationDeck-DHtbOg0G.js} +1 -1
  51. package/dist/assets/{PrismApp-PfBTFhMF.js → PrismApp-DQ5p9pDb.js} +2 -2
  52. package/dist/assets/{PrismAskController-DbQDrlU9.js → PrismAskController-KVoYxV_d.js} +1 -1
  53. package/dist/assets/{PrismBriefingPlayer-1fvlfLR8.js → PrismBriefingPlayer-X4nTg2tZ.js} +2 -2
  54. package/dist/assets/{PrismOverlay-B7lEspdu.js → PrismOverlay-DJ-JBI6j.js} +4 -4
  55. package/dist/assets/{PrivacyApp-CR4lRs0L.js → PrivacyApp-Df8FcjKa.js} +1 -1
  56. package/dist/assets/{Recap-H5fhj5Tc.js → Recap-D3nAqmLK.js} +1 -1
  57. package/dist/assets/{ReelJelly-3jSVsJsy.js → ReelJelly-BCMS6a1u.js} +1 -1
  58. package/dist/assets/{RehearsalPanel-BVgjrOPg.js → RehearsalPanel-CThmKYOO.js} +1 -1
  59. package/dist/assets/ReplayCard-B5njgafT.js +2 -0
  60. package/dist/assets/{ReplayOverlay-DXmVdeIr.js → ReplayOverlay-CKTMSGuA.js} +1 -1
  61. package/dist/assets/{RewindOverlay-BusfWeFq.js → RewindOverlay-D6TQvplO.js} +1 -1
  62. package/dist/assets/{RippleApp-9KrJPYgN.js → RippleApp-DCAveryn.js} +2 -2
  63. package/dist/assets/{RippleAskController-CO9wE7hU.js → RippleAskController-DQVRFV30.js} +1 -1
  64. package/dist/assets/{RippleOverlay-DMHLbfh8.js → RippleOverlay-DmC4C72P.js} +2 -2
  65. package/dist/assets/{SeeDontRead-C389viue.js → SeeDontRead-CzIEW_Y7.js} +1 -1
  66. package/dist/assets/ShareModal-DtXKAwWu.js +32 -0
  67. package/dist/assets/{ShipCascade-BUtwvQoW.js → ShipCascade-B71VnE85.js} +1 -1
  68. package/dist/assets/{ShipCourse-B7lG6DYW.js → ShipCourse-BS4lT6xe.js} +1 -1
  69. package/dist/assets/{ShipHotspots-Bj2CovtT.js → ShipHotspots-CGQN_uoM.js} +1 -1
  70. package/dist/assets/{ShipIncident-DcmindmE.js → ShipIncident-C--FrQ1N.js} +1 -1
  71. package/dist/assets/{ShipMigration-s0hVjDQl.js → ShipMigration-C4fE3pL7.js} +1 -1
  72. package/dist/assets/{ShipOnboarding-ekbHL7OH.js → ShipOnboarding-BR3iwj8v.js} +1 -1
  73. package/dist/assets/{ShipRead-BVNgQT6L.js → ShipRead-DYHgvWuI.js} +1 -1
  74. package/dist/assets/{ShipRollout-BdUQzMyP.js → ShipRollout-D-vQsNmF.js} +1 -1
  75. package/dist/assets/{ShipSuggestions-B6fKYh8L.js → ShipSuggestions-BICGN1lD.js} +1 -1
  76. package/dist/assets/{ShipWorkspace-3D3Rrs1p.js → ShipWorkspace-CVkhvrlm.js} +1 -1
  77. package/dist/assets/{SignatureLoop-C60r8Wm5.js → SignatureLoop-BwCgKOcz.js} +1 -1
  78. package/dist/assets/{SynthesisApp-vJ2Jq0Qe.js → SynthesisApp-DHKlVoSg.js} +2 -2
  79. package/dist/assets/{SynthesisOverlay-CkERphvG.js → SynthesisOverlay-ezT4gd3q.js} +1 -1
  80. package/dist/assets/{TermsApp-C70tW6m6.js → TermsApp-uGgQFz8d.js} +1 -1
  81. package/dist/assets/{TopicCanvas-CT0eSj2M.js → TopicCanvas-CTTBp5sg.js} +2 -2
  82. package/dist/assets/{TourPrism-BvucSkcs.js → TourPrism-dXsE-USz.js} +1 -1
  83. package/dist/assets/{TrackerTile-CasZNmt4.js → TrackerTile-bEni07HA.js} +2 -2
  84. package/dist/assets/{TwoSurfaces-C90X7Aj5.js → TwoSurfaces-CjFg-pUQ.js} +1 -1
  85. package/dist/assets/{UnderstoodPanel-CHPD2Ttj.js → UnderstoodPanel-DFKf9Y3r.js} +1 -1
  86. package/dist/assets/{WhyMachineOverlay-CB0_n6Sy.js → WhyMachineOverlay-DYG-WIjA.js} +1 -1
  87. package/dist/assets/{WowFeatures-Ci_H5QYX.js → WowFeatures-lLtU2gPc.js} +1 -1
  88. package/dist/assets/{ZoomDeck-BQHO79ZU.js → ZoomDeck-D_PnwGAY.js} +1 -1
  89. package/dist/assets/{alternateFinishes-DZ-rkpkX.js → alternateFinishes-CPbjDTTL.js} +1 -1
  90. package/dist/assets/{annotationAuto-B0nihA4F.js → annotationAuto-Dq2Ae6Co.js} +1 -1
  91. package/dist/assets/{annotationReel-BcU9Q0Sw.js → annotationReel-5OHglRgk.js} +1 -1
  92. package/dist/assets/backup-DnPfX6cD.js +1 -0
  93. package/dist/assets/canvas-DBaJcTKZ.js +1 -0
  94. package/dist/assets/{catalog-Dqaq2YFd.js → catalog-C_g3qPPQ.js} +1 -1
  95. package/dist/assets/chapters-BX_F_H3C.js +1 -0
  96. package/dist/assets/{dashboardEvents-DR9d_c74.js → dashboardEvents-DCQLIdy6.js} +2 -2
  97. package/dist/assets/{dist-BFx3nZg4.js → dist-DrPlQeYR.js} +1 -1
  98. package/dist/assets/{fit-0HxU-rtB.js → fit-DqcemO7k.js} +1 -1
  99. package/dist/assets/{generateLive-D4B30fnF.js → generateLive-CflgZ7Wt.js} +18 -18
  100. package/dist/assets/homeTarget-BcZYH3DY.js +1 -0
  101. package/dist/assets/{index-y8GL67bB.js → index-BlCH2LG4.js} +3 -3
  102. package/dist/assets/{jspdf.es.min-C-Pf79px.js → jspdf.es.min-C9encxHf.js} +1 -1
  103. package/dist/assets/kokoro-BCXTWbLb.js +1 -0
  104. package/dist/assets/{lib-VFqp6Y3w.js → lib-3J_9keOc.js} +1 -1
  105. package/dist/assets/{liveSchema-CJ49PX5R.js → liveSchema-DNg9x7Wk.js} +3 -2
  106. package/dist/assets/{mastery-BPjxP0fN.js → mastery-D7xYf5D7.js} +1 -1
  107. package/dist/assets/{motion-S0NRruNj.js → motion-BYK1NIl0.js} +1 -1
  108. package/dist/assets/{neighborhoods-C-1Tjr1r.js → neighborhoods-B0woY8Ah.js} +1 -1
  109. package/dist/assets/{notes-lROPCorS.js → notes-0ZgJ597y.js} +1 -1
  110. package/dist/assets/{pdf-Df7PCH7q.js → pdf-DuD2LFXS.js} +1 -1
  111. package/dist/assets/{perfProbe-COAp9PAa.js → perfProbe-CTSVS7u0.js} +1 -1
  112. package/dist/assets/{pin-CXSuPJYL.js → pin-zUYIWzGr.js} +1 -1
  113. package/dist/assets/{portal-DMw7C32j.js → portal-deBu1VaC.js} +1 -1
  114. package/dist/assets/{pptxgen.es-CvTILmV9.js → pptxgen.es-JvVtQi0_.js} +1 -1
  115. package/dist/assets/{prewarm--whjQhWJ.js → prewarm-DSFwU9lQ.js} +1 -1
  116. package/dist/assets/{quietHours-BvcsBKKK.js → quietHours-BJAGhffA.js} +1 -1
  117. package/dist/assets/{registry-BPvIPLke.js → registry-45IskpHI.js} +1 -1
  118. package/dist/assets/{registry-2v0jlh5Q.js → registry-BGptAE_J.js} +2 -2
  119. package/dist/assets/{registry-D_URPoL4.js → registry-BJ_F0mH5.js} +1 -1
  120. package/dist/assets/{registry-B8DStMJk.js → registry-BSewKzG5.js} +1 -1
  121. package/dist/assets/{registry-DUvXX_d0.js → registry-Bo9A1rtO.js} +1 -1
  122. package/dist/assets/{registry-CKjKq6ct.js → registry-BpXS6B5V.js} +1 -1
  123. package/dist/assets/{registry-aazwkBJp.js → registry-BvJYizNq.js} +1 -1
  124. package/dist/assets/{registry-DCI_BeFJ.js → registry-C1y9zCwl.js} +1 -1
  125. package/dist/assets/{registry-Buq5uuCv.js → registry-CS0QdcT2.js} +1 -1
  126. package/dist/assets/{registry-B940W2j5.js → registry-Caz06xkK.js} +1 -1
  127. package/dist/assets/{registry-Cg7qUZPS.js → registry-CmEE2X59.js} +1 -1
  128. package/dist/assets/{registry-DujBAgn_.js → registry-D5sMUiCn.js} +1 -1
  129. package/dist/assets/{registry-Cix-yqch.js → registry-DLnp7IOd.js} +1 -1
  130. package/dist/assets/{registry-DDLSYDVA.js → registry-DOsi_pfu.js} +1 -1
  131. package/dist/assets/{registry-BgGeRiDA.js → registry-DWpOzObR.js} +1 -1
  132. package/dist/assets/{registry-Dpb8EXHn.js → registry-DilxWEq7.js} +1 -1
  133. package/dist/assets/{registry-DJinB5ye.js → registry-Dn10bL9p.js} +1 -1
  134. package/dist/assets/{registry-zRPjWNl5.js → registry-DtJTiMeL.js} +1 -1
  135. package/dist/assets/{registry-CEVrY72Z.js → registry-FPqHPyMt.js} +1 -1
  136. package/dist/assets/{registry-DI1wSG1Y.js → registry-PAcF90vq.js} +1 -1
  137. package/dist/assets/{registry-CAusoyBh.js → registry-eoPQWB7M.js} +1 -1
  138. package/dist/assets/{registry-1GuPBfQK.js → registry-k5Lqb0OP.js} +1 -1
  139. package/dist/assets/{registry-QcULZpdE.js → registry-yQqBxBwc.js} +2 -2
  140. package/dist/assets/{relate-A9ZeaaAI.js → relate-B23jli7z.js} +1 -1
  141. package/dist/assets/{run-C_0B_41W.js → run-Dc2ZJz6n.js} +1 -1
  142. package/dist/assets/search-Be63DJkp.js +1 -0
  143. package/dist/assets/shapes-Cw7tCHIp.js +1 -0
  144. package/dist/assets/{shikiHighlight-DUCYbsJ2.js → shikiHighlight-ZFDUBGQi.js} +1 -1
  145. package/dist/assets/{store-DgG0C1Qx.js → store-BMRQiV1z.js} +1 -1
  146. package/dist/assets/{store-BFC7DZcg.js → store-Dn23_Ymr.js} +1 -1
  147. package/dist/assets/{store-BFrJaSxJ.js → store-DoJn3lBF.js} +1 -1
  148. package/dist/assets/{store-4JNNn732.js → store-DrBDvqXF.js} +1 -1
  149. package/dist/assets/threads-DxSb3F0U.js +1 -0
  150. package/dist/assets/{useDashboardLoop-B6ByHWoE.js → useDashboardLoop-8emjL6b-.js} +3 -3
  151. package/dist/assets/useLiveConfig-BhFHwoy3.js +1 -0
  152. package/dist/assets/{useSpatialCanvas-DogK9457.js → useSpatialCanvas-DZhSpnC6.js} +1 -1
  153. package/dist/assets/{useSpotlightWalk-rMbmNBKK.js → useSpotlightWalk-sP3ePKv0.js} +1 -1
  154. package/dist/assets/{useSrsCards-CagZefwX.js → useSrsCards-BHQHQ7hm.js} +1 -1
  155. package/dist/assets/{useStudy-Bflreq2a.js → useStudy-Dh598Dw8.js} +1 -1
  156. package/dist/assets/{useZoomGesture-CYc3tf2z.js → useZoomGesture-CQdTOGD2.js} +1 -1
  157. package/dist/index.html +1 -1
  158. package/package.json +1 -1
  159. package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +0 -1
  160. package/dist/assets/FeatureUseNotice-CWt7gOwS.css +0 -1
  161. package/dist/assets/LiveApp-B9zwXlGC.js +0 -61
  162. package/dist/assets/LiveSettings-D9OcWlm6.js +0 -6
  163. package/dist/assets/ReplayCard-BpYO5vX-.js +0 -2
  164. package/dist/assets/ShareModal-ClnEkudw.js +0 -32
  165. package/dist/assets/backup-c-Btapzp.js +0 -1
  166. package/dist/assets/canvas-QTEIiK23.js +0 -1
  167. package/dist/assets/chapters-BiUsDClQ.js +0 -1
  168. package/dist/assets/homeTarget-BgWKI_E1.js +0 -1
  169. package/dist/assets/kokoro-D4GKpSL0.js +0 -1
  170. package/dist/assets/search-DnjHupRf.js +0 -1
  171. package/dist/assets/shapes-RqjqC0ay.js +0 -1
  172. package/dist/assets/useLiveConfig-X9Wxh90k.js +0 -1
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/typescript-Utq2Cl8c.js","assets/typescript-j_1H8WHN.js","assets/tsx-5f3ulCja.js","assets/tsx-BOvsFOI6.js","assets/javascript-Yelw-5ZN.js","assets/javascript-BzbQS41l.js","assets/jsx-hEbJ82HF.js","assets/jsx-D3KKoC5L.js","assets/json-CaljABEy.js","assets/json-B88Oqtu5.js","assets/html-DDNsd9lV.js","assets/html-BcACZWSP.js","assets/css-LbU1hoFO.js","assets/css-CdtkT07m.js","assets/java-DxlWrXwe.js","assets/java-BtIQNnN0.js","assets/c-DWGmR78Y.js","assets/c-SSSlmE39.js","assets/cpp-CNAAXZl-.js","assets/cpp-BGdv8dzs.js","assets/sql-CP0rg-5b.js","assets/ruby-BhrksQMt.js","assets/shellscript-CqHdAlCp.js","assets/xml-WY0zc4PG.js","assets/yaml-DijMHRDA.js","assets/php-CYrBA5iX.js","assets/sql-0Qcw9ht3.js","assets/shellscript-BiGZg9Om.js","assets/yaml-CxbubiML.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-BVpWp9h4.js";import{J as t,q as n}from"./index-y8GL67bB.js";var r=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function i(e){return a(e)}function a(e){return Array.isArray(e)?o(e):e instanceof RegExp?e:typeof e==`object`?s(e):e}function o(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=a(e[n]);return t}function s(e){let t={};for(let n in e)t[n]=a(e[n]);return t}function c(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function l(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?l(e.substring(0,e.length-1)):e.substr(~t+1)}var u=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,d=class{static hasCaptures(e){return e===null?!1:(u.lastIndex=0,u.test(e))}static replaceCaptures(e,t,n){return e.replace(u,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function f(e,t){return e<t?-1:+(e>t)}function p(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=f(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function m(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function h(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var g=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},_=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(re(e),t)}static createFromParsedTheme(e,t){return ae(e,t)}_cachedMatchRoot=new g(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>ee(e.parent,t.parentScopes));return n?new ne(n.fontStyle,n.foreground,n.background):null}},v=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function ee(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!te(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function te(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var ne=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function re(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&m(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&m(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new ie(l,u,e,o,s,c)}}return n}var ie=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},y=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(y||{});function ae(e,t){e.sort((e,t)=>{let n=f(e.scope,t.scope);return n!==0||(n=p(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new oe(t),o=new ne(n,a.getId(r),a.getId(i)),s=new le(new ce(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new _(a,o,s)}var oe=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},se=Object.freeze([]),ce=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||se,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},le=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),ce.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(p(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new ce(e,t,n,r,i))}},b=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=+!!e.containsBalancedBrackets(t),d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=de(r)),i!==null&&(u=+!!i),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function ue(e){return e}function de(e){return e}function fe(e,t){let n=[],r=me(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(pe(i)){let e=[];do e.push(i),i=r.next();while(pe(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function pe(e){return!!e&&!!e.match(/[\w\.:]+/)}function me(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function he(e){typeof e.dispose==`function`&&e.dispose()}var ge=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},_e=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ve=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},ye=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ge(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ve;for(let n of e)be(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof ge){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function be(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof ge?Se({baseGrammar:a,selfGrammar:i},r):xe(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new ge(e))}function xe(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Ce([r],t,n)}}function Se(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ce(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ce(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ce(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?c({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ce(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=ke(i);switch(a.kind){case 0:Se({...t,selfGrammar:t.baseGrammar},n);break;case 1:Se(t,n);break;case 2:xe(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?xe(a.ruleName,i,n):Se(i,n)}else a.kind===4?n.add(new _e(a.scopeName,a.ruleName)):n.add(new ge(a.scopeName));break}}}var we=class{kind=0},Te=class{kind=1},Ee=class{constructor(e){this.ruleName=e}kind=2},De=class{constructor(e){this.scopeName=e}kind=3},Oe=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ke(e){if(e===`$base`)return new we;if(e===`$self`)return new Te;let t=e.indexOf(`#`);return t===-1?new De(e):t===0?new Ee(e.substring(1)):new Oe(e.substring(0,t),e.substring(t+1))}var Ae=/\\(\d+)/,je=/\\(\d+)/g,Me=-1,Ne=-2;function Pe(e){return e}function Fe(e){return e}var Ie=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=d.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=d.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${l(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:d.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:d.replaceCaptures(this._contentName,e,t)}},Le=class extends Ie{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},Re=class extends Ie{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new Ue(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new We,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ze=class extends Ie{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new We,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Be=class extends Ie{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new Ue(i,this.id),this.beginCaptures=a,this._end=new Ue(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new We;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Ve=class extends Ie{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new Ue(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new Ue(o,Ne),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new We;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new We,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},He=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new Le(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new Re(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=c({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new ze(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new Ve(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new Be(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=ke(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof ze||e instanceof Be||e instanceof Ve)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},Ue=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=Ae.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return je.lastIndex=0,this.source.replace(je,(e,t)=>h(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},We=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new Ge(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new Ge(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},Ge=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
2
+ import{r as e}from"./chunk-BVpWp9h4.js";import{J as t,q as n}from"./index-BlCH2LG4.js";var r=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function i(e){return a(e)}function a(e){return Array.isArray(e)?o(e):e instanceof RegExp?e:typeof e==`object`?s(e):e}function o(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=a(e[n]);return t}function s(e){let t={};for(let n in e)t[n]=a(e[n]);return t}function c(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function l(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?l(e.substring(0,e.length-1)):e.substr(~t+1)}var u=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,d=class{static hasCaptures(e){return e===null?!1:(u.lastIndex=0,u.test(e))}static replaceCaptures(e,t,n){return e.replace(u,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function f(e,t){return e<t?-1:+(e>t)}function p(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=f(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function m(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function h(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var g=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},_=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(re(e),t)}static createFromParsedTheme(e,t){return ae(e,t)}_cachedMatchRoot=new g(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>ee(e.parent,t.parentScopes));return n?new ne(n.fontStyle,n.foreground,n.background):null}},v=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function ee(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!te(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function te(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var ne=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function re(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&m(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&m(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new ie(l,u,e,o,s,c)}}return n}var ie=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},y=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(y||{});function ae(e,t){e.sort((e,t)=>{let n=f(e.scope,t.scope);return n!==0||(n=p(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new oe(t),o=new ne(n,a.getId(r),a.getId(i)),s=new le(new ce(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new _(a,o,s)}var oe=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},se=Object.freeze([]),ce=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||se,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},le=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),ce.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(p(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new ce(e,t,n,r,i))}},b=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=+!!e.containsBalancedBrackets(t),d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=de(r)),i!==null&&(u=+!!i),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function ue(e){return e}function de(e){return e}function fe(e,t){let n=[],r=me(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(pe(i)){let e=[];do e.push(i),i=r.next();while(pe(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function pe(e){return!!e&&!!e.match(/[\w\.:]+/)}function me(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function he(e){typeof e.dispose==`function`&&e.dispose()}var ge=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},_e=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ve=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},ye=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ge(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ve;for(let n of e)be(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof ge){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function be(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof ge?Se({baseGrammar:a,selfGrammar:i},r):xe(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new ge(e))}function xe(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Ce([r],t,n)}}function Se(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ce(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ce(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ce(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?c({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ce(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=ke(i);switch(a.kind){case 0:Se({...t,selfGrammar:t.baseGrammar},n);break;case 1:Se(t,n);break;case 2:xe(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?xe(a.ruleName,i,n):Se(i,n)}else a.kind===4?n.add(new _e(a.scopeName,a.ruleName)):n.add(new ge(a.scopeName));break}}}var we=class{kind=0},Te=class{kind=1},Ee=class{constructor(e){this.ruleName=e}kind=2},De=class{constructor(e){this.scopeName=e}kind=3},Oe=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ke(e){if(e===`$base`)return new we;if(e===`$self`)return new Te;let t=e.indexOf(`#`);return t===-1?new De(e):t===0?new Ee(e.substring(1)):new Oe(e.substring(0,t),e.substring(t+1))}var Ae=/\\(\d+)/,je=/\\(\d+)/g,Me=-1,Ne=-2;function Pe(e){return e}function Fe(e){return e}var Ie=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=d.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=d.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${l(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:d.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:d.replaceCaptures(this._contentName,e,t)}},Le=class extends Ie{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},Re=class extends Ie{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new Ue(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new We,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ze=class extends Ie{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new We,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Be=class extends Ie{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new Ue(i,this.id),this.beginCaptures=a,this._end=new Ue(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new We;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Ve=class extends Ie{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new Ue(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new Ue(o,Ne),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new We;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new We,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},He=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new Le(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new Re(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=c({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new ze(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new Ve(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new Be(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=ke(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof ze||e instanceof Be||e instanceof Ve)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},Ue=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=Ae.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return je.lastIndex=0,this.source.replace(je,(e,t)=>h(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},We=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new Ge(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new Ge(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},Ge=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
3
3
  `)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Ke=class{constructor(e,t){this.languageId=e,this.tokenType=t}},qe=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new Ke(e,8),this._embeddedLanguagesMatcher=new Je(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Ke(0,0);_getBasicScopeAttributes=new g(e=>new Ke(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Je=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>h(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var Ye=!1,Xe=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Ze(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=Qe(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new Xe(i,!0);f()}return new Xe(i,!1);function f(){let o=$e(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===Me){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),at(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof Be){let r=o;at(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof Ve){let r=o;at(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(at(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function Qe(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof Ve&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=rt(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==Ne){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),at(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function $e(e,t,n,r,i,a){let o=et(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=tt(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function et(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=nt(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function tt(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=nt(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function nt(e,t,n,r,i){return Ye?{ruleScanner:e.compile(t,n),findOptions:it(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function rt(e,t,n,r,i){return Ye?{ruleScanner:e.compileWhile(t,n),findOptions:it(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function it(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function at(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));Ze(e,p,n&&d.start===0,d.start,f,i,!1,0),he(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new ot(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var ot=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function st(e,t,n,r,i,a,o,s){return new dt(e,t,n,r,i,a,o,s)}function ct(e,t,n,r,i){let a=fe(t,lt),o=He.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function lt(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(ut(t[r],e))return n=r+1,!0;return!1})}function ut(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var dt=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new qe(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=ft(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=fe(e,lt);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)ct(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&ct(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(Pe(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[Fe(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=ft(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=He.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===mt.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=b.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?pt.createRootAndLookUpScopeName(a,r,this):pt.createRoot(`unknown`,r),t=new mt(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
4
4
  `;let a=this.createOnigString(e),o=a.content.length,s=new gt(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=Ze(this,a,i,0,t,s,!0,r);return he(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function ft(e,t){return e=i(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var pt=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=v.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new v(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new v(null,t),o=r.themeProvider.themeMatch(a);return new e(null,a,e.mergeAttributes(n,i,o))}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),b.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a);return new e(t,a,e.mergeAttributes(t.tokenAttributes,i,o))}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},mt=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?pt.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:Fe(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=pt.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,Pe(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,pt.fromExtension(r,n.contentNameScopesList))}},ht=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):fe(e,lt).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>fe(e,lt).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},gt=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=b.set(n,0,ue(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=b.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},_t=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,st(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},vt=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new _t(_.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(_.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new ht(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new ye(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},yt=mt.NULL;function bt(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function x(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function xt(e){return Array.isArray(e)?e:[e]}async function St(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function Ct(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function wt(e){return e===`ansi`||Ct(e)}function Tt(e){return e===`none`}function Et(e){return Tt(e)}var Dt=/(\r?\n)/g;function Ot(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(Dt),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var kt={light:`#333333`,dark:`#bbbbbb`},At={light:`#fffffe`,dark:`#1e1e1e`},jt=`__shiki_resolved`;function Mt(e){if(e?.[jt])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?kt.light:kt.dark,n||=t.type===`light`?At.light:At.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,jt,{enumerable:!1,writable:!1,value:!0}),t}async function Nt(e){return[...new Set((await Promise.all(e.filter(e=>!wt(e)).map(async e=>await St(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function Pt(e){return(await Promise.all(e.map(async e=>Et(e)?null:Mt(await St(e))))).filter(e=>!!e)}function Ft(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new r(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var It=class extends vt{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=Mt(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=_.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=Ft(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new r(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},Lt=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},Rt=0;function zt(e){Rt+=1,e.warnings!==!1&&Rt>=10&&Rt%10==0&&console.warn(`[Shiki] ${Rt} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new r("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),i=(e.themes||[]).flat(1).map(Mt),a=new It(new Lt(e.engine,n),i,n,e.langAlias),o;function s(t){return Ft(t,e.langAlias)}function c(e){_();let t=a.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new r(`Language \`${e}\` not found, you may need to load it first`);return t}function l(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};_();let t=a.getTheme(e);if(!t)throw new r(`Theme \`${e}\` not found, you may need to load it first`);return t}function u(e){_();let t=l(e);return o!==e&&(a.setTheme(t),o=e),{theme:t,colorMap:a.getColorMap()}}function d(){return _(),a.getLoadedThemes()}function f(){return _(),a.getLoadedLanguages()}function p(...e){_(),a.loadLanguages(e.flat(1))}async function m(...e){return p(await Nt(e))}function h(...e){_();for(let t of e.flat(1))a.loadTheme(t)}async function g(...e){return _(),h(await Pt(e))}function _(){if(t)throw new r(`Shiki instance has been disposed`)}function v(){t||(t=!0,a.dispose(),--Rt)}return{setTheme:u,getTheme:l,getLanguage:c,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:s,loadLanguage:m,loadLanguageSync:p,loadTheme:g,loadThemeSync:h,dispose:v,[Symbol.dispose]:v}}async function Bt(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([Pt(e.themes||[]),Nt(e.langs||[]),e.engine]);return zt({...e,themes:t,langs:n,engine:r})}var Vt=new WeakMap;function Ht(e,t){Vt.set(e,t)}function Ut(e){return Vt.get(e)}var Wt=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(xt(n).map(e=>[e,yt])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return Gt(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Gt(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function Kt(e,t){if(!(e instanceof Wt))throw new r(`Invalid grammar state`);return e.getInternalStack(t)}var qt=/,/,Jt=/ /;function Yt(e,t,n={}){let{theme:i=e.getLoadedThemes()[0]}=n;if(Ct(e.resolveLangAlias(n.lang||`text`))||Tt(i))return Ot(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:a,colorMap:o}=e.setTheme(i),s=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==s.name)throw new r(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${s.name}"`);if(!n.grammarState.themes.includes(a.name))throw new r(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${a.name}"`)}return Zt(t,s,a,o,n)}function Xt(...e){if(e.length===2)return Ut(e[1]);let[t,n,i={}]=e,{lang:a=`text`,theme:o=t.getLoadedThemes()[0]}=i;if(Ct(a)||Tt(o))throw new r(`Plain language does not have grammar state`);if(a===`ansi`)throw new r(`ANSI language does not have grammar state`);let{theme:s,colorMap:c}=t.setTheme(o),l=t.getLanguage(a);return new Wt(Qt(n,l,s,c,i).stateStack,l.name,s.name)}function Zt(e,t,n,r,i){let a=Qt(e,t,n,r,i),o=new Wt(a.stateStack,t.name,n.name);return Ht(a.tokens,o),a.tokens}function Qt(e,t,n,r,i){let a=bt(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=Ot(e),u=i.grammarState?Kt(i.grammarState,n.name)??yt:i.grammarContextCode==null?yt:Qt(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=x(r[b.getForeground(s)],a),u=b.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=b.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(qt).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(Jt))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?$t(t.scopes):en(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function $t(e){return e.map(e=>({scopeName:e}))}function en(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:rn(e,i,t.slice(0,r))}}return n}function tn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function nn(e,t,n){if(!tn(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)tn(e[r],n[i])&&--r,--i;return r===-1}function rn(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(nn(e,t,n)){r.push(a);break}return r}function an(e,t,n,r=Yt){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:Ut(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=on(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new Wt(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&Ht(s,c),s}function on(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var sn=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],cn=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};cn.prototype.normal={},cn.prototype.property={},cn.prototype.space=void 0;function ln(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new cn(n,r,t)}function un(e){return e.toLowerCase()}var S=class{constructor(e,t){this.attribute=t,this.property=e}};S.prototype.attribute=``,S.prototype.booleanish=!1,S.prototype.boolean=!1,S.prototype.commaOrSpaceSeparated=!1,S.prototype.commaSeparated=!1,S.prototype.defined=!1,S.prototype.mustUseProperty=!1,S.prototype.number=!1,S.prototype.overloadedBoolean=!1,S.prototype.property=``,S.prototype.spaceSeparated=!1,S.prototype.space=void 0;var dn=e({boolean:()=>C,booleanish:()=>w,commaOrSpaceSeparated:()=>O,commaSeparated:()=>D,number:()=>T,overloadedBoolean:()=>pn,spaceSeparated:()=>E}),fn=0,C=k(),w=k(),pn=k(),T=k(),E=k(),D=k(),O=k();function k(){return 2**++fn}var mn=Object.keys(dn),hn=class extends S{constructor(e,t,n,r){let i=-1;if(super(e,t),gn(this,`space`,r),typeof n==`number`)for(;++i<mn.length;){let e=mn[i];gn(this,mn[i],(n&dn[e])===dn[e])}}};hn.prototype.defined=!0;function gn(e,t,n){n&&(e[t]=n)}function A(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new hn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[un(r)]=r,n[un(a.attribute)]=r}return new cn(t,n,e.space)}var _n=A({properties:{ariaActiveDescendant:null,ariaAtomic:w,ariaAutoComplete:null,ariaBusy:w,ariaChecked:w,ariaColCount:T,ariaColIndex:T,ariaColSpan:T,ariaControls:E,ariaCurrent:null,ariaDescribedBy:E,ariaDetails:null,ariaDisabled:w,ariaDropEffect:E,ariaErrorMessage:null,ariaExpanded:w,ariaFlowTo:E,ariaGrabbed:w,ariaHasPopup:null,ariaHidden:w,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:E,ariaLevel:T,ariaLive:null,ariaModal:w,ariaMultiLine:w,ariaMultiSelectable:w,ariaOrientation:null,ariaOwns:E,ariaPlaceholder:null,ariaPosInSet:T,ariaPressed:w,ariaReadOnly:w,ariaRelevant:null,ariaRequired:w,ariaRoleDescription:E,ariaRowCount:T,ariaRowIndex:T,ariaRowSpan:T,ariaSelected:w,ariaSetSize:T,ariaSort:null,ariaValueMax:T,ariaValueMin:T,ariaValueNow:T,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function vn(e,t){return t in e?e[t]:t}function yn(e,t){return vn(e,t.toLowerCase())}var bn=A({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:D,acceptCharset:E,accessKey:E,action:null,allow:null,allowFullScreen:C,allowPaymentRequest:C,allowUserMedia:C,alpha:C,alt:null,as:null,async:C,autoCapitalize:null,autoComplete:E,autoFocus:C,autoPlay:C,blocking:E,capture:null,charSet:null,checked:C,cite:null,className:E,closedBy:null,colorSpace:null,cols:T,colSpan:T,command:null,commandFor:null,content:null,contentEditable:w,controls:C,controlsList:E,coords:T|D,crossOrigin:null,data:null,dateTime:null,decoding:null,default:C,defer:C,dir:null,dirName:null,disabled:C,download:pn,draggable:w,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:C,formTarget:null,headers:E,height:T,hidden:pn,high:T,href:null,hrefLang:null,htmlFor:E,httpEquiv:E,id:null,imageSizes:null,imageSrcSet:null,inert:C,inputMode:null,integrity:null,is:null,isMap:C,itemId:null,itemProp:E,itemRef:E,itemScope:C,itemType:E,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:C,low:T,manifest:null,max:null,maxLength:T,media:null,method:null,min:null,minLength:T,multiple:C,muted:C,name:null,nonce:null,noModule:C,noValidate:C,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:C,optimum:T,pattern:null,ping:E,placeholder:null,playsInline:C,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:C,referrerPolicy:null,rel:E,required:C,reversed:C,rows:T,rowSpan:T,sandbox:E,scope:null,scoped:C,seamless:C,selected:C,shadowRootClonable:C,shadowRootCustomElementRegistry:C,shadowRootDelegatesFocus:C,shadowRootMode:null,shadowRootSerializable:C,shape:null,size:T,sizes:null,slot:null,span:T,spellCheck:w,src:null,srcDoc:null,srcLang:null,srcSet:null,start:T,step:null,style:null,tabIndex:T,target:null,title:null,translate:null,type:null,typeMustMatch:C,useMap:null,value:w,width:T,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:E,axis:null,background:null,bgColor:null,border:T,borderColor:null,bottomMargin:T,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:C,declare:C,event:null,face:null,frame:null,frameBorder:null,hSpace:T,leftMargin:T,link:null,longDesc:null,lowSrc:null,marginHeight:T,marginWidth:T,noResize:C,noHref:C,noShade:C,noWrap:C,object:null,profile:null,prompt:null,rev:null,rightMargin:T,rules:null,scheme:null,scrolling:w,standby:null,summary:null,text:null,topMargin:T,valueType:null,version:null,vAlign:null,vLink:null,vSpace:T,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:C,disablePictureInPicture:C,disableRemotePlayback:C,exportParts:D,part:E,prefix:null,property:null,results:T,security:null,unselectable:null},space:`html`,transform:yn}),xn=A({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:O,accentHeight:T,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:T,amplitude:T,arabicForm:null,ascent:T,attributeName:null,attributeType:null,azimuth:T,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:T,by:null,calcMode:null,capHeight:T,className:E,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:T,diffuseConstant:T,direction:null,display:null,dur:null,divisor:T,dominantBaseline:null,download:C,dx:null,dy:null,edgeMode:null,editable:null,elevation:T,enableBackground:null,end:null,event:null,exponent:T,externalResourcesRequired:null,fill:null,fillOpacity:T,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:D,g2:D,glyphName:D,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:T,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:T,horizOriginX:T,horizOriginY:T,id:null,ideographic:T,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:T,k:T,k1:T,k2:T,k3:T,k4:T,kernelMatrix:O,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:T,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:T,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:T,overlineThickness:T,paintOrder:null,panose1:null,path:null,pathLength:T,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:E,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:T,pointsAtY:T,pointsAtZ:T,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:O,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:O,rev:O,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:O,requiredFeatures:O,requiredFonts:O,requiredFormats:O,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:T,specularExponent:T,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:T,strikethroughThickness:T,string:null,stroke:null,strokeDashArray:O,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:T,strokeOpacity:T,strokeWidth:null,style:null,surfaceScale:T,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:O,tabIndex:T,tableValues:null,target:null,targetX:T,targetY:T,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:O,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:T,underlineThickness:T,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:T,values:null,vAlphabetic:T,vMathematical:T,vectorEffect:null,vHanging:T,vIdeographic:T,version:null,vertAdvY:T,vertOriginX:T,vertOriginY:T,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:T,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:vn}),Sn=A({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),Cn=A({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:yn}),wn=A({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),Tn=/[A-Z]/g,En=/-[a-z]/g,Dn=/^data[-\w.:]+$/i;function On(e,t){let n=un(t),r=t,i=S;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&Dn.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(En,An);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!En.test(e)){let n=e.replace(Tn,kn);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=hn}return new i(r,t)}function kn(e){return`-`+e.toLowerCase()}function An(e){return e.charAt(1).toUpperCase()}var jn=ln([_n,bn,Sn,Cn,wn],`html`),Mn=ln([_n,xn,Sn,Cn,wn],`svg`),Nn={}.hasOwnProperty;function Pn(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&Nn.call(t,e)){let n=String(t[e]);i=Nn.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var Fn=/["&'<>`]/g,In=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ln=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Rn=/[|\\{}()[\]^$+*?.]/g,zn=new WeakMap;function Bn(e,t){if(e=e.replace(t.subset?Vn(t.subset):Fn,r),t.subset||t.escapeOnly)return e;return e.replace(In,n).replace(Ln,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function Vn(e){let t=zn.get(e);return t||(t=Hn(e),zn.set(e,t)),t}function Hn(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(Rn,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var Un=/[\dA-Fa-f]/;function Wn(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!Un.test(String.fromCharCode(t))?r:r+`;`}var Gn=/\d/;function Kn(e,t,n){let r=`&#`+String(e);return n&&t&&!Gn.test(String.fromCharCode(t))?r:r+`;`}var qn=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Jn={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},Yn=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],Xn={}.hasOwnProperty,Zn={},Qn;for(Qn in Jn)Xn.call(Jn,Qn)&&(Zn[Jn[Qn]]=Qn);var $n=/[^\dA-Za-z]/;function er(e,t,n,r){let i=String.fromCharCode(e);if(Xn.call(Zn,i)){let e=Zn[i],a=`&`+e;return n&&qn.includes(e)&&!Yn.includes(e)&&(!r||t&&t!==61&&$n.test(String.fromCharCode(t)))?a:a+`;`}return``}function tr(e,t,n){let r=Wn(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=er(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=Kn(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function j(e,t){return Bn(e,Object.assign({format:tr},t))}var nr=/^>|^->|<!--|-->|--!>|<!-$/g,rr=[`>`],ir=[`<`,`>`];function ar(e,t,n,r){return r.settings.bogusComments?`<?`+j(e.value,Object.assign({},r.settings.characterReferences,{subset:rr}))+`>`:`<!--`+e.value.replace(nr,i)+`-->`;function i(e){return j(e,Object.assign({},r.settings.characterReferences,{subset:ir}))}}function or(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}function sr(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function cr(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function lr(e){return e.join(` `).trim()}var ur=/[ \t\n\f\r]/g;function dr(e){return typeof e==`object`?e.type===`text`?fr(e.value):!1:fr(e)}function fr(e){return e.replace(ur,``)===``}var M=hr(1),pr=hr(-1),mr=[];function hr(e){return t;function t(t,n,r){let i=t?t.children:mr,a=(n||0)+e,o=i[a];if(!r)for(;o&&dr(o);)a+=e,o=i[a];return o}}var gr={}.hasOwnProperty;function _r(e){return t;function t(t,n,r){return gr.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var vr=_r({body:xr,caption:yr,colgroup:yr,dd:Tr,dt:wr,head:yr,html:br,li:Cr,optgroup:Dr,option:Or,p:Sr,rp:Er,rt:Er,tbody:Ar,td:Nr,tfoot:jr,th:Nr,thead:kr,tr:Mr});function yr(e,t,n){let r=M(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&dr(r.value.charAt(0)))}function br(e,t,n){let r=M(n,t);return!r||r.type!==`comment`}function xr(e,t,n){let r=M(n,t);return!r||r.type!==`comment`}function Sr(e,t,n){let r=M(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||!(n.type===`element`&&(n.tagName===`a`||n.tagName===`audio`||n.tagName===`del`||n.tagName===`ins`||n.tagName===`map`||n.tagName===`noscript`||n.tagName===`video`))}function Cr(e,t,n){let r=M(n,t);return!r||r.type===`element`&&r.tagName===`li`}function wr(e,t,n){let r=M(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function Tr(e,t,n){let r=M(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function Er(e,t,n){let r=M(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function Dr(e,t,n){let r=M(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function Or(e,t,n){let r=M(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function kr(e,t,n){let r=M(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function Ar(e,t,n){let r=M(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function jr(e,t,n){return!M(n,t)}function Mr(e,t,n){let r=M(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function Nr(e,t,n){let r=M(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var Pr=_r({body:Lr,colgroup:Rr,head:Ir,html:Fr,tbody:zr});function Fr(e){let t=M(e,-1);return!t||t.type!==`comment`}function Ir(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function Lr(e){let t=M(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&dr(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function Rr(e,t,n){let r=pr(n,t),i=M(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&vr(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function zr(e,t,n){let r=pr(n,t),i=M(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&vr(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var Br={name:[[`
5
5
  \f\r &/=>`.split(``),`
@@ -1 +1 @@
1
- var e=`mavea-course-v1`,t=e,n=`mavea-course-frames-v1`,r=`mavea-course-checkpoints-v1`,i=60,a=15e4,o=4096,s=.6;function c(e){return typeof e==`string`&&e.trim().length>0}function l(e){return Array.isArray(e)?e.filter(c).map(e=>e.trim()):[]}function u(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return!c(t.question)||!c(t.answer)?null:{question:t.question.trim(),answer:t.answer.trim()}}).filter(e=>e!==null);return t.length?t:void 0}function d(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.title)||!c(t.goal))return null;let n=l(t.objectives);if(!n.length)return null;let r=u(t.checkpoint);return{id:t.id.trim(),title:t.title.trim(),goal:t.goal.trim(),objectives:n,concepts:l(t.concepts),...typeof t.minutes==`number`&&Number.isFinite(t.minutes)&&t.minutes>0?{minutes:Math.round(t.minutes)}:{},...r?{checkpoint:r}:{}}}var f=new Set([`beginner`,`intermediate`,`expert`]);function p(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.topic)||!c(t.title))return null;let n=Array.isArray(t.lessons)?t.lessons.map(d).filter(e=>e!==null):[];return n.length<3?null:{id:t.id.trim(),topic:t.topic.trim(),title:t.title.trim(),lessons:n,createdAt:typeof t.createdAt==`number`&&Number.isFinite(t.createdAt)?t.createdAt:0,model:typeof t.model==`string`?t.model:``,...c(t.subtitle)?{subtitle:t.subtitle.trim()}:{},...typeof t.level==`string`&&f.has(t.level)?{level:t.level}:{}}}function m(e){if(!e||typeof e!=`object`)return;let t=e,n=typeof t.total==`number`&&t.total>=0?Math.round(t.total):0;if(!n)return;let r=typeof t.correct==`number`&&t.correct>=0?Math.round(t.correct):0,i=Array.isArray(t.missedFronts)?t.missedFronts.filter(c):[];return{total:n,correct:Math.min(r,n),missedFronts:i,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function h(e){if(!e||typeof e!=`object`)return null;let t=e,n=m(t.checkpoint);return{status:t.status===`done`?`done`:`todo`,...n?{checkpoint:n}:{},lastAt:typeof t.lastAt==`number`&&Number.isFinite(t.lastAt)?t.lastAt:0}}function g(e){return{courseId:e,current:0,lessons:{}}}function _(e,t){if(!t||typeof t!=`object`)return g(e);let n=t,r=typeof n.current==`number`&&n.current>=0?Math.round(n.current):0,i={};if(n.lessons&&typeof n.lessons==`object`)for(let[e,t]of Object.entries(n.lessons)){let n=h(t);n&&(i[e]=n)}return{courseId:e,current:r,lessons:i}}function v(e){let t={courses:[],progress:{}};if(!e||typeof e!=`object`)return t;let n=e,r=Array.isArray(n.courses)?n.courses.map(p).filter(e=>e!==null).slice(0,i):[],a=new Set(r.map(e=>e.id)),o={};if(n.progress&&typeof n.progress==`object`)for(let[e,t]of Object.entries(n.progress))a.has(e)&&(o[e]=_(e,t));return{courses:r,progress:o}}var y=null,b=0;function x(){try{if(typeof localStorage>`u`)return{courses:[],progress:{}};let t=localStorage.getItem(e);return t?v(JSON.parse(t)):{courses:[],progress:{}}}catch{return{courses:[],progress:{}}}}function S(){return y||=x(),y}function C(n){y=n,b+=1;try{typeof localStorage<`u`&&localStorage.setItem(e,JSON.stringify(n))}catch{}try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t,{detail:n}))}catch{}}function w(){b+=1;try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t))}catch{}}function T(){return b}function E(e){return typeof window>`u`?()=>{}:(window.addEventListener(t,e),()=>window.removeEventListener(t,e))}var D=null;function O(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function k(e){return e===`replace`||e===`augment`||e===`refine`}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function j(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=A(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>A(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return!O(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`?null:{question:t.question,narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:k(t.mode)?t.mode:`replace`,tour:j(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function N(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=M(t.frame);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),frame:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function P(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>o&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function F(e,t){return`${e}::${t}`}function I(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(N).filter(e=>e!==null):[]).slice(-16)}catch{return[]}}function L(){return D||=I(),D}function R(e){D=e;try{typeof localStorage<`u`&&localStorage.setItem(n,JSON.stringify({entries:e}))}catch{}}function z(e){try{let t=L(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&R(n)}catch{}}var B=null;function V(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=u(t.questions);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),questions:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function H(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(r);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(V).filter(e=>e!==null):[]).slice(-200)}catch{return[]}}function U(){return B||=H(),B}function W(e){B=e;try{typeof localStorage<`u`&&localStorage.setItem(r,JSON.stringify({entries:e}))}catch{}}function G(e){try{let t=U(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&W(n)}catch{}}function K(){return[...S().courses].sort((e,t)=>t.createdAt-e.createdAt)}function q(e){return S().courses.find(t=>t.id===e)}function J(e){return S().progress[e]??g(e)}function Y(e,t){let n=v({courses:e,progress:t});if(!n.courses.length)return 0;let r=S(),i=new Map(r.courses.map(e=>[e.id,e])),a={...r.progress};for(let e of n.courses){let t=i.get(e.id);(!t||e.createdAt>=t.createdAt)&&(i.set(e.id,e),n.progress[e.id]&&(a[e.id]=n.progress[e.id]))}return C(v({courses:[...i.values()],progress:a})),n.courses.length}function X(e){return e.total>0&&e.correct/e.total>=s}function Z(e,t){try{let n=F(e,t),r=L(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return R([...a,o]),o.frame}catch{return}}function Q(e,t){try{let n=F(e,t),r=U(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return W([...a,o]),o.questions}catch{return}}function $(e){try{let t=S(),n=[e,...t.courses.filter(t=>t.id!==e.id)].slice(0,i),r=new Set(n.map(e=>e.id)),a={};for(let[e,n]of Object.entries(t.progress))r.has(e)&&(a[e]=n);a[e.id]||(a[e.id]=g(e.id)),C({courses:n,progress:a}),z(r),G(r)}catch{}}function ee(e){try{let t=S(),n=t.courses.filter(t=>t.id!==e),r={...t.progress};delete r[e],C({courses:n,progress:r});let i=new Set(n.map(e=>e.id));z(i),G(i)}catch{}}function te(e,t){try{let n=S(),r=n.progress[e]??g(e),i={...n.progress,[e]:{...r,current:Math.max(0,Math.round(t))}};C({...n,progress:i})}catch{}}function ne(e,t,n,r=Date.now()){try{let i=S(),a=i.progress[e]??g(e),o=a.lessons[t]?.status===`done`||X(n)?`done`:`todo`,s={...a.lessons,[t]:{status:o,checkpoint:n,lastAt:r}};C({...i,progress:{...i.progress,[e]:{...a,lessons:s}}})}catch{}}function re(e,t,n){try{let r=P(n),i=F(e,t),o={key:i,courseId:e,lessonId:t,frame:r,at:Date.now()};if(JSON.stringify(o).length>a)return;R([...L().filter(e=>e.key!==i),o].slice(-16))}catch{}}function ie(e,t,n){try{if(!n.length)return;let r=F(e,t),i={key:r,courseId:e,lessonId:t,questions:n,at:Date.now()};W([...U().filter(e=>e.key!==r),i].slice(-200)),w()}catch{}}export{Z as a,K as c,X as d,ne as f,E as g,te as h,Q as i,J as l,$ as m,ie as n,q as o,ee as p,re as r,T as s,t,Y as u};
1
+ var e=`mavea-course-v1`,t=e,n=`mavea-course-frames-v1`,r=`mavea-course-checkpoints-v1`,i=60,a=15e4,o=4096,s=.6;function c(e){return typeof e==`string`&&e.trim().length>0}function l(e){return Array.isArray(e)?e.filter(c).map(e=>e.trim()):[]}function u(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return!c(t.question)||!c(t.answer)?null:{question:t.question.trim(),answer:t.answer.trim()}}).filter(e=>e!==null);return t.length?t:void 0}function d(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.title)||!c(t.goal))return null;let n=l(t.objectives);if(!n.length)return null;let r=u(t.checkpoint);return{id:t.id.trim(),title:t.title.trim(),goal:t.goal.trim(),objectives:n,concepts:l(t.concepts),...typeof t.minutes==`number`&&Number.isFinite(t.minutes)&&t.minutes>0?{minutes:Math.round(t.minutes)}:{},...r?{checkpoint:r}:{}}}var f=new Set([`beginner`,`intermediate`,`expert`]);function p(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.topic)||!c(t.title))return null;let n=Array.isArray(t.lessons)?t.lessons.map(d).filter(e=>e!==null):[];return n.length<3?null:{id:t.id.trim(),topic:t.topic.trim(),title:t.title.trim(),lessons:n,createdAt:typeof t.createdAt==`number`&&Number.isFinite(t.createdAt)?t.createdAt:0,model:typeof t.model==`string`?t.model:``,...c(t.subtitle)?{subtitle:t.subtitle.trim()}:{},...typeof t.level==`string`&&f.has(t.level)?{level:t.level}:{}}}function m(e){if(!e||typeof e!=`object`)return;let t=e,n=typeof t.total==`number`&&t.total>=0?Math.round(t.total):0;if(!n)return;let r=typeof t.correct==`number`&&t.correct>=0?Math.round(t.correct):0,i=Array.isArray(t.missedFronts)?t.missedFronts.filter(c):[];return{total:n,correct:Math.min(r,n),missedFronts:i,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function h(e){if(!e||typeof e!=`object`)return null;let t=e,n=m(t.checkpoint);return{status:t.status===`done`?`done`:`todo`,...n?{checkpoint:n}:{},lastAt:typeof t.lastAt==`number`&&Number.isFinite(t.lastAt)?t.lastAt:0}}function g(e){return{courseId:e,current:0,lessons:{}}}function _(e,t){if(!t||typeof t!=`object`)return g(e);let n=t,r=typeof n.current==`number`&&n.current>=0?Math.round(n.current):0,i={};if(n.lessons&&typeof n.lessons==`object`)for(let[e,t]of Object.entries(n.lessons)){let n=h(t);n&&(i[e]=n)}return{courseId:e,current:r,lessons:i}}function v(e){let t={courses:[],progress:{}};if(!e||typeof e!=`object`)return t;let n=e,r=Array.isArray(n.courses)?n.courses.map(p).filter(e=>e!==null).slice(0,i):[],a=new Set(r.map(e=>e.id)),o={};if(n.progress&&typeof n.progress==`object`)for(let[e,t]of Object.entries(n.progress))a.has(e)&&(o[e]=_(e,t));return{courses:r,progress:o}}var y=null,b=0;function x(){try{if(typeof localStorage>`u`)return{courses:[],progress:{}};let t=localStorage.getItem(e);return t?v(JSON.parse(t)):{courses:[],progress:{}}}catch{return{courses:[],progress:{}}}}function S(){return y||=x(),y}function C(n){y=n,b+=1;try{typeof localStorage<`u`&&localStorage.setItem(e,JSON.stringify(n))}catch{}try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t,{detail:n}))}catch{}}function w(){b+=1;try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t))}catch{}}function T(){return b}function E(e){return typeof window>`u`?()=>{}:(window.addEventListener(t,e),()=>window.removeEventListener(t,e))}var D=null;function O(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function k(e){return e===`replace`||e===`augment`||e===`refine`}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function j(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=A(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>A(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return!O(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`?null:{question:t.question,narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:k(t.mode)?t.mode:`replace`,...typeof t.topicShift==`boolean`?{topicShift:t.topicShift}:{},tour:j(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function N(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=M(t.frame);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),frame:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function P(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>o&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function F(e,t){return`${e}::${t}`}function I(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(N).filter(e=>e!==null):[]).slice(-16)}catch{return[]}}function L(){return D||=I(),D}function R(e){D=e;try{typeof localStorage<`u`&&localStorage.setItem(n,JSON.stringify({entries:e}))}catch{}}function z(e){try{let t=L(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&R(n)}catch{}}var B=null;function V(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=u(t.questions);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),questions:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function H(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(r);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(V).filter(e=>e!==null):[]).slice(-200)}catch{return[]}}function U(){return B||=H(),B}function W(e){B=e;try{typeof localStorage<`u`&&localStorage.setItem(r,JSON.stringify({entries:e}))}catch{}}function G(e){try{let t=U(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&W(n)}catch{}}function K(){return[...S().courses].sort((e,t)=>t.createdAt-e.createdAt)}function q(e){return S().courses.find(t=>t.id===e)}function J(e){return S().progress[e]??g(e)}function Y(e,t){let n=v({courses:e,progress:t});if(!n.courses.length)return 0;let r=S(),i=new Map(r.courses.map(e=>[e.id,e])),a={...r.progress};for(let e of n.courses){let t=i.get(e.id);(!t||e.createdAt>=t.createdAt)&&(i.set(e.id,e),n.progress[e.id]&&(a[e.id]=n.progress[e.id]))}return C(v({courses:[...i.values()],progress:a})),n.courses.length}function X(e){return e.total>0&&e.correct/e.total>=s}function Z(e,t){try{let n=F(e,t),r=L(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return R([...a,o]),o.frame}catch{return}}function Q(e,t){try{let n=F(e,t),r=U(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return W([...a,o]),o.questions}catch{return}}function $(e){try{let t=S(),n=[e,...t.courses.filter(t=>t.id!==e.id)].slice(0,i),r=new Set(n.map(e=>e.id)),a={};for(let[e,n]of Object.entries(t.progress))r.has(e)&&(a[e]=n);a[e.id]||(a[e.id]=g(e.id)),C({courses:n,progress:a}),z(r),G(r)}catch{}}function ee(e){try{let t=S(),n=t.courses.filter(t=>t.id!==e),r={...t.progress};delete r[e],C({courses:n,progress:r});let i=new Set(n.map(e=>e.id));z(i),G(i)}catch{}}function te(e,t){try{let n=S(),r=n.progress[e]??g(e),i={...n.progress,[e]:{...r,current:Math.max(0,Math.round(t))}};C({...n,progress:i})}catch{}}function ne(e,t,n,r=Date.now()){try{let i=S(),a=i.progress[e]??g(e),o=a.lessons[t]?.status===`done`||X(n)?`done`:`todo`,s={...a.lessons,[t]:{status:o,checkpoint:n,lastAt:r}};C({...i,progress:{...i.progress,[e]:{...a,lessons:s}}})}catch{}}function re(e,t,n){try{let r=P(n),i=F(e,t),o={key:i,courseId:e,lessonId:t,frame:r,at:Date.now()};if(JSON.stringify(o).length>a)return;R([...L().filter(e=>e.key!==i),o].slice(-16))}catch{}}function ie(e,t,n){try{if(!n.length)return;let r=F(e,t),i={key:r,courseId:e,lessonId:t,questions:n,at:Date.now()};W([...U().filter(e=>e.key!==r),i].slice(-200)),w()}catch{}}export{Z as a,K as c,X as d,ne as f,E as g,te as h,Q as i,J as l,$ as m,ie as n,q as o,ee as p,re as r,T as s,t,Y as u};
@@ -1 +1 @@
1
- import{l as e}from"./store-4JNNn732.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=`mavea-live-atlas-v1`,i=r,a=500,o=null,s=!1,c=0;function l(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function u(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.question==`string`&&typeof t.title==`string`&&typeof t.firstSeen==`number`&&typeof t.savedAt==`number`&&typeof t.blocks==`number`}function d(t){return Array.isArray(t)?t.filter(u).map(t=>({...t,question:e(t.question)})):[]}async function f(e){let n=++c;try{let i=await t(e);if(n!==c)return;localStorage.setItem(r,i)}catch{}}function p(){try{let e=localStorage.getItem(r);if(!e)return[];let t=d(JSON.parse(e));return t.length&&f(t),t}catch{return[]}}async function m(){try{let e=localStorage.getItem(r);if(!e)return;try{JSON.parse(e);return}catch{}let t=d(await n(e));if(s)return;o=t,s=!0,window.dispatchEvent(new CustomEvent(i))}catch{}}m();function h(){return o??=p(),o}function g(e){let t=d(e);o=t,s=!0,f(t);try{window.dispatchEvent(new CustomEvent(i))}catch{}}function _(){return h()}function v(e){let t=d(e);if(!t.length)return 0;let n=new Map(h().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);if(!t)n.set(e.id,e);else{let r=Math.min(t.firstSeen,e.firstSeen);n.set(e.id,e.savedAt>=t.savedAt?{...e,firstSeen:r}:{...t,firstSeen:r})}}return g([...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a)),t.length}function y(e){try{let t=[...h()],n=new Map(t.map(e=>[e.id,e])),r=!1;for(let t of e){let e=l(t.question);if(!e)continue;let i={id:e,question:t.question,title:t.title,firstSeen:n.get(e)?.firstSeen??t.savedAt,savedAt:t.savedAt,blocks:t.spec.blocks.length,...t.topic?{topic:t.topic}:{}},a=n.get(e);a&&a.savedAt===i.savedAt&&a.blocks===i.blocks||(n.set(e,i),r=!0)}if(!r)return t.length;let i=[...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a);return g(i),i.length}catch{return h().length}}function b(e,t){return t.find(t=>l(t.question)===e.id)}var x=`mavea-live-atlas-last-open`;function S(){try{let e=typeof localStorage<`u`?localStorage.getItem(x):null;return e&&parseInt(e,10)||0}catch{return 0}}function C(){try{typeof localStorage<`u`&&localStorage.setItem(x,String(Date.now()))}catch{}}export{b as a,C as i,S as n,y as o,v as r,_ as t};
1
+ import{l as e}from"./store-DrBDvqXF.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=`mavea-live-atlas-v1`,i=r,a=500,o=null,s=!1,c=0;function l(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function u(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.question==`string`&&typeof t.title==`string`&&typeof t.firstSeen==`number`&&typeof t.savedAt==`number`&&typeof t.blocks==`number`}function d(t){return Array.isArray(t)?t.filter(u).map(t=>({...t,question:e(t.question)})):[]}async function f(e){let n=++c;try{let i=await t(e);if(n!==c)return;localStorage.setItem(r,i)}catch{}}function p(){try{let e=localStorage.getItem(r);if(!e)return[];let t=d(JSON.parse(e));return t.length&&f(t),t}catch{return[]}}async function m(){try{let e=localStorage.getItem(r);if(!e)return;try{JSON.parse(e);return}catch{}let t=d(await n(e));if(s)return;o=t,s=!0,window.dispatchEvent(new CustomEvent(i))}catch{}}m();function h(){return o??=p(),o}function g(e){let t=d(e);o=t,s=!0,f(t);try{window.dispatchEvent(new CustomEvent(i))}catch{}}function _(){return h()}function v(e){let t=d(e);if(!t.length)return 0;let n=new Map(h().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);if(!t)n.set(e.id,e);else{let r=Math.min(t.firstSeen,e.firstSeen);n.set(e.id,e.savedAt>=t.savedAt?{...e,firstSeen:r}:{...t,firstSeen:r})}}return g([...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a)),t.length}function y(e){try{let t=[...h()],n=new Map(t.map(e=>[e.id,e])),r=!1;for(let t of e){let e=l(t.question);if(!e)continue;let i={id:e,question:t.question,title:t.title,firstSeen:n.get(e)?.firstSeen??t.savedAt,savedAt:t.savedAt,blocks:t.spec.blocks.length,...t.topic?{topic:t.topic}:{}},a=n.get(e);a&&a.savedAt===i.savedAt&&a.blocks===i.blocks||(n.set(e,i),r=!0)}if(!r)return t.length;let i=[...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a);return g(i),i.length}catch{return h().length}}function b(e,t){return t.find(t=>l(t.question)===e.id)}var x=`mavea-live-atlas-last-open`;function S(){try{let e=typeof localStorage<`u`?localStorage.getItem(x):null;return e&&parseInt(e,10)||0}catch{return 0}}function C(){try{typeof localStorage<`u`&&localStorage.setItem(x,String(Date.now()))}catch{}}export{b as a,C as i,S as n,y as o,v as r,_ as t};
@@ -1 +1 @@
1
- import{l as e}from"./store-4JNNn732.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=[`stat`,`value`,`big`,`headline`];function i(e){let t=[e.points,e.bars,e.data,e.series,e.values];for(let e of t){if(!Array.isArray(e))continue;let t=e.map(e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`){let t=e,n=t.v??t.y??t.value;if(typeof n==`number`)return n}return NaN}).filter(e=>Number.isFinite(e));if(t.length>=2)return t.slice(0,24)}}function a(e){return e.find(e=>e.type===`insight`&&!!e.id)||e.find(e=>{if(!e.id)return!1;let t=e.props??{};return r.some(e=>typeof t[e]==`string`&&t[e].trim())})}function o(e){let t=a(e.blocks);if(!t)return null;let n=t.props??{},o=r.find(e=>typeof n[e]==`string`&&n[e].trim());if(!o)return null;let s=typeof n.delta==`string`&&n.delta.trim()?n.delta.trim():void 0,c=typeof n.deltaDir==`string`?n.deltaDir:void 0,l=typeof n.unit==`string`&&n.unit.trim()?n.unit.trim():void 0;return{value:n[o].trim(),unit:l,delta:s,deltaDir:c,points:i(n),kind:t.type}}var s=`mavea-live-library-v1`,c=s,l=12,u=24e4,d=4096,f=null,p=0;function m(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return p+=1,`lib-${p.toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}function h(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function g(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>d&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function _(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function v(t){if(!t||typeof t!=`object`)return null;let n=t;if(!_(n.spec))return null;let r=typeof n.question==`string`?e(n.question):``;return r.trim()?{id:typeof n.id==`string`&&n.id?n.id:m(),question:r,title:typeof n.title==`string`?n.title:n.spec.title??``,savedAt:typeof n.savedAt==`number`&&Number.isFinite(n.savedAt)?n.savedAt:0,lead:n.lead&&typeof n.lead==`object`?n.lead:null,spec:n.spec,...typeof n.topic==`string`&&n.topic?{topic:n.topic}:{}}:null}var y=!1,b=0;function x(e){return Array.isArray(e)?e.map(v).filter(e=>e!==null).slice(0,l):[]}async function S(e){let n=++b;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==b)return;localStorage.setItem(s,r)}catch{}}function C(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(s);if(!e)return[];let t=x(JSON.parse(e));return t.length&&S(t),t}catch{return[]}}async function w(){try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(s);if(!e)return;try{JSON.parse(e);return}catch{}let t=x(await n(e));if(y)return;f=t,y=!0,typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}w();function T(){return f||(f=C(),f)}function E(e){let t=x(e);f=t,y=!0,S(t);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}function D(){return T()}function O(e){let t=e.map(v).filter(e=>e!==null);if(!t.length)return 0;let n=new Map(T().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);(!t||e.savedAt>=t.savedAt)&&n.set(e.id,e)}return E([...n.values()].sort((e,t)=>t.savedAt-e.savedAt)),t.length}function k(e,t,n=Date.now()){try{let r=t.trim();if(!r||!_(e)||e.blocks.length===0)return;let i=g(e),a={id:m(),question:r,title:i.title??``,savedAt:n,lead:o(i),spec:i,...i.topic?{topic:i.topic}:{}};if(JSON.stringify(a).length>u)return;let s=h(r);E([a,...T().filter(e=>h(e.question)!==s)].slice(0,l))}catch{}}function A(e){let t=T().filter(t=>t.id!==e);t.length!==T().length&&E(t)}function j(){E([])}export{A as a,O as i,j as n,k as o,D as r,c as t};
1
+ import{l as e}from"./store-DrBDvqXF.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=[`stat`,`value`,`big`,`headline`];function i(e){let t=[e.points,e.bars,e.data,e.series,e.values];for(let e of t){if(!Array.isArray(e))continue;let t=e.map(e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`){let t=e,n=t.v??t.y??t.value;if(typeof n==`number`)return n}return NaN}).filter(e=>Number.isFinite(e));if(t.length>=2)return t.slice(0,24)}}function a(e){return e.find(e=>e.type===`insight`&&!!e.id)||e.find(e=>{if(!e.id)return!1;let t=e.props??{};return r.some(e=>typeof t[e]==`string`&&t[e].trim())})}function o(e){let t=a(e.blocks);if(!t)return null;let n=t.props??{},o=r.find(e=>typeof n[e]==`string`&&n[e].trim());if(!o)return null;let s=typeof n.delta==`string`&&n.delta.trim()?n.delta.trim():void 0,c=typeof n.deltaDir==`string`?n.deltaDir:void 0,l=typeof n.unit==`string`&&n.unit.trim()?n.unit.trim():void 0;return{value:n[o].trim(),unit:l,delta:s,deltaDir:c,points:i(n),kind:t.type}}var s=`mavea-live-library-v1`,c=s,l=12,u=24e4,d=4096,f=null,p=0;function m(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return p+=1,`lib-${p.toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}function h(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function g(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>d&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function _(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function v(t){if(!t||typeof t!=`object`)return null;let n=t;if(!_(n.spec))return null;let r=typeof n.question==`string`?e(n.question):``;return r.trim()?{id:typeof n.id==`string`&&n.id?n.id:m(),question:r,title:typeof n.title==`string`?n.title:n.spec.title??``,savedAt:typeof n.savedAt==`number`&&Number.isFinite(n.savedAt)?n.savedAt:0,lead:n.lead&&typeof n.lead==`object`?n.lead:null,spec:n.spec,...typeof n.topic==`string`&&n.topic?{topic:n.topic}:{}}:null}var y=!1,b=0;function x(e){return Array.isArray(e)?e.map(v).filter(e=>e!==null).slice(0,l):[]}async function S(e){let n=++b;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==b)return;localStorage.setItem(s,r)}catch{}}function C(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(s);if(!e)return[];let t=x(JSON.parse(e));return t.length&&S(t),t}catch{return[]}}async function w(){try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(s);if(!e)return;try{JSON.parse(e);return}catch{}let t=x(await n(e));if(y)return;f=t,y=!0,typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}w();function T(){return f||(f=C(),f)}function E(e){let t=x(e);f=t,y=!0,S(t);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}function D(){return T()}function O(e){let t=e.map(v).filter(e=>e!==null);if(!t.length)return 0;let n=new Map(T().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);(!t||e.savedAt>=t.savedAt)&&n.set(e.id,e)}return E([...n.values()].sort((e,t)=>t.savedAt-e.savedAt)),t.length}function k(e,t,n=Date.now()){try{let r=t.trim();if(!r||!_(e)||e.blocks.length===0)return;let i=g(e),a={id:m(),question:r,title:i.title??``,savedAt:n,lead:o(i),spec:i,...i.topic?{topic:i.topic}:{}};if(JSON.stringify(a).length>u)return;let s=h(r);E([a,...T().filter(e=>h(e.question)!==s)].slice(0,l))}catch{}}function A(e){let t=T().filter(t=>t.id!==e);t.length!==T().length&&E(t)}function j(){E([])}export{A as a,O as i,j as n,k as o,D as r,c as t};
@@ -1 +1 @@
1
- import{r as e}from"./chunk-BVpWp9h4.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";function r(e){let t=(e??``).trim();if(!t)return``;if(/^You are Mavéa, an AI presence\.\s*Generate a concise morning brief/i.test(t))return`Morning brief`;let n=t.match(/^Correction —[\s\S]*?it's actually "([^"]+)"/i);if(n)return`Correction: ${n[1]}`;if(/^Fuse these/i.test(t)){let e=t.match(/between "([^"]+)" and "([^"]+)"/i);return e?`Fuse: ${e[1]} × ${e[2]}`:`Fuse`}let r=t.match(/^Refresh this — is "([^"]+)" still current/i);if(r)return r[1];if(/^I just thought out loud for about/i.test(t))return`Your thinking, sorted`;let i=t.match(/^I've been thinking out loud(?: and here's what it comes down to: ([^\n]+))?/i);return i?i[1]?.trim()||`Your thinking`:t}function i(e){return e.toLowerCase().replace(/['’]/g,``).replace(/[^a-z0-9]+/g,` `).trim()}function a(e,t){let n=t?.failOpen??!1;if(!e||!e.trim())return()=>n;let r=i(e),a=r.split(` `).filter(Boolean);return e=>{let t=i(e);if(!t)return!1;if(r.includes(t))return!0;let n=t.split(` `).filter(Boolean),o=n.length;if(o===0)return!1;let s=Math.ceil(o*.9),c=new Set(n);for(let e=0;e+o<=a.length;e++){let t=0;for(let n=0;n<o;n++)c.has(a[e+n])&&t++;if(t>=s)return!0}return!1}}var o=80,s=120,c=90,l=120,u=120,d=30,f=32,p=/\b(?:trauma(?:ti[sz](?:ed?|ing))?|ptsd|clinical depression|major depression|anxiety disorder|bipolar|narcissistic|borderline personality|attachment disorder|co-?dependent(?:ency)?|dissociat(?:e|ed|ion)|avoidant attachment|anxious attachment|emotional dysregulation|hypervigilance|love-?bombing|codependency|enmeshment|enmeshed|parentif(?:ied|ying)|scapegoat(?:ing)?|golden child)\b/i,m=new Set([`person`,`option`,`want`,`fear`,`constraint`,`tradeoff`,`contradiction`,`open_loop`,`action`,`value`,`question`]),h=new Set([`supports`,`tensions`,`depends_on`,`same_thread`,`blocks`]),g=new Set([`forming`,`stable`,`maybe`]),_=new Set([`said`,`inferred`]);function v(e,t){if(typeof e!=`string`)return null;let n=e.trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:null}function y(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=m.has(n.kind)?n.kind:null;if(!i)return null;let a=v(n.label,o);if(!a)return null;let c=v(n.quote,s);if(!c||p.test(a)||p.test(c)||!t(c))return null;let l=g.has(n.status)?n.status:`stable`,u=_.has(n.confidence)?n.confidence:`said`,d=typeof n.weight==`number`?n.weight:1;return{id:r,kind:i,label:a,quote:c,status:l,confidence:u,weight:Math.max(1,Math.min(3,Math.round(d)))}}function b(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.from,32),i=v(n.to,32);if(!r||!i||t&&(!t.has(r)||!t.has(i))||r===i)return null;let a=h.has(n.kind)?n.kind:null;if(!a)return null;let o=typeof n.label==`string`?v(n.label,d)??void 0:void 0;return{from:r,to:i,kind:a,...o?{label:o}:{}}}function x(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=v(n.label,f);if(!i||p.test(i))return null;let a=Array.isArray(n.atomIds)?n.atomIds:[],o=new Set,s=[];for(let e of a){let n=v(e,32);n&&t.has(n)&&!o.has(n)&&(o.add(n),s.push(n))}if(s.length===0)return null;let c=typeof n.weight==`number`?n.weight:1;return{id:r,label:i,atomIds:s,weight:Math.max(1,Math.min(3,Math.round(c)))}}function S(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=v(n.center,c);if(!r)return null;let i=typeof n.title==`string`?v(n.title,60)??void 0:void 0,o=a(t,{failOpen:!0}),s=(Array.isArray(n.atoms)?n.atoms:[]).map(e=>y(e,o)).filter(e=>e!==null);if(s.length===0)return null;let d=new Set(s.map(e=>e.id)),f=(Array.isArray(n.links)?n.links:[]).map(e=>b(e,d)).filter(e=>e!==null),m=(Array.isArray(n.clusters)?n.clusters:[]).map(e=>x(e,d)).filter(e=>e!==null),h;if(n.unsaid&&typeof n.unsaid==`object`&&!Array.isArray(n.unsaid)){let e=n.unsaid,t=v(e.label,l),r=v(e.why,u);t&&r&&!p.test(t)&&!p.test(r)&&(h={label:t,why:r,confidence:`maybe`})}return{center:r,...i?{title:i}:{},atoms:s,links:f,...m.length?{clusters:m}:{},...h?{unsaid:h}:{}}}function C(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=a(t,{failOpen:!0}),i=(Array.isArray(n.add)?n.add:[]).map(e=>y(e,r)).filter(e=>e!==null),o=(Array.isArray(n.addLinks)?n.addLinks:[]).map(e=>b(e)).filter(e=>e!==null);return i.length===0&&o.length===0?null:{add:i,addLinks:o}}var w=e({SESSION_STORAGE_KEY:()=>E,SESSION_TTL_MS:()=>D,SESSION_TURNS_CAP:()=>10,clearSession:()=>X,hasSavedSession:()=>Y,loadSession:()=>J,saveSession:()=>K,whenSessionSettled:()=>q});function T(e){return e===`replace`||e===`augment`||e===`refine`}var E=`mavea-live-session-v1`,D=10080*60*1e3,O=6e5,k=4096;function A(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>k&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function j(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return t.role!==`user`&&t.role!==`assistant`||typeof t.content!=`string`?null:{role:t.role,content:t.role===`user`?r(t.content):t.content}}function N(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function P(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=N(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>N(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function F(e){if(!e||typeof e!=`object`)return null;let t=e;if(!j(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`)return null;let n=t.mind?S(t.mind):null;return{question:r(t.question),narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:T(t.mode)?t.mode:`replace`,tour:P(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0,...n?{mind:n}:{}}}var I=null,L=!1,R=null,z=0,B=0;function V(e){let t=e;if(!t||typeof t!=`object`||t.v!==1||typeof t.savedAt!=`number`||!Number.isFinite(t.savedAt)||!Array.isArray(t.frames))return null;let n=t.frames.map(F).filter(e=>e!==null).slice(-10);if(!n.length)return null;let r=(Array.isArray(t.history)?t.history:[]).map(M).filter(e=>e!==null);return{v:1,savedAt:t.savedAt,history:r,frames:n}}async function H(e){let n=++B;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==B)return;localStorage.setItem(E,r)}catch{}}function U(){try{if(typeof localStorage>`u`)return null;let e=localStorage.getItem(E);if(!e)return null;let t=V(JSON.parse(e));return t&&H(t),t}catch{return null}}var W=null;function G(){return L?Promise.resolve():W||(W=(async()=>{try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(E);if(!e)return;let t,r=!1;try{t=V(JSON.parse(e)),r=t!==null}catch{t=V(await n(e))}if(L)return;I=t,t&&(R=t,r&&H(t))}catch{}finally{L=!0,W=null}})(),W)}G();function K(e,t,n=Date.now()){if(!L){let r=z;G().then(()=>{r===z&&(L=!0,K(e,t,n))});return}try{if(typeof localStorage>`u`)return;if(!t.length){X();return}let r=R&&n-R.savedAt<=6048e5?R:null,i=r?.frames.length?r.frames[r.frames.length-1]:null,a=!!i&&!t.some(e=>e.at===i.at),o=a?[...r.frames,...t]:t,s=a?[...r.history,...e]:e,c=A(o.slice(-10)).map(F).filter(e=>e!==null),l={v:1,savedAt:n,history:s.slice(-20).map(M).filter(e=>e!==null),frames:c},u=JSON.stringify(l);for(;u.length>O&&c.length>1;)c=c.slice(1),l={...l,frames:c},u=JSON.stringify(l);if(u.length>O)return;I=l,L=!0,H(l)}catch{}}function q(e=1200){return L?Promise.resolve():Promise.race([G(),new Promise(t=>setTimeout(t,e))]).then(()=>void 0)}function J(e=Date.now()){let t=I??U();return t&&!I&&(I=t,L=!0),t?e-t.savedAt>6048e5?null:t:(G(),null)}function Y(){if(I)return!0;try{return typeof localStorage<`u`&&!!localStorage.getItem(`mavea-live-session-v1`)}catch{return!1}}function X(){I=null,R=null,L=!0,z++,B++;try{typeof localStorage<`u`&&localStorage.removeItem(E)}catch{}}export{K as a,C as c,J as i,r as l,X as n,w as o,Y as r,S as s,E as t};
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";function r(e){let t=(e??``).trim();if(!t)return``;if(/^You are Mavéa, an AI presence\.\s*Generate a concise morning brief/i.test(t))return`Morning brief`;let n=t.match(/^Correction —[\s\S]*?it's actually "([^"]+)"/i);if(n)return`Correction: ${n[1]}`;if(/^Fuse these/i.test(t)){let e=t.match(/between "([^"]+)" and "([^"]+)"/i);return e?`Fuse: ${e[1]} × ${e[2]}`:`Fuse`}let r=t.match(/^Refresh this — is "([^"]+)" still current/i);if(r)return r[1];if(/^I just thought out loud for about/i.test(t))return`Your thinking, sorted`;let i=t.match(/^I've been thinking out loud(?: and here's what it comes down to: ([^\n]+))?/i);return i?i[1]?.trim()||`Your thinking`:t}function i(e){return e.toLowerCase().replace(/['’]/g,``).replace(/[^a-z0-9]+/g,` `).trim()}function a(e,t){let n=t?.failOpen??!1;if(!e||!e.trim())return()=>n;let r=i(e),a=r.split(` `).filter(Boolean);return e=>{let t=i(e);if(!t)return!1;if(r.includes(t))return!0;let n=t.split(` `).filter(Boolean),o=n.length;if(o===0)return!1;let s=Math.ceil(o*.9),c=new Set(n);for(let e=0;e+o<=a.length;e++){let t=0;for(let n=0;n<o;n++)c.has(a[e+n])&&t++;if(t>=s)return!0}return!1}}var o=80,s=120,c=90,l=120,u=120,d=30,f=32,p=/\b(?:trauma(?:ti[sz](?:ed?|ing))?|ptsd|clinical depression|major depression|anxiety disorder|bipolar|narcissistic|borderline personality|attachment disorder|co-?dependent(?:ency)?|dissociat(?:e|ed|ion)|avoidant attachment|anxious attachment|emotional dysregulation|hypervigilance|love-?bombing|codependency|enmeshment|enmeshed|parentif(?:ied|ying)|scapegoat(?:ing)?|golden child)\b/i,m=new Set([`person`,`option`,`want`,`fear`,`constraint`,`tradeoff`,`contradiction`,`open_loop`,`action`,`value`,`question`]),h=new Set([`supports`,`tensions`,`depends_on`,`same_thread`,`blocks`]),g=new Set([`forming`,`stable`,`maybe`]),_=new Set([`said`,`inferred`]);function v(e,t){if(typeof e!=`string`)return null;let n=e.trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:null}function y(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=m.has(n.kind)?n.kind:null;if(!i)return null;let a=v(n.label,o);if(!a)return null;let c=v(n.quote,s);if(!c||p.test(a)||p.test(c)||!t(c))return null;let l=g.has(n.status)?n.status:`stable`,u=_.has(n.confidence)?n.confidence:`said`,d=typeof n.weight==`number`?n.weight:1;return{id:r,kind:i,label:a,quote:c,status:l,confidence:u,weight:Math.max(1,Math.min(3,Math.round(d)))}}function b(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.from,32),i=v(n.to,32);if(!r||!i||t&&(!t.has(r)||!t.has(i))||r===i)return null;let a=h.has(n.kind)?n.kind:null;if(!a)return null;let o=typeof n.label==`string`?v(n.label,d)??void 0:void 0;return{from:r,to:i,kind:a,...o?{label:o}:{}}}function x(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=v(n.label,f);if(!i||p.test(i))return null;let a=Array.isArray(n.atomIds)?n.atomIds:[],o=new Set,s=[];for(let e of a){let n=v(e,32);n&&t.has(n)&&!o.has(n)&&(o.add(n),s.push(n))}if(s.length===0)return null;let c=typeof n.weight==`number`?n.weight:1;return{id:r,label:i,atomIds:s,weight:Math.max(1,Math.min(3,Math.round(c)))}}function S(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=v(n.center,c);if(!r)return null;let i=typeof n.title==`string`?v(n.title,60)??void 0:void 0,o=a(t,{failOpen:!0}),s=(Array.isArray(n.atoms)?n.atoms:[]).map(e=>y(e,o)).filter(e=>e!==null);if(s.length===0)return null;let d=new Set(s.map(e=>e.id)),f=(Array.isArray(n.links)?n.links:[]).map(e=>b(e,d)).filter(e=>e!==null),m=(Array.isArray(n.clusters)?n.clusters:[]).map(e=>x(e,d)).filter(e=>e!==null),h;if(n.unsaid&&typeof n.unsaid==`object`&&!Array.isArray(n.unsaid)){let e=n.unsaid,t=v(e.label,l),r=v(e.why,u);t&&r&&!p.test(t)&&!p.test(r)&&(h={label:t,why:r,confidence:`maybe`})}return{center:r,...i?{title:i}:{},atoms:s,links:f,...m.length?{clusters:m}:{},...h?{unsaid:h}:{}}}function C(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=a(t,{failOpen:!0}),i=(Array.isArray(n.add)?n.add:[]).map(e=>y(e,r)).filter(e=>e!==null),o=(Array.isArray(n.addLinks)?n.addLinks:[]).map(e=>b(e)).filter(e=>e!==null);return i.length===0&&o.length===0?null:{add:i,addLinks:o}}var w=e({SESSION_STORAGE_KEY:()=>E,SESSION_TTL_MS:()=>D,SESSION_TURNS_CAP:()=>10,clearSession:()=>X,hasSavedSession:()=>Y,loadSession:()=>J,saveSession:()=>K,whenSessionSettled:()=>q});function T(e){return e===`replace`||e===`augment`||e===`refine`}var E=`mavea-live-session-v1`,D=10080*60*1e3,O=6e5,k=4096;function A(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>k&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function j(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return t.role!==`user`&&t.role!==`assistant`||typeof t.content!=`string`?null:{role:t.role,content:t.role===`user`?r(t.content):t.content}}function N(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function P(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=N(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>N(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function F(e){if(!e||typeof e!=`object`)return null;let t=e;if(!j(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`)return null;let n=t.mind?S(t.mind):null;return{question:r(t.question),narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:T(t.mode)?t.mode:`replace`,...typeof t.topicShift==`boolean`?{topicShift:t.topicShift}:{},tour:P(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0,...n?{mind:n}:{}}}var I=null,L=!1,R=null,z=0,B=0;function V(e){let t=e;if(!t||typeof t!=`object`||t.v!==1||typeof t.savedAt!=`number`||!Number.isFinite(t.savedAt)||!Array.isArray(t.frames))return null;let n=t.frames.map(F).filter(e=>e!==null).slice(-10);if(!n.length)return null;let r=(Array.isArray(t.history)?t.history:[]).map(M).filter(e=>e!==null);return{v:1,savedAt:t.savedAt,history:r,frames:n}}async function H(e){let n=++B;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==B)return;localStorage.setItem(E,r)}catch{}}function U(){try{if(typeof localStorage>`u`)return null;let e=localStorage.getItem(E);if(!e)return null;let t=V(JSON.parse(e));return t&&H(t),t}catch{return null}}var W=null;function G(){return L?Promise.resolve():W||(W=(async()=>{try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(E);if(!e)return;let t,r=!1;try{t=V(JSON.parse(e)),r=t!==null}catch{t=V(await n(e))}if(L)return;I=t,t&&(R=t,r&&H(t))}catch{}finally{L=!0,W=null}})(),W)}G();function K(e,t,n=Date.now()){if(!L){let r=z;G().then(()=>{r===z&&(L=!0,K(e,t,n))});return}try{if(typeof localStorage>`u`)return;if(!t.length){X();return}let r=R&&n-R.savedAt<=6048e5?R:null,i=r?.frames.length?r.frames[r.frames.length-1]:null,a=!!i&&!t.some(e=>e.at===i.at),o=a?[...r.frames,...t]:t,s=a?[...r.history,...e]:e,c=A(o.slice(-10)).map(F).filter(e=>e!==null),l={v:1,savedAt:n,history:s.slice(-20).map(M).filter(e=>e!==null),frames:c},u=JSON.stringify(l);for(;u.length>O&&c.length>1;)c=c.slice(1),l={...l,frames:c},u=JSON.stringify(l);if(u.length>O)return;I=l,L=!0,H(l)}catch{}}function q(e=1200){return L?Promise.resolve():Promise.race([G(),new Promise(t=>setTimeout(t,e))]).then(()=>void 0)}function J(e=Date.now()){let t=I??U();return t&&!I&&(I=t,L=!0),t?e-t.savedAt>6048e5?null:t:(G(),null)}function Y(){if(I)return!0;try{return typeof localStorage<`u`&&!!localStorage.getItem(`mavea-live-session-v1`)}catch{return!1}}function X(){I=null,R=null,L=!0,z++,B++;try{typeof localStorage<`u`&&localStorage.removeItem(E)}catch{}}export{K as a,C as c,J as i,r as l,X as n,w as o,Y as r,S as s,E as t};
@@ -0,0 +1 @@
1
+ function e(e,t){let n=0;for(let r=0;r<e.length;r++)n+=e[r]*t[r];return n}function t(t){return t!=null&&e(t,t)>1e-6}function n(e){return e.topicShift??e.mode===`replace`}function r(r,i){let a=[],o=null;for(let s=0;s<r.length;s++){let c=i?.[s]??null,l=t(c),u;if(s===0)u=!0;else if(!l||o===null)u=n(r[s]);else{let t=Math.sqrt(e(o,o)),i=t>0?e(c,o)/t:0;u=i<.16?!0:i<.4?n(r[s]):!1}if(a.push(u),u)o=l?Float32Array.from(c):null;else if(l)if(o===null)o=Float32Array.from(c);else for(let e=0;e<c.length;e++)o[e]+=c[e]}return a}export{r as n,n as t};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/liveSchema-CJ49PX5R.js","assets/catalog-Dqaq2YFd.js","assets/index-y8GL67bB.js","assets/chunk-BVpWp9h4.js","assets/jsx-runtime-DaSxXjOY.js","assets/react-BQSORdFI.js","assets/lazyRetry-D50B1UMY.js","assets/index-CepQEz75.css","assets/facts-BBTt3ImG.js","assets/annotations-D2K9A5GB.js","assets/providers-wzm7E8Pa.js","assets/http-CJCtjYpA.js","assets/info-CiqHR5cs.js","assets/icons-CHVz6kv_.js","assets/catalog-BHjl-1uH.js","assets/safeImageUrl-CUkucDUu.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-D4zPX9JY.js","assets/streamParse-DRgMHWye.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{J as n,ht as r,q as i}from"./index-y8GL67bB.js";import{i as a,t as o}from"./http-CJCtjYpA.js";import{t as s}from"./providers-wzm7E8Pa.js";import{C as c,R as l,S as u,T as d,h as f,j as p,w as m,x as h}from"./useStudy-Bflreq2a.js";import{l as g,n as _}from"./useLiveConfig-X9Wxh90k.js";import{a as v,b as y,d as b,i as x,m as S,p as C,r as w,t as T,u as ee,v as E,y as te}from"./dashboardEvents-DR9d_c74.js";import{i as D}from"./format-hc2QOoIu.js";import{n as ne}from"./number-DXgzss0v.js";import{t as O}from"./json-B0N3XRZU.js";import{t as k}from"./now-C9-UAzTC.js";import{n as re,t as ie}from"./predictions-CYS7Vo39.js";import{t as A}from"./notify-Bz4wuE4T.js";var j=t(),ae=r();function oe(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function M(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}n();function se(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function ce(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function le(e,t,n){return t===null?`AWAITING`:se(e.comparator,t,n,e.threshold)?`TRIGGERED`:ce(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function N(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=le(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function ue(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function P(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function de(e,t=Date.now(),n=4){return e.filter(e=>ue(e,t)).sort((e,t)=>P(e)-P(t)).slice(0,n)}function fe(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function F(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function I(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function L(e,t){return(e.sources?.length??0)>0||I(t).length>0}function pe(e){return`- VALUE "${e.label}" — ${e.query}`}function me(e,t){return`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function R(){return{values:{},widgets:{}}}function he(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim())}}function z(e,t,n){return 400+t.length*120+n.length*1200+(e.prediction?150:0)}var ge=12e3;function B(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=he(r);if(e.length===0&&i.length===0)continue;let a=z(r,e,i);if(t.length>0&&n+a>ge)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function _e(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function ve(e,t){let n=[...e.metrics.map(pe),...e.targets.map((e,t)=>me(e,t)),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${_e(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${n.join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/liveSchema-DNg9x7Wk.js","assets/catalog-C_g3qPPQ.js","assets/index-BlCH2LG4.js","assets/chunk-BVpWp9h4.js","assets/jsx-runtime-DaSxXjOY.js","assets/react-BQSORdFI.js","assets/lazyRetry-D50B1UMY.js","assets/index-CepQEz75.css","assets/facts-BBTt3ImG.js","assets/annotations-D2K9A5GB.js","assets/providers-wzm7E8Pa.js","assets/http-CJCtjYpA.js","assets/info-CiqHR5cs.js","assets/icons-CHVz6kv_.js","assets/catalog-BHjl-1uH.js","assets/safeImageUrl-CUkucDUu.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-D4zPX9JY.js","assets/streamParse-DRgMHWye.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{J as n,ht as r,q as i}from"./index-BlCH2LG4.js";import{i as a,t as o}from"./http-CJCtjYpA.js";import{t as s}from"./providers-wzm7E8Pa.js";import{C as c,R as l,S as u,T as d,h as f,j as p,w as m,x as h}from"./useStudy-Dh598Dw8.js";import{l as g,n as _}from"./useLiveConfig-BhFHwoy3.js";import{a as v,b as y,d as b,i as x,m as S,p as C,r as w,t as T,u as ee,v as E,y as te}from"./dashboardEvents-DCQLIdy6.js";import{i as D}from"./format-hc2QOoIu.js";import{n as ne}from"./number-DXgzss0v.js";import{t as O}from"./json-B0N3XRZU.js";import{t as k}from"./now-C9-UAzTC.js";import{n as re,t as ie}from"./predictions-CYS7Vo39.js";import{t as A}from"./notify-Bz4wuE4T.js";var j=t(),ae=r();function oe(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function M(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}n();function se(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function ce(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function le(e,t,n){return t===null?`AWAITING`:se(e.comparator,t,n,e.threshold)?`TRIGGERED`:ce(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function N(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=le(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function ue(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function P(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function de(e,t=Date.now(),n=4){return e.filter(e=>ue(e,t)).sort((e,t)=>P(e)-P(t)).slice(0,n)}function fe(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function F(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function I(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function L(e,t){return(e.sources?.length??0)>0||I(t).length>0}function pe(e){return`- VALUE "${e.label}" — ${e.query}`}function me(e,t){return`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function R(){return{values:{},widgets:{}}}function he(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim())}}function z(e,t,n){return 400+t.length*120+n.length*1200+(e.prediction?150:0)}var ge=12e3;function B(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=he(r);if(e.length===0&&i.length===0)continue;let a=z(r,e,i);if(t.length>0&&n+a>ge)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function _e(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function ve(e,t){let n=[...e.metrics.map(pe),...e.targets.map((e,t)=>me(e,t)),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${_e(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${n.join(`
3
3
  `)}`}function ye(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function be(e,t){let n=e.dashboards;if(n===void 0&&t.length===1)return{[t[0].d.id]:e};let r=new Map,i=[];if(Array.isArray(n))for(let e of n){let t=a(e);i.push(t),typeof t.id==`string`&&t.id&&r.set(t.id,t)}else if(ye(n))for(let[e,t]of Object.entries(n))r.set(e,a(t));let o={};return t.forEach((e,t)=>{o[e.d.id]=r.get(e.d.id)??i[t]??{}}),o}function xe(e){let t=a(e);if(typeof t.metricLabel!=`string`||!t.metricLabel.trim())return;let n=o(t.readings).filter(e=>typeof e==`string`&&!!e.trim());if(!(n.length<2))return{metricLabel:t.metricLabel.trim(),readings:n,note:typeof t.note==`string`?t.note.trim().slice(0,200):``}}function Se(e){let t=a(e),n=typeof t.start==`string`?Date.parse(t.start):NaN,r=typeof t.end==`string`?Date.parse(t.end):NaN;if(!(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)&&!(r-n>10080*60*1e3))return{startAt:n,endAt:r,label:typeof t.label==`string`?t.label.trim().slice(0,60):``}}var Ce=` YOUR PREVIOUS ATTEMPT DID NOT ACTUALLY SEARCH (no citations came back). Before answering this time, you MUST run a real web search for every DASHBOARD section above and report only what those searches returned, listing the real URLs relied on in "sources" — this is not optional. If search is genuinely unavailable or turns up nothing, return null values and omit "sources" entirely; never invent a value or a source just to satisfy this instruction.`;async function V(e,t,n={}){let r=Date.now(),c={ok:!0,grounded:!1,perDashboard:{},sources:[],attempts:0};if(e.length===0&&!n.briefingContext)return c;try{let c=s(t.provider),l=new Set(e.flatMap(e=>e.targets.map(e=>e.block.type))),u=l.size>0,d=e.map(e=>ve(e,r)).join(`
4
4
 
5
- `),f={type:`object`,properties:{dashboards:{type:`array`,description:`One object per DASHBOARD section above, in the same order, each echoing its id.`,items:{type:`object`,properties:{id:{type:`string`},values:{type:`object`,description:`Map of VALUE label -> current numeric value, or null.`},blocks:{type:`array`,description:`Exactly one block per BLOCK item for this dashboard, in order.`,items:{type:`object`,properties:{type:{type:`string`},props:{type:`object`}},required:[`type`,`props`]}},expects:{type:`string`,description:`A short "by next check" expectation — omit if nothing here is genuinely predictable.`},grade:{type:`object`,description:`ONLY when this dashboard has a PREVIOUS EXPECTATION line.`,properties:{result:{type:`string`},note:{type:`string`}}},disagreement:{type:`object`,description:`ONLY when two real sources genuinely disagreed on a value.`,properties:{metricLabel:{type:`string`},readings:{type:`array`,items:{type:`string`}},note:{type:`string`}}},liveWindow:{type:`object`,description:`ONLY when search revealed a real, bounded live-event window.`,properties:{start:{type:`string`},end:{type:`string`},label:{type:`string`}}}},required:[`id`]}},...n.briefingContext?{briefing:{type:`string`,description:`2-4 sentences summarizing ALL dashboards (this batch + the given CONTEXT), real values only; use [[shown|said]] pronunciation twins for speech-risky terms.`}}:{},sources:{type:`array`,description:`OMIT unless this call used web search. Real source URLs actually relied on — never invented.`,items:{type:`object`,properties:{title:{type:`string`},url:{type:`string`}},required:[`title`,`url`]}}},required:[`dashboards`]},p=Math.min(14e3,Math.max(3e3,1200+e.reduce((e,t)=>e+z(t.d,t.metrics,t.targets),0)+(n.briefingContext?700:0))),m=k()+` You are checking several standing trackers at once. Return ONLY JSON: {"dashboards": [{"id": string, "values": {...}, "blocks": [...], "expects"?: string, "grade"?: {...}, "disagreement"?: {...}, "liveWindow"?: {...}}, ...], `+(n.briefingContext?`"briefing": string, `:``)+`"sources": [...]}. Use web search for every DASHBOARD section below — never invent a value or detail. ECHO each dashboard's exact "id" so results map back correctly. For a VALUE item, give its CURRENT real number (no units) or null if unverifiable. For a BLOCK item, produce exactly one block whose "type" is the EXACT bracketed type given — never substitute a different one — matching its current content for detail level (real names, numbers, dates). CRITICAL — a "current content" showing something live, in progress, or upcoming is NOT necessarily still true right now: explicitly check whether it has SINCE concluded and report the concluding outcome if so, reasoning from the date/time above which of upcoming/live/finished applies at this exact moment. If a dashboard has a PREVIOUS EXPECTATION line, grade it honestly ("hit" it came true, "miss" it did not, "unclear" if genuinely unknowable yet) — grade ONLY dashboards that have this line, never invent a grade otherwise. Offer a fresh "expects" only when something is genuinely predictable by the next check; most checks have nothing worth predicting, so omit it far more often than not. If two real sources genuinely disagree on a value, report it in "disagreement" instead of silently picking one. If search reveals a real bounded live-event window (a match's actual start/end time) for a dashboard, report it in "liveWindow" with ISO start/end — never invent a time. `+(n.briefingContext?`Also compose "briefing": 2-4 warm, concrete sentences summarizing ALL dashboards — this batch PLUS the CONTEXT lines below (already-known values — do NOT search for those, use them as given) — real values only, never memory. The briefing is displayed and spoken: preserve normal spelling on the left, but wrap every name, place, brand, or non-English term a voice might mispronounce as [[shown|said]] (for example [[Omakase|oh-mah-kah-seh]]). The said side must be lowercase voice-safe syllables matching a native/source-language pronunciation, never IPA or an Anglicized guess. `:``)+`If search genuinely turns up nothing more specific than what is already shown, say so honestly rather than inventing new specifics or repeating the old ones as if just confirmed. CITE SOURCES — every real URL actually relied on, in "sources"; omit it entirely if you used no search.`,h=`Use web search.\n\n${d}`+(n.briefingContext?`\n\nCONTEXT (already known — do not search these):\n${n.briefingContext}`:``),g=e=>c.generate({system:e?m+Ce:m,history:[],user:h,maxTokens:p,temperature:.15,thinkingLevel:e?`high`:`low`,tools:{webSearch:!0},format:f,...u?{blockTypes:[...l],complexity:`brief`}:{}},t).then(e=>({rr:e,grounded:L(e,a(O(e.raw)))})),_=await g(!1),v=1;!_.grounded&&e.length>0&&(_=await g(!0),v=2);let{rr:y}=_,b=a(O(y.raw)),x=L(y,b),S=be(b,e),C=u?(await i(async()=>{let{validateLiveResponse:e}=await import(`./liveSchema-CJ49PX5R.js`);return{validateLiveResponse:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))).validateLiveResponse:null,w={};for(let t of e){let e=S[t.d.id]??{},n=R();if(x&&t.metrics.length>0){let r=a(e.values),i=new Map(Object.entries(r).map(([e,t])=>[M(e),t]));for(let e of t.metrics){let t=ne(r[e.label]??i.get(M(e.label)));t!==null&&(n.values[e.id]={value:t,raw:`${t}${e.unit??``}`})}}if(t.targets.length>0&&C){let r=o(e.blocks);t.targets.forEach((e,t)=>{let i=r[t];if(!i)return;let a=C({narration:``,title:`x`,sub:``,blocks:[i]},new Set([e.block.type]),1,x)?.blocks[0];a&&a.type===e.block.type&&(n.widgets[e.id]=a)})}if(x){let r=ie(e.expects);if(r&&(n.expects=r),t.d.prediction){let t=re(e.grade);t&&(n.grade=t)}let i=xe(e.disagreement);i&&(n.disagreement=i);let a=Se(e.liveWindow);a&&(n.liveWindow=a)}w[t.d.id]=n}Object.values(w).every(e=>Object.keys(e.values).length===0&&Object.keys(e.widgets).length===0&&!e.expects)&&console.warn(`[dashboards] refreshDashboards got a response but nothing parsed out of it for any dashboard (${x?`empty/unparseable`:`ungrounded after ${v} attempt${v>1?`s`:``}, discarded`})`,{dashboardIds:e.map(e=>e.d.id),raw:y.raw});let T=n.briefingContext&&x&&typeof b.briefing==`string`&&b.briefing.trim()?b.briefing.trim():void 0;return{ok:!0,grounded:x,perDashboard:w,sources:y.sources&&y.sources.length?y.sources:I(b),attempts:v,...T?{briefing:T}:{}}}catch(t){console.error(`[dashboards] refreshDashboards failed`,t);let n={};for(let t of e)n[t.d.id]=R();return{ok:!1,grounded:!1,perDashboard:n,sources:[],attempts:0}}}function we(e){let t=Array.isArray(e?.sources)?e.sources:[],n=[];for(let e of t){let t=e&&typeof e==`object`?e:{};typeof t.title==`string`&&typeof t.url==`string`&&n.push({title:t.title,url:t.url})}return n}function Te(e){try{let t=typeof e==`string`?JSON.parse(Ee(e)):e,n=t?.verdict;return{text:typeof n==`string`&&n.trim()?n.trim():null,sources:we(t)}}catch{return{text:typeof e==`string`&&e.trim()?e.trim():null,sources:[]}}}function Ee(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t>=0&&n>t?e.slice(t,n+1):e}async function H(e,t,n,r=Date.now()){try{let i=s(n.provider),a=t===`scheduled`?null:t,o=a?e.metrics.find(e=>e.id===a.metricId):void 0,c=e.metrics.map(e=>`${e.label}=${e.lastRaw??`—`}`).join(`, `),l=a?`A line the user set just crossed: "${a.label}" — ${o?.label??a.label} is now ${o?.lastRaw??a.brokenValue??`past the threshold`}. Currently tracked: ${c}. Using web search, say briefly and honestly what the latest numbers show and whether this reads as a real move or just noise.`:`Currently tracked: ${c}. Using web search, give a brief, honest read: what the latest numbers show and what has materially changed since the last check.`,u=await i.generate({system:k()+` You give a brief, honest read on the latest numbers a user is tracking: what they show now, what has materially changed since the last check, and — if a specific line was crossed — whether that looks like a real move or noise. One or two plain sentences. Never invent data. CITE YOUR SOURCES — whenever you used web search, include the exact source URLs you actually relied on as a top-level "sources": [{"title": string, "url": string}] array; only real URLs from the search results — never invent one, and omit "sources" entirely if you didn’t search. Return ONLY JSON: {"verdict":"…","sources":[...]}.`,history:[],user:l,maxTokens:700,temperature:.3,thinkingLevel:`low`,tools:{webSearch:!0}},n),{text:d,sources:f}=Te(u.raw);return d?{text:d,at:r,grounded:(u.sources?.length??0)>0||f.length>0,...u.sources&&u.sources.length?{sources:u.sources}:{},...a?{tripwireId:a.id}:{}}:null}catch(e){return console.error(`[dashboards] analyzeMove failed`,e),null}}var U=`mavea-dash-opens-v1`,W=720*60*60*1e3;function De(e){return!!e&&typeof e==`object`}function Oe(e,t){if(!De(e))return{};let n=t-W,r={};for(let[t,i]of Object.entries(e)){if(!t||!Array.isArray(i))continue;let e=i.filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>=n).slice(-30);e.length&&(r[t]=e)}return r}var G;function ke(e){try{if(typeof localStorage>`u`)return{};let t=localStorage.getItem(U);return t?Oe(JSON.parse(t),e):{}}catch{return{}}}function K(e=Date.now()){return G??=ke(e),G}function Ae(e){G=e;try{typeof localStorage<`u`&&localStorage.setItem(U,JSON.stringify(e))}catch{}}function je(e,t=Date.now()){if(!e)return;let n=K(t),r=[...n[e]??[],t].filter(e=>e>=t-W).slice(-30);Ae({...n,[e]:r})}function Me(e,t,n=Date.now()){return(K(n)[e]??[]).filter(e=>e>=t).length}function q(e){let t=(e??[]).slice(-3);if(t.length<3)return 0;let[n,r,i]=t;return n.value<r.value&&r.value<i.value?1:n.value>r.value&&r.value>i.value?-1:0}function Ne(e){let t=e.metrics.filter(e=>(e.history?.length??0)>=3);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let i=t[n],a=t[r],o=q(i.history);if(o!==0&&o===q(a.history))return{text:`${i.label} and ${a.label} have moved together over the last three checks.`,dashboardIds:[e.id]}}return null}function Pe(e,t){let n=e.filter(e=>{let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt});if(n.length<2)return null;let[r,i]=n;return{text:`${r.title} and ${i.title} overlap right now — their checks are batched into shared searches while both are live.`,dashboardIds:[r.id,i.id]}}var J=5;function Fe(e){if(e.cadence.data!==`15min`&&e.cadence.data!==`hourly`)return null;let t=e.metrics.find(e=>(e.history?.length??0)>=J);if(!t?.history)return null;let n=t.history.slice(-5);return n.every(e=>e.value===n[0].value)?{text:`${t.label} hasn't moved across ${e.title}'s last ${J} checks.`,dashboardIds:[e.id]}:null}function Ie(e,t){let n=t.note?` ${t.note}`:``;return{text:`Sources disagreed on ${t.metricLabel}: ${t.readings.join(` vs `)}.${n}`,dashboardIds:[e.id]}}var Le=720*60*1e3;function Re(e,t,n){let r=n-Le;return e.some(e=>e.kind===`insight`&&e.at>=r&&e.text===t.text)}function ze(e,t,n,r=2){let i=[],a=Pe(e,n);a&&i.push(a);for(let t of e){let e=Ne(t);e&&i.push(e);let n=Fe(t);n&&i.push(n)}return i.filter(e=>!Re(t,e,n)).slice(0,r)}var Be=e({checkAllDashboardsNow:()=>et,readDashboardNow:()=>tt,refreshDashboardNow:()=>$e,runRefreshBatch:()=>$,selectTickTargets:()=>nt,useDashboardLoop:()=>rt,useVerdictPending:()=>We}),Ve=15e3,He=5*6e4,Y=new Set,X=new Set,Z=`mavea-dashboard-verdict-pending`;function Q(e,t){t?X.add(e):X.delete(e);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(Z,{detail:e}))}catch{}}function Ue(e){return window.addEventListener(Z,e),()=>window.removeEventListener(Z,e)}function We(e){let t=(0,ae.c)(2),n;return t[0]===e?n=t[1]:(n=()=>X.has(e),t[0]=e,t[1]=n),(0,j.useSyncExternalStore)(Ue,n,Ge)}function Ge(){return!1}function Ke(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function qe(e,t){return e.map(e=>{let n=t.perDashboard[e.d.id]??{values:{},widgets:{}},r=e.metrics.find(e=>n.values[e.id]);return r?`${e.d.title} at ${n.values[r.id].raw}`:e.targets.some(e=>n.widgets[e.id])?`${e.d.title} updated`:t.grounded?`${e.d.title} checked`:`${e.d.title} — couldn't verify`}).join(` · `)}var Je=`Daily search budget reached — auto-checks paused until midnight. Manual checks still work.`;function Ye(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function Xe(e){let t=Ye(e);y().some(e=>e.kind===`savings`&&e.at>=t&&e.text===Je)||E({kind:`savings`,text:Je,dashboardIds:[],searches:0})}async function Ze(e,t,n,r,i,a,o=!1){let{d:s}=e,l=Object.keys(t.values).length>0||Object.keys(t.widgets).length>0?`updated`:o?`unverified`:`no-change`,u=s.metrics.map(e=>{let n=t.values[e.id];return n?{...e,lastValue:n.value}:e}),m={...s,metrics:u},{tripwires:h,newlyTriggered:g}=N(m,n),_=s.oneShotAt!==void 0&&s.oneShotAt<=a;f(s.id,{values:Object.entries(t.values).map(([e,t])=>({metricId:e,value:t.value,raw:t.raw,origin:`search`})),blocks:Object.entries(t.widgets).map(([e,t])=>({widgetId:e,block:t})),tripwires:h,outcome:l,...t.expects?{expects:t.expects}:{},...t.grade?{grade:t.grade}:{},..._?{consumedOneShot:!0}:{}},a),g.length&&(A(m,g),E({kind:`alert`,text:`${g.map(e=>e.label).join(`, `)} crossed the line you set.`,dashboardIds:[s.id],searches:0}),m.alerts.inApp&&T({dashboardId:s.id,dashboardTitle:s.title,tripwireLabel:g[0].label})),t.disagreement&&E({kind:`insight`,text:Ie(s,t.disagreement).text,dashboardIds:[s.id],searches:0});let v={...s,tripwires:h},y=F(v,g,a);if(y.fire&&y.trigger&&i){Q(s.id,!0);let e=await H(v,y.trigger,r,a);Q(s.id,!1),e?p(s.id,e,a):d(s.id,a,`Mavéa couldn't get a fresh read — will try again.`),c(s.id,a),E({kind:y.trigger===`scheduled`?`check`:`alert`,text:e?e.text.slice(0,200):`Couldn't get a fresh read on ${s.title}.`,dashboardIds:[s.id],searches:1,...e?.sources?.length?{sourceCount:e.sources.length}:{}})}else y.fire&&y.trigger&&c(s.id,a);return l}async function $(e,t,n,r={}){let i=Date.now(),a={},o=B(e),s=e.filter(e=>!o.some(t=>t.d.id===e.id)),c={};for(let t of e)c[t.id]=Object.fromEntries(t.metrics.map(e=>[e.id,e.lastValue]));for(let e of s)a[e.id]=await Ze({d:e,metrics:[],targets:[]},{values:{},widgets:{}},c[e.id],t,n,i);if(o.length===0||!n)return a;let l=o.map(e=>e.d.id);b(l,!0);try{let e=await V(o,t,r.briefing?{briefingContext:r.briefing.context}:{});if(!e.ok){for(let e of o)m(e.d.id,i+He),a[e.d.id]=`failed`;return a}for(let r of o){let o=e.perDashboard[r.d.id]??{values:{},widgets:{}};a[r.d.id]=await Ze(r,o,c[r.d.id],t,n,i,!e.grounded)}r.briefing&&e.briefing&&(v(e.briefing,r.briefing.allDashboards,i),E({kind:`briefing`,text:`Morning briefing compiled — folded into this batched search.`,dashboardIds:o.map(e=>e.d.id),searches:0}));let s=[...new Set(e.sources.map(e=>Ke(e.url)))].filter(Boolean);return E({kind:`check`,text:qe(o,e),dashboardIds:o.map(e=>e.d.id),...s.length?{domains:s}:{},searches:1,...e.sources.length?{sourceCount:e.sources.length}:{},...r.manual?{manual:!0}:{}}),a}finally{b(l,!1)}}async function Qe(e,t,n,r){let{tripwires:i,newlyTriggered:a}=N(e);l(e.id,i,r),a.length&&(A(e,a),e.alerts.inApp&&T({dashboardId:e.id,dashboardTitle:e.title,tripwireLabel:a[0].label}));let o={...e,tripwires:i},s=F(o,a,r);if(!s.fire||!s.trigger||!n)return;Q(e.id,!0);let u=await H(o,s.trigger,t,r);Q(e.id,!1),u?p(e.id,u,r):d(e.id,r,`Mavéa couldn't get a fresh read — will try again.`),c(e.id,r),E({kind:s.trigger===`scheduled`?`check`:`alert`,text:u?u.text.slice(0,200):`Couldn't get a fresh read on ${e.title}.`,dashboardIds:[e.id],searches:1,...u?.sources?.length?{sourceCount:u.sources.length}:{}})}async function $e(e){if(Y.has(e))return`busy`;let t=h(e);if(!t)return`busy`;let n=g(_());if(!n.apiKey)return`no-model`;Y.add(e);try{return(await $([t],n,!0,{manual:!0}))[e]===`failed`?`failed`:`done`}finally{Y.delete(e)}}async function et(){let e=g(_());if(!e.apiKey)return`no-model`;let t=u().filter(D),n=t.filter(e=>!Y.has(e.id));if(n.length===0)return t.length>0?`busy`:`done`;for(;n.length>0;){let t=B(n);if(t.length===0)break;let r=t.map(e=>e.d.id);r.forEach(e=>Y.add(e));try{await $(t.map(e=>e.d),e,!0,{manual:!0})}finally{r.forEach(e=>Y.delete(e))}n=n.filter(e=>!r.includes(e.id))}return`done`}async function tt(e){if(X.has(e))return`busy`;let t=h(e);if(!t)return`failed`;let n=g(_());if(!n.apiKey)return`no-model`;let r=Date.now(),i=t.tripwires.find(e=>e.state===`TRIGGERED`),a=i??`scheduled`;Q(e,!0);let o;try{o=await H(t,a,n,r)}finally{Q(e,!1)}return o?p(e,o,r):d(e,r,`Mavéa couldn’t get a fresh read — try again in a moment.`),c(e,r),E({kind:i?`alert`:`check`,text:o?o.text.slice(0,200):`Couldn’t get a fresh read on ${t.title}.`,dashboardIds:[e],searches:1,manual:!0,...o?.sources?.length?{sourceCount:o.sources.length}:{}}),o?`done`:`failed`}function nt(e,t,n,r,i){let a=de(e,r).filter(e=>!i.has(e.id)),o=fe(e,r);o&&i.has(o.id)&&(o=null);let s=C(t,n,r),c=!1;s.paused&&(c=a.some(D)||!!o,a=a.filter(e=>!D(e)),o=null);let l=B(a);return o&&l.some(e=>e.d.id===o.id)&&(o=null),{dueData:a,dueAi:o,pausedAndBlocked:c}}function rt(){let e=(0,j.useRef)(!1);(0,j.useEffect)(()=>{let t=!0,n=async()=>{if(e.current||!t||typeof document<`u`&&document.visibilityState!==`visible`)return;let n=g(_()),r=!!n.apiKey,i=Date.now(),a=u(),o=S(),s=y();ee(a,s,e=>te(s,e,i),e=>Me(e,i-10080*60*1e3,i),i);for(let e of ze(a,s,i))E({kind:`insight`,text:e.text,dashboardIds:e.dashboardIds,searches:0});let{dueData:c,dueAi:l,pausedAndBlocked:d}=nt(a,s,o.dailySearchBudget,i,Y);d&&Xe(i);let f=r&&o.briefingEnabled&&w(i);if(c.length===0&&!l){if(f&&!a.some(D)){let e=x(a,new Set);if(e){let t=await V([],n,{briefingContext:e});t.briefing&&(v(t.briefing,a,i),E({kind:`briefing`,text:`Morning briefing compiled.`,dashboardIds:[],searches:1}))}}return}e.current=!0,c.forEach(e=>Y.add(e.id)),l&&Y.add(l.id);try{if(c.length>0){let e=f?{context:x(a,new Set(B(c).map(e=>e.d.id))),allDashboards:a}:void 0;await $(c,n,r,e?{briefing:e}:{})}l&&await Qe(l,n,r,i)}finally{c.forEach(e=>Y.delete(e.id)),l&&Y.delete(l.id),e.current=!1}},r=window.setInterval(()=>void n(),Ve),i=()=>{document.visibilityState===`visible`&&n()};return document.addEventListener(`visibilitychange`,i),n(),()=>{t=!1,window.clearInterval(r),document.removeEventListener(`visibilitychange`,i)}},[])}export{We as a,oe as c,Be as i,M as l,$e as n,je as o,rt as r,N as s,tt as t};
5
+ `),f={type:`object`,properties:{dashboards:{type:`array`,description:`One object per DASHBOARD section above, in the same order, each echoing its id.`,items:{type:`object`,properties:{id:{type:`string`},values:{type:`object`,description:`Map of VALUE label -> current numeric value, or null.`},blocks:{type:`array`,description:`Exactly one block per BLOCK item for this dashboard, in order.`,items:{type:`object`,properties:{type:{type:`string`},props:{type:`object`}},required:[`type`,`props`]}},expects:{type:`string`,description:`A short "by next check" expectation — omit if nothing here is genuinely predictable.`},grade:{type:`object`,description:`ONLY when this dashboard has a PREVIOUS EXPECTATION line.`,properties:{result:{type:`string`},note:{type:`string`}}},disagreement:{type:`object`,description:`ONLY when two real sources genuinely disagreed on a value.`,properties:{metricLabel:{type:`string`},readings:{type:`array`,items:{type:`string`}},note:{type:`string`}}},liveWindow:{type:`object`,description:`ONLY when search revealed a real, bounded live-event window.`,properties:{start:{type:`string`},end:{type:`string`},label:{type:`string`}}}},required:[`id`]}},...n.briefingContext?{briefing:{type:`string`,description:`2-4 sentences summarizing ALL dashboards (this batch + the given CONTEXT), real values only; use [[shown|said]] pronunciation twins for speech-risky terms.`}}:{},sources:{type:`array`,description:`OMIT unless this call used web search. Real source URLs actually relied on — never invented.`,items:{type:`object`,properties:{title:{type:`string`},url:{type:`string`}},required:[`title`,`url`]}}},required:[`dashboards`]},p=Math.min(14e3,Math.max(3e3,1200+e.reduce((e,t)=>e+z(t.d,t.metrics,t.targets),0)+(n.briefingContext?700:0))),m=k()+` You are checking several standing trackers at once. Return ONLY JSON: {"dashboards": [{"id": string, "values": {...}, "blocks": [...], "expects"?: string, "grade"?: {...}, "disagreement"?: {...}, "liveWindow"?: {...}}, ...], `+(n.briefingContext?`"briefing": string, `:``)+`"sources": [...]}. Use web search for every DASHBOARD section below — never invent a value or detail. ECHO each dashboard's exact "id" so results map back correctly. For a VALUE item, give its CURRENT real number (no units) or null if unverifiable. For a BLOCK item, produce exactly one block whose "type" is the EXACT bracketed type given — never substitute a different one — matching its current content for detail level (real names, numbers, dates). CRITICAL — a "current content" showing something live, in progress, or upcoming is NOT necessarily still true right now: explicitly check whether it has SINCE concluded and report the concluding outcome if so, reasoning from the date/time above which of upcoming/live/finished applies at this exact moment. If a dashboard has a PREVIOUS EXPECTATION line, grade it honestly ("hit" it came true, "miss" it did not, "unclear" if genuinely unknowable yet) — grade ONLY dashboards that have this line, never invent a grade otherwise. Offer a fresh "expects" only when something is genuinely predictable by the next check; most checks have nothing worth predicting, so omit it far more often than not. If two real sources genuinely disagree on a value, report it in "disagreement" instead of silently picking one. If search reveals a real bounded live-event window (a match's actual start/end time) for a dashboard, report it in "liveWindow" with ISO start/end — never invent a time. `+(n.briefingContext?`Also compose "briefing": 2-4 warm, concrete sentences summarizing ALL dashboards — this batch PLUS the CONTEXT lines below (already-known values — do NOT search for those, use them as given) — real values only, never memory. The briefing is displayed and spoken: preserve normal spelling on the left, but wrap every name, place, brand, or non-English term a voice might mispronounce as [[shown|said]] (for example [[Omakase|oh-mah-kah-seh]]). The said side must be lowercase voice-safe syllables matching a native/source-language pronunciation, never IPA or an Anglicized guess. `:``)+`If search genuinely turns up nothing more specific than what is already shown, say so honestly rather than inventing new specifics or repeating the old ones as if just confirmed. CITE SOURCES — every real URL actually relied on, in "sources"; omit it entirely if you used no search.`,h=`Use web search.\n\n${d}`+(n.briefingContext?`\n\nCONTEXT (already known — do not search these):\n${n.briefingContext}`:``),g=e=>c.generate({system:e?m+Ce:m,history:[],user:h,maxTokens:p,temperature:.15,thinkingLevel:e?`high`:`low`,tools:{webSearch:!0},format:f,...u?{blockTypes:[...l],complexity:`brief`}:{}},t).then(e=>({rr:e,grounded:L(e,a(O(e.raw)))})),_=await g(!1),v=1;!_.grounded&&e.length>0&&(_=await g(!0),v=2);let{rr:y}=_,b=a(O(y.raw)),x=L(y,b),S=be(b,e),C=u?(await i(async()=>{let{validateLiveResponse:e}=await import(`./liveSchema-DNg9x7Wk.js`);return{validateLiveResponse:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))).validateLiveResponse:null,w={};for(let t of e){let e=S[t.d.id]??{},n=R();if(x&&t.metrics.length>0){let r=a(e.values),i=new Map(Object.entries(r).map(([e,t])=>[M(e),t]));for(let e of t.metrics){let t=ne(r[e.label]??i.get(M(e.label)));t!==null&&(n.values[e.id]={value:t,raw:`${t}${e.unit??``}`})}}if(t.targets.length>0&&C){let r=o(e.blocks);t.targets.forEach((e,t)=>{let i=r[t];if(!i)return;let a=C({narration:``,title:`x`,sub:``,blocks:[i]},new Set([e.block.type]),1,x)?.blocks[0];a&&a.type===e.block.type&&(n.widgets[e.id]=a)})}if(x){let r=ie(e.expects);if(r&&(n.expects=r),t.d.prediction){let t=re(e.grade);t&&(n.grade=t)}let i=xe(e.disagreement);i&&(n.disagreement=i);let a=Se(e.liveWindow);a&&(n.liveWindow=a)}w[t.d.id]=n}Object.values(w).every(e=>Object.keys(e.values).length===0&&Object.keys(e.widgets).length===0&&!e.expects)&&console.warn(`[dashboards] refreshDashboards got a response but nothing parsed out of it for any dashboard (${x?`empty/unparseable`:`ungrounded after ${v} attempt${v>1?`s`:``}, discarded`})`,{dashboardIds:e.map(e=>e.d.id),raw:y.raw});let T=n.briefingContext&&x&&typeof b.briefing==`string`&&b.briefing.trim()?b.briefing.trim():void 0;return{ok:!0,grounded:x,perDashboard:w,sources:y.sources&&y.sources.length?y.sources:I(b),attempts:v,...T?{briefing:T}:{}}}catch(t){console.error(`[dashboards] refreshDashboards failed`,t);let n={};for(let t of e)n[t.d.id]=R();return{ok:!1,grounded:!1,perDashboard:n,sources:[],attempts:0}}}function we(e){let t=Array.isArray(e?.sources)?e.sources:[],n=[];for(let e of t){let t=e&&typeof e==`object`?e:{};typeof t.title==`string`&&typeof t.url==`string`&&n.push({title:t.title,url:t.url})}return n}function Te(e){try{let t=typeof e==`string`?JSON.parse(Ee(e)):e,n=t?.verdict;return{text:typeof n==`string`&&n.trim()?n.trim():null,sources:we(t)}}catch{return{text:typeof e==`string`&&e.trim()?e.trim():null,sources:[]}}}function Ee(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t>=0&&n>t?e.slice(t,n+1):e}async function H(e,t,n,r=Date.now()){try{let i=s(n.provider),a=t===`scheduled`?null:t,o=a?e.metrics.find(e=>e.id===a.metricId):void 0,c=e.metrics.map(e=>`${e.label}=${e.lastRaw??`—`}`).join(`, `),l=a?`A line the user set just crossed: "${a.label}" — ${o?.label??a.label} is now ${o?.lastRaw??a.brokenValue??`past the threshold`}. Currently tracked: ${c}. Using web search, say briefly and honestly what the latest numbers show and whether this reads as a real move or just noise.`:`Currently tracked: ${c}. Using web search, give a brief, honest read: what the latest numbers show and what has materially changed since the last check.`,u=await i.generate({system:k()+` You give a brief, honest read on the latest numbers a user is tracking: what they show now, what has materially changed since the last check, and — if a specific line was crossed — whether that looks like a real move or noise. One or two plain sentences. Never invent data. CITE YOUR SOURCES — whenever you used web search, include the exact source URLs you actually relied on as a top-level "sources": [{"title": string, "url": string}] array; only real URLs from the search results — never invent one, and omit "sources" entirely if you didn’t search. Return ONLY JSON: {"verdict":"…","sources":[...]}.`,history:[],user:l,maxTokens:700,temperature:.3,thinkingLevel:`low`,tools:{webSearch:!0}},n),{text:d,sources:f}=Te(u.raw);return d?{text:d,at:r,grounded:(u.sources?.length??0)>0||f.length>0,...u.sources&&u.sources.length?{sources:u.sources}:{},...a?{tripwireId:a.id}:{}}:null}catch(e){return console.error(`[dashboards] analyzeMove failed`,e),null}}var U=`mavea-dash-opens-v1`,W=720*60*60*1e3;function De(e){return!!e&&typeof e==`object`}function Oe(e,t){if(!De(e))return{};let n=t-W,r={};for(let[t,i]of Object.entries(e)){if(!t||!Array.isArray(i))continue;let e=i.filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>=n).slice(-30);e.length&&(r[t]=e)}return r}var G;function ke(e){try{if(typeof localStorage>`u`)return{};let t=localStorage.getItem(U);return t?Oe(JSON.parse(t),e):{}}catch{return{}}}function K(e=Date.now()){return G??=ke(e),G}function Ae(e){G=e;try{typeof localStorage<`u`&&localStorage.setItem(U,JSON.stringify(e))}catch{}}function je(e,t=Date.now()){if(!e)return;let n=K(t),r=[...n[e]??[],t].filter(e=>e>=t-W).slice(-30);Ae({...n,[e]:r})}function Me(e,t,n=Date.now()){return(K(n)[e]??[]).filter(e=>e>=t).length}function q(e){let t=(e??[]).slice(-3);if(t.length<3)return 0;let[n,r,i]=t;return n.value<r.value&&r.value<i.value?1:n.value>r.value&&r.value>i.value?-1:0}function Ne(e){let t=e.metrics.filter(e=>(e.history?.length??0)>=3);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let i=t[n],a=t[r],o=q(i.history);if(o!==0&&o===q(a.history))return{text:`${i.label} and ${a.label} have moved together over the last three checks.`,dashboardIds:[e.id]}}return null}function Pe(e,t){let n=e.filter(e=>{let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt});if(n.length<2)return null;let[r,i]=n;return{text:`${r.title} and ${i.title} overlap right now — their checks are batched into shared searches while both are live.`,dashboardIds:[r.id,i.id]}}var J=5;function Fe(e){if(e.cadence.data!==`15min`&&e.cadence.data!==`hourly`)return null;let t=e.metrics.find(e=>(e.history?.length??0)>=J);if(!t?.history)return null;let n=t.history.slice(-5);return n.every(e=>e.value===n[0].value)?{text:`${t.label} hasn't moved across ${e.title}'s last ${J} checks.`,dashboardIds:[e.id]}:null}function Ie(e,t){let n=t.note?` ${t.note}`:``;return{text:`Sources disagreed on ${t.metricLabel}: ${t.readings.join(` vs `)}.${n}`,dashboardIds:[e.id]}}var Le=720*60*1e3;function Re(e,t,n){let r=n-Le;return e.some(e=>e.kind===`insight`&&e.at>=r&&e.text===t.text)}function ze(e,t,n,r=2){let i=[],a=Pe(e,n);a&&i.push(a);for(let t of e){let e=Ne(t);e&&i.push(e);let n=Fe(t);n&&i.push(n)}return i.filter(e=>!Re(t,e,n)).slice(0,r)}var Be=e({checkAllDashboardsNow:()=>et,readDashboardNow:()=>tt,refreshDashboardNow:()=>$e,runRefreshBatch:()=>$,selectTickTargets:()=>nt,useDashboardLoop:()=>rt,useVerdictPending:()=>We}),Ve=15e3,He=5*6e4,Y=new Set,X=new Set,Z=`mavea-dashboard-verdict-pending`;function Q(e,t){t?X.add(e):X.delete(e);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(Z,{detail:e}))}catch{}}function Ue(e){return window.addEventListener(Z,e),()=>window.removeEventListener(Z,e)}function We(e){let t=(0,ae.c)(2),n;return t[0]===e?n=t[1]:(n=()=>X.has(e),t[0]=e,t[1]=n),(0,j.useSyncExternalStore)(Ue,n,Ge)}function Ge(){return!1}function Ke(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function qe(e,t){return e.map(e=>{let n=t.perDashboard[e.d.id]??{values:{},widgets:{}},r=e.metrics.find(e=>n.values[e.id]);return r?`${e.d.title} at ${n.values[r.id].raw}`:e.targets.some(e=>n.widgets[e.id])?`${e.d.title} updated`:t.grounded?`${e.d.title} checked`:`${e.d.title} — couldn't verify`}).join(` · `)}var Je=`Daily search budget reached — auto-checks paused until midnight. Manual checks still work.`;function Ye(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function Xe(e){let t=Ye(e);y().some(e=>e.kind===`savings`&&e.at>=t&&e.text===Je)||E({kind:`savings`,text:Je,dashboardIds:[],searches:0})}async function Ze(e,t,n,r,i,a,o=!1){let{d:s}=e,l=Object.keys(t.values).length>0||Object.keys(t.widgets).length>0?`updated`:o?`unverified`:`no-change`,u=s.metrics.map(e=>{let n=t.values[e.id];return n?{...e,lastValue:n.value}:e}),m={...s,metrics:u},{tripwires:h,newlyTriggered:g}=N(m,n),_=s.oneShotAt!==void 0&&s.oneShotAt<=a;f(s.id,{values:Object.entries(t.values).map(([e,t])=>({metricId:e,value:t.value,raw:t.raw,origin:`search`})),blocks:Object.entries(t.widgets).map(([e,t])=>({widgetId:e,block:t})),tripwires:h,outcome:l,...t.expects?{expects:t.expects}:{},...t.grade?{grade:t.grade}:{},..._?{consumedOneShot:!0}:{}},a),g.length&&(A(m,g),E({kind:`alert`,text:`${g.map(e=>e.label).join(`, `)} crossed the line you set.`,dashboardIds:[s.id],searches:0}),m.alerts.inApp&&T({dashboardId:s.id,dashboardTitle:s.title,tripwireLabel:g[0].label})),t.disagreement&&E({kind:`insight`,text:Ie(s,t.disagreement).text,dashboardIds:[s.id],searches:0});let v={...s,tripwires:h},y=F(v,g,a);if(y.fire&&y.trigger&&i){Q(s.id,!0);let e=await H(v,y.trigger,r,a);Q(s.id,!1),e?p(s.id,e,a):d(s.id,a,`Mavéa couldn't get a fresh read — will try again.`),c(s.id,a),E({kind:y.trigger===`scheduled`?`check`:`alert`,text:e?e.text.slice(0,200):`Couldn't get a fresh read on ${s.title}.`,dashboardIds:[s.id],searches:1,...e?.sources?.length?{sourceCount:e.sources.length}:{}})}else y.fire&&y.trigger&&c(s.id,a);return l}async function $(e,t,n,r={}){let i=Date.now(),a={},o=B(e),s=e.filter(e=>!o.some(t=>t.d.id===e.id)),c={};for(let t of e)c[t.id]=Object.fromEntries(t.metrics.map(e=>[e.id,e.lastValue]));for(let e of s)a[e.id]=await Ze({d:e,metrics:[],targets:[]},{values:{},widgets:{}},c[e.id],t,n,i);if(o.length===0||!n)return a;let l=o.map(e=>e.d.id);b(l,!0);try{let e=await V(o,t,r.briefing?{briefingContext:r.briefing.context}:{});if(!e.ok){for(let e of o)m(e.d.id,i+He),a[e.d.id]=`failed`;return a}for(let r of o){let o=e.perDashboard[r.d.id]??{values:{},widgets:{}};a[r.d.id]=await Ze(r,o,c[r.d.id],t,n,i,!e.grounded)}r.briefing&&e.briefing&&(v(e.briefing,r.briefing.allDashboards,i),E({kind:`briefing`,text:`Morning briefing compiled — folded into this batched search.`,dashboardIds:o.map(e=>e.d.id),searches:0}));let s=[...new Set(e.sources.map(e=>Ke(e.url)))].filter(Boolean);return E({kind:`check`,text:qe(o,e),dashboardIds:o.map(e=>e.d.id),...s.length?{domains:s}:{},searches:1,...e.sources.length?{sourceCount:e.sources.length}:{},...r.manual?{manual:!0}:{}}),a}finally{b(l,!1)}}async function Qe(e,t,n,r){let{tripwires:i,newlyTriggered:a}=N(e);l(e.id,i,r),a.length&&(A(e,a),e.alerts.inApp&&T({dashboardId:e.id,dashboardTitle:e.title,tripwireLabel:a[0].label}));let o={...e,tripwires:i},s=F(o,a,r);if(!s.fire||!s.trigger||!n)return;Q(e.id,!0);let u=await H(o,s.trigger,t,r);Q(e.id,!1),u?p(e.id,u,r):d(e.id,r,`Mavéa couldn't get a fresh read — will try again.`),c(e.id,r),E({kind:s.trigger===`scheduled`?`check`:`alert`,text:u?u.text.slice(0,200):`Couldn't get a fresh read on ${e.title}.`,dashboardIds:[e.id],searches:1,...u?.sources?.length?{sourceCount:u.sources.length}:{}})}async function $e(e){if(Y.has(e))return`busy`;let t=h(e);if(!t)return`busy`;let n=g(_());if(!n.apiKey)return`no-model`;Y.add(e);try{return(await $([t],n,!0,{manual:!0}))[e]===`failed`?`failed`:`done`}finally{Y.delete(e)}}async function et(){let e=g(_());if(!e.apiKey)return`no-model`;let t=u().filter(D),n=t.filter(e=>!Y.has(e.id));if(n.length===0)return t.length>0?`busy`:`done`;for(;n.length>0;){let t=B(n);if(t.length===0)break;let r=t.map(e=>e.d.id);r.forEach(e=>Y.add(e));try{await $(t.map(e=>e.d),e,!0,{manual:!0})}finally{r.forEach(e=>Y.delete(e))}n=n.filter(e=>!r.includes(e.id))}return`done`}async function tt(e){if(X.has(e))return`busy`;let t=h(e);if(!t)return`failed`;let n=g(_());if(!n.apiKey)return`no-model`;let r=Date.now(),i=t.tripwires.find(e=>e.state===`TRIGGERED`),a=i??`scheduled`;Q(e,!0);let o;try{o=await H(t,a,n,r)}finally{Q(e,!1)}return o?p(e,o,r):d(e,r,`Mavéa couldn’t get a fresh read — try again in a moment.`),c(e,r),E({kind:i?`alert`:`check`,text:o?o.text.slice(0,200):`Couldn’t get a fresh read on ${t.title}.`,dashboardIds:[e],searches:1,manual:!0,...o?.sources?.length?{sourceCount:o.sources.length}:{}}),o?`done`:`failed`}function nt(e,t,n,r,i){let a=de(e,r).filter(e=>!i.has(e.id)),o=fe(e,r);o&&i.has(o.id)&&(o=null);let s=C(t,n,r),c=!1;s.paused&&(c=a.some(D)||!!o,a=a.filter(e=>!D(e)),o=null);let l=B(a);return o&&l.some(e=>e.d.id===o.id)&&(o=null),{dueData:a,dueAi:o,pausedAndBlocked:c}}function rt(){let e=(0,j.useRef)(!1);(0,j.useEffect)(()=>{let t=!0,n=async()=>{if(e.current||!t||typeof document<`u`&&document.visibilityState!==`visible`)return;let n=g(_()),r=!!n.apiKey,i=Date.now(),a=u(),o=S(),s=y();ee(a,s,e=>te(s,e,i),e=>Me(e,i-10080*60*1e3,i),i);for(let e of ze(a,s,i))E({kind:`insight`,text:e.text,dashboardIds:e.dashboardIds,searches:0});let{dueData:c,dueAi:l,pausedAndBlocked:d}=nt(a,s,o.dailySearchBudget,i,Y);d&&Xe(i);let f=r&&o.briefingEnabled&&w(i);if(c.length===0&&!l){if(f&&!a.some(D)){let e=x(a,new Set);if(e){let t=await V([],n,{briefingContext:e});t.briefing&&(v(t.briefing,a,i),E({kind:`briefing`,text:`Morning briefing compiled.`,dashboardIds:[],searches:1}))}}return}e.current=!0,c.forEach(e=>Y.add(e.id)),l&&Y.add(l.id);try{if(c.length>0){let e=f?{context:x(a,new Set(B(c).map(e=>e.d.id))),allDashboards:a}:void 0;await $(c,n,r,e?{briefing:e}:{})}l&&await Qe(l,n,r,i)}finally{c.forEach(e=>Y.delete(e.id)),l&&Y.delete(l.id),e.current=!1}},r=window.setInterval(()=>void n(),Ve),i=()=>{document.visibilityState===`visible`&&n()};return document.addEventListener(`visibilitychange`,i),n(),()=>{t=!1,window.clearInterval(r),document.removeEventListener(`visibilitychange`,i)}},[])}export{We as a,oe as c,Be as i,M as l,$e as n,je as o,rt as r,N as s,tt as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{ht as n}from"./index-BlCH2LG4.js";import"./providers-wzm7E8Pa.js";import{i as r,n as i}from"./info-CiqHR5cs.js";import{r as a,t as o}from"./keyVault-DEsNh9FR.js";var s=e({LIVE_V2_EVENT:()=>f,exportConfig:()=>B,getLiveConfigV2:()=>D,hasModelConfigured:()=>z,importConfig:()=>V,resetLiveConfig:()=>I,setLiveConfigV2:()=>P,setProviderField:()=>L,toCaps:()=>H,toModelConfig:()=>R,useLiveConfig:()=>U}),c=n(),l=t(),u=`mavea-live-v2`,d=`mavea-live-v2:secrets`,f=u,p={provider:`gemini`,models:{},keys:{},rememberKey:!1,webSearch:!1,searchMode:`off`,quality:`balanced`,searchProvider:`wikipedia`,searchKeys:{},memoryEnabled:!1,autoSaveFlashcards:!1,generativeBlocks:!0,libraryEnabled:!0,teachMode:!1,annotationsEnabled:!0,morningBrief:!1,explainLevel:`standard`,fontScale:`normal`,pttKey:`Alt`,pttSide:`any`,voiceSpeed:1};function m(e){return e===`left`||e===`right`?e:`any`}var h=null;function g(e){return i.some(t=>t.id===e)?e:p.provider}function _(e){let t={};if(e&&typeof e==`object`)for(let n of i){let r=e[n.id];typeof r==`string`&&(t[n.id]=r)}return t}function v(e,t){return typeof e==`boolean`?e:t}function y(e){return typeof e==`number`&&Number.isFinite(e)?Math.min(2,Math.max(.75,e)):p.voiceSpeed}function b(e){return e===`wikipedia`||e===`brave`||e===`tavily`?e:p.searchProvider}function x(e){return e===`off`||e===`realtime`?e:void 0}function S(e){return e===`fast`||e===`balanced`||e===`thorough`?e:p.quality}function C(e){return e===`simple`||e===`deep`?e:p.explainLevel}function w(e){return e===`smaller`||e===`larger`?e:p.fontScale}function T(e){let t={};if(e&&typeof e==`object`)for(let n of[`brave`,`tavily`]){let r=e[n];typeof r==`string`&&(t[n]=r)}return t}function E(){try{if(typeof localStorage>`u`)return{...p};let e=localStorage.getItem(u);if(!e)return{...p};let t=JSON.parse(e),n=v(t.webSearch,p.webSearch),r=x(t.searchMode)??(t.searchMode===void 0&&n?`realtime`:`off`);return{provider:g(t.provider),models:_(t.models),keys:_(t.keys),rememberKey:v(t.rememberKey,p.rememberKey),webSearch:n,searchMode:r,quality:S(t.quality),searchProvider:b(t.searchProvider),searchKeys:T(t.searchKeys),memoryEnabled:v(t.memoryEnabled,p.memoryEnabled),autoSaveFlashcards:v(t.autoSaveFlashcards,p.autoSaveFlashcards),generativeBlocks:v(t.generativeBlocks,p.generativeBlocks),libraryEnabled:v(t.libraryEnabled,p.libraryEnabled),teachMode:v(t.teachMode,p.teachMode),annotationsEnabled:v(t.annotationsEnabled,p.annotationsEnabled),morningBrief:v(t.morningBrief,p.morningBrief),explainLevel:C(t.explainLevel),fontScale:w(t.fontScale),pttKey:typeof t.pttKey==`string`&&t.pttKey?t.pttKey:p.pttKey,pttSide:m(t.pttSide),voiceSpeed:y(t.voiceSpeed)}}catch{return{...p}}}function D(){return h||(h=E(),h)}function O(e){try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(u,{detail:e}))}catch{}}function k(e){return Object.keys(e.keys).length>0||Object.keys(e.searchKeys).length>0}var A=0,j=!1;async function M(e){let t=++A;if(!(typeof localStorage>`u`)){if(!e.rememberKey||!k(e)){if(e.rememberKey&&!j)return;try{localStorage.removeItem(d)}catch{}return}try{let n=await a(JSON.stringify({keys:e.keys,searchKeys:e.searchKeys}));if(t!==A)return;localStorage.setItem(d,n)}catch{if(t!==A)return;try{localStorage.removeItem(d)}catch{}}}}async function N(){if(typeof localStorage>`u`)return;let e;try{e=localStorage.getItem(d)}catch{j=!0;return}if(!e){j=!0;return}let t=A;try{let n=JSON.parse(await o(e));if(t===A){let e=D();h={...e,keys:{...e.keys,..._(n.keys)},searchKeys:{...e.searchKeys,...T(n.searchKeys)}},O(h)}}catch{}finally{j=!0}}function P(e){let t={...D(),...e};h=t;try{if(typeof localStorage<`u`){let e={...t,keys:{},searchKeys:{}};localStorage.setItem(u,JSON.stringify(e)),M(t)}}catch{}return O(t),t}function F(){typeof localStorage>`u`||(k(D())?(j=!0,P({})):N())}F();function I(){return P(p)}function L(e,t,n){let r=D(),i=t===`model`?`models`:`keys`;return P({[i]:{...r[i],[e]:n}})}function R(e){return{provider:e.provider,model:e.models[e.provider]||r(e.provider).defaultModel,apiKey:e.keys[e.provider]}}function z(e){let t=r(e.provider);return!!(e.models[e.provider]||t.defaultModel)&&(!t.needsKey||!!e.keys[e.provider])}function B(){let e={...D(),keys:{},searchKeys:{},rememberKey:!1};return JSON.stringify(e,null,2)}function V(e){try{let t=JSON.parse(e),n=v(t.webSearch,p.webSearch),r=x(t.searchMode)??(t.searchMode===void 0&&n?`realtime`:`off`);return P({provider:g(t.provider),models:_(t.models),keys:_(t.keys),rememberKey:!1,webSearch:n,searchMode:r,quality:S(t.quality),searchProvider:b(t.searchProvider),searchKeys:T(t.searchKeys),memoryEnabled:v(t.memoryEnabled,p.memoryEnabled),autoSaveFlashcards:v(t.autoSaveFlashcards,p.autoSaveFlashcards),generativeBlocks:v(t.generativeBlocks,p.generativeBlocks),libraryEnabled:v(t.libraryEnabled,p.libraryEnabled),teachMode:v(t.teachMode,p.teachMode),annotationsEnabled:v(t.annotationsEnabled,p.annotationsEnabled),morningBrief:v(t.morningBrief,p.morningBrief),explainLevel:C(t.explainLevel),fontScale:w(t.fontScale),pttKey:typeof t.pttKey==`string`&&t.pttKey?t.pttKey:p.pttKey,pttSide:m(t.pttSide),voiceSpeed:y(t.voiceSpeed)})}catch{throw Error(`Invalid config file — could not parse JSON.`)}}function H(e){return{webSearch:e.searchMode!==`off`,searchMode:e.searchMode,quality:e.quality,memoryEnabled:e.memoryEnabled,generativeBlocks:e.generativeBlocks,explainLevel:e.explainLevel}}function U(){let e=(0,c.c)(4),[t,n]=(0,l.useState)(W),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{if(typeof window>`u`)return;let e=()=>n(D());return window.addEventListener(f,e),e(),()=>window.removeEventListener(f,e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,l.useEffect)(r,i);let a;return e[2]===t?a=e[3]:(a=[t,P],e[2]=t,e[3]=a),a}function W(){return D()}export{I as a,H as c,s as d,V as i,R as l,D as n,P as o,z as r,L as s,B as t,U as u};
@@ -1 +1 @@
1
- import{t as e}from"./react-BQSORdFI.js";import{ht as t}from"./index-y8GL67bB.js";var n=e(),r=t(),i={min:.1,max:4};function a(e,t=i){return Math.min(t.max,Math.max(t.min,e))}function o(e,t,n=0){let r=Math.max(e.w,1),i=Math.max(e.h,1),a=Math.max(t.w-n*2,1),o=Math.max(t.h-n*2,1);return Math.min(a/r,o/i)}function s(e,t,n=0,r=i){let s=a(o(e,t,n),r),c=e.x+e.w/2,l=e.y+e.h/2;return{x:t.w/2-c*s,y:t.h/2-l*s,scale:s}}function c(e,t,n,r,o=i){let s=a(e.scale*t,o);if(s===e.scale)return e;let c=(n-e.x)/e.scale,l=(r-e.y)/e.scale;return{x:n-c*s,y:r-l*s,scale:s}}function l(e,t,n){return{...e,x:e.x+t,y:e.y+n}}function u(e,t,n,r,o=i){let s=a(n,o);return{x:r.w/2-e*s,y:r.h/2-t*s,scale:s}}function d(e){return`translate(${Math.round(e.x)}px, ${Math.round(e.y)}px) scale(${e.scale})`}function f(e,t,n){return{x:(t-e.x)/e.scale,y:(n-e.y)/e.scale}}function p(e){let t=(0,r.c)(24),a;t[0]===e?a=t[1]:(a=e===void 0?{}:e,t[0]=e,t[1]=a);let o=a,u=o.clamp?.min??i.min,f=o.clamp?.max??i.max,p=o.margin??0,m=(0,n.useRef)(null),h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h={x:0,y:0,scale:1},t[2]=h):h=t[2];let[g,_]=(0,n.useState)(h),v=(0,n.useRef)(null),y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{let e=m.current;if(!e)return null;let t=e.getBoundingClientRect();return t.width===0&&t.height===0?null:{w:t.width,h:t.height}},t[3]=y):y=t[3];let b=y,x;t[4]!==f||t[5]!==u||t[6]!==p?(x=e=>{if(v.current=e,!e)return;let t=b();t&&_(s(e,t,p,{min:u,max:f}))},t[4]=f,t[5]=u,t[6]=p,t[7]=x):x=t[7];let S=x,C;t[8]!==f||t[9]!==u?(C=(e,t,n)=>{let r=m.current;if(!r)return;let i=r.getBoundingClientRect();_(r=>c(r,e,t-i.left,n-i.top,{min:u,max:f}))},t[8]=f,t[9]=u,t[10]=C):C=t[10];let w=C,T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=(e,t)=>{_(n=>l(n,e,t))},t[11]=T):T=t[11];let E=T,D,O;t[12]!==f||t[13]!==u||t[14]!==p?(D=()=>{let e=m.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=v.current;if(!t)return;let n=e.getBoundingClientRect();n.width===0&&n.height===0||_(s(t,{w:n.width,h:n.height},p,{min:u,max:f}))})});return n.observe(e),()=>{cancelAnimationFrame(t),n.disconnect()}},O=[p,u,f],t[12]=f,t[13]=u,t[14]=p,t[15]=D,t[16]=O):(D=t[15],O=t[16]),(0,n.useEffect)(D,O);let k;t[17]===g?k=t[18]:(k=d(g),t[17]=g,t[18]=k);let A;return t[19]!==g||t[20]!==S||t[21]!==k||t[22]!==w?(A={camera:g,transform:k,viewportRef:m,fitTo:S,zoomAtClient:w,pan:E,setCamera:_},t[19]=g,t[20]=S,t[21]=k,t[22]=w,t[23]=A):A=t[23],A}export{u as n,f as r,p as t};
1
+ import{t as e}from"./react-BQSORdFI.js";import{ht as t}from"./index-BlCH2LG4.js";var n=e(),r=t(),i={min:.1,max:4};function a(e,t=i){return Math.min(t.max,Math.max(t.min,e))}function o(e,t,n=0){let r=Math.max(e.w,1),i=Math.max(e.h,1),a=Math.max(t.w-n*2,1),o=Math.max(t.h-n*2,1);return Math.min(a/r,o/i)}function s(e,t,n=0,r=i){let s=a(o(e,t,n),r),c=e.x+e.w/2,l=e.y+e.h/2;return{x:t.w/2-c*s,y:t.h/2-l*s,scale:s}}function c(e,t,n,r,o=i){let s=a(e.scale*t,o);if(s===e.scale)return e;let c=(n-e.x)/e.scale,l=(r-e.y)/e.scale;return{x:n-c*s,y:r-l*s,scale:s}}function l(e,t,n){return{...e,x:e.x+t,y:e.y+n}}function u(e,t,n,r,o=i){let s=a(n,o);return{x:r.w/2-e*s,y:r.h/2-t*s,scale:s}}function d(e){return`translate(${Math.round(e.x)}px, ${Math.round(e.y)}px) scale(${e.scale})`}function f(e,t,n){return{x:(t-e.x)/e.scale,y:(n-e.y)/e.scale}}function p(e){let t=(0,r.c)(24),a;t[0]===e?a=t[1]:(a=e===void 0?{}:e,t[0]=e,t[1]=a);let o=a,u=o.clamp?.min??i.min,f=o.clamp?.max??i.max,p=o.margin??0,m=(0,n.useRef)(null),h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h={x:0,y:0,scale:1},t[2]=h):h=t[2];let[g,_]=(0,n.useState)(h),v=(0,n.useRef)(null),y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{let e=m.current;if(!e)return null;let t=e.getBoundingClientRect();return t.width===0&&t.height===0?null:{w:t.width,h:t.height}},t[3]=y):y=t[3];let b=y,x;t[4]!==f||t[5]!==u||t[6]!==p?(x=e=>{if(v.current=e,!e)return;let t=b();t&&_(s(e,t,p,{min:u,max:f}))},t[4]=f,t[5]=u,t[6]=p,t[7]=x):x=t[7];let S=x,C;t[8]!==f||t[9]!==u?(C=(e,t,n)=>{let r=m.current;if(!r)return;let i=r.getBoundingClientRect();_(r=>c(r,e,t-i.left,n-i.top,{min:u,max:f}))},t[8]=f,t[9]=u,t[10]=C):C=t[10];let w=C,T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=(e,t)=>{_(n=>l(n,e,t))},t[11]=T):T=t[11];let E=T,D,O;t[12]!==f||t[13]!==u||t[14]!==p?(D=()=>{let e=m.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=v.current;if(!t)return;let n=e.getBoundingClientRect();n.width===0&&n.height===0||_(s(t,{w:n.width,h:n.height},p,{min:u,max:f}))})});return n.observe(e),()=>{cancelAnimationFrame(t),n.disconnect()}},O=[p,u,f],t[12]=f,t[13]=u,t[14]=p,t[15]=D,t[16]=O):(D=t[15],O=t[16]),(0,n.useEffect)(D,O);let k;t[17]===g?k=t[18]:(k=d(g),t[17]=g,t[18]=k);let A;return t[19]!==g||t[20]!==S||t[21]!==k||t[22]!==w?(A={camera:g,transform:k,viewportRef:m,fitTo:S,zoomAtClient:w,pan:E,setCamera:_},t[19]=g,t[20]=S,t[21]=k,t[22]=w,t[23]=A):A=t[23],A}export{u as n,f as r,p as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-BQSORdFI.js";import{s as t}from"./CanvasSkeleton-BZZPCuRZ.js";var n=e();function r(e,r,i,a=1700){let o=(0,n.useMemo)(t,[]);(0,n.useEffect)(()=>{if(!e||o||r<2)return;i(0);let t=0,n=window.setInterval(()=>{t=(t+1)%r,i(t)},a);return()=>window.clearInterval(n)},[e,o,r,a,i])}export{r as t};
1
+ import{t as e}from"./react-BQSORdFI.js";import{s as t}from"./CanvasSkeleton-DgF1b-bW.js";var n=e();function r(e,r,i,a=1700){let o=(0,n.useMemo)(t,[]);(0,n.useEffect)(()=>{if(!e||o||r<2)return;i(0);let t=0,n=window.setInterval(()=>{t=(t+1)%r,i(t)},a);return()=>window.clearInterval(n)},[e,o,r,a,i])}export{r as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-BQSORdFI.js";import{ht as t}from"./index-y8GL67bB.js";import{t as n}from"./store-DXmC_fP2.js";var r=t(),i=e(),a=`#/flashcards`;function o(e){if(!e.startsWith(a))return{view:`gallery`};let t=e.slice(12).replace(/^\//,``).split(`/`).filter(Boolean);return t.length===0?{view:`gallery`}:t[0]===`deck`&&t[1]?{view:`deck`,deck:decodeURIComponent(t[1])}:{view:`gallery`}}var s={gallery:a,deck:e=>`${a}/deck/${encodeURIComponent(e)}`};function c(){let e=(0,r.c)(2),[t,n]=(0,i.useState)(l),a,o;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{let e=()=>n(window.location.hash);return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},o=[],e[0]=a,e[1]=o):(a=e[0],o=e[1]),(0,i.useEffect)(a,o),t}function l(){return typeof window<`u`?window.location.hash:``}function u(){let e=(0,r.c)(2),[t,a]=(0,i.useState)(0),o,s;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{if(typeof window>`u`)return;let e=()=>a(d);return window.addEventListener(n,e),()=>window.removeEventListener(n,e)},s=[],e[0]=o,e[1]=s):(o=e[0],s=e[1]),(0,i.useEffect)(o,s),t}function d(e){return e+1}export{c as i,s as n,o as r,u as t};
1
+ import{t as e}from"./react-BQSORdFI.js";import{ht as t}from"./index-BlCH2LG4.js";import{t as n}from"./store-DXmC_fP2.js";var r=t(),i=e(),a=`#/flashcards`;function o(e){if(!e.startsWith(a))return{view:`gallery`};let t=e.slice(12).replace(/^\//,``).split(`/`).filter(Boolean);return t.length===0?{view:`gallery`}:t[0]===`deck`&&t[1]?{view:`deck`,deck:decodeURIComponent(t[1])}:{view:`gallery`}}var s={gallery:a,deck:e=>`${a}/deck/${encodeURIComponent(e)}`};function c(){let e=(0,r.c)(2),[t,n]=(0,i.useState)(l),a,o;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{let e=()=>n(window.location.hash);return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},o=[],e[0]=a,e[1]=o):(a=e[0],o=e[1]),(0,i.useEffect)(a,o),t}function l(){return typeof window<`u`?window.location.hash:``}function u(){let e=(0,r.c)(2),[t,a]=(0,i.useState)(0),o,s;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{if(typeof window>`u`)return;let e=()=>a(d);return window.addEventListener(n,e),()=>window.removeEventListener(n,e)},s=[],e[0]=o,e[1]=s):(o=e[0],s=e[1]),(0,i.useEffect)(o,s),t}function d(e){return e+1}export{c as i,s as n,o as r,u as t};