okengine 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/README.md +98 -71
- package/package.json +4 -4
- package/site/content/docs/console/clock.mdx +25 -5
- package/site/content/docs/console/signals.mdx +13 -4
- package/site/content/docs/elements/ai.mdx +29 -2
- package/site/content/docs/elements/channel.mdx +90 -20
- package/site/content/docs/elements/clock.mdx +56 -24
- package/site/content/docs/elements/flow.mdx +2 -0
- package/site/content/docs/elements/gate.mdx +8 -1
- package/site/content/docs/elements/signal.mdx +173 -29
- package/site/content/docs/elements/store.mdx +464 -73
- package/site/content/docs/elements/vault.mdx +15 -5
- package/site/content/docs/get-started/basic-usage.mdx +13 -6
- package/site/content/docs/get-started/installation.mdx +49 -13
- package/site/content/docs/get-started/introduction.mdx +1 -1
- package/site/content/docs/reference/cli.md +30 -2
- package/site/content/docs/reference/configuration.mdx +18 -17
- package/site/content/docs/reference/environment-variables.mdx +44 -18
- package/site/content/docs/reference/errors.mdx +12 -11
- package/site/content/docs/reference/fx.mdx +15 -13
- package/site/content/docs/reference/security.md +3 -1
- package/src/cli/ai-setup/ai-setup.test.ts +144 -0
- package/src/cli/ai-setup/apply.ts +214 -0
- package/src/cli/ai-setup/catalog.ts +263 -0
- package/src/cli/ai-setup/detect-ollama.ts +166 -0
- package/src/cli/ai-setup/index.ts +228 -0
- package/src/cli/ai-setup/prompts.ts +649 -0
- package/src/cli/ai-setup/recommend.test.ts +100 -0
- package/src/cli/ai-setup/recommend.ts +203 -0
- package/src/cli/ai.ts +38 -0
- package/src/cli/db-auto-push.test.ts +6 -1
- package/src/cli/db-auto-push.ts +8 -3
- package/src/cli/dev-db-push.test.ts +59 -0
- package/src/cli/dev.test.ts +40 -0
- package/src/cli/dev.ts +55 -1
- package/src/cli/docker-clean.test.ts +179 -0
- package/src/cli/docker-clean.ts +406 -0
- package/src/cli/docker.ts +16 -4
- package/src/cli/ensure-drizzle-config.ts +1 -1
- package/src/cli/hero-meta.test.ts +6 -5
- package/src/cli/hero-meta.ts +7 -1
- package/src/cli/index.ts +5 -0
- package/src/cli/load-config.ts +4 -4
- package/src/cli/openbao-bootstrap.test.ts +1 -0
- package/src/cli/openbao-bootstrap.ts +9 -2
- package/src/cli/openbao-restart.integration.test.ts +106 -97
- package/src/cli/registry.ts +79 -1
- package/src/client/live-gap.test.ts +35 -0
- package/src/client/transport.test.ts +21 -0
- package/src/client/transport.ts +27 -5
- package/src/compiler/fixtures/skyport/oke.config.ts +1 -1
- package/src/config/define-config.test.ts +6 -6
- package/src/config/index.ts +1 -1
- package/src/console/server/console.test.ts +45 -0
- package/src/console/server/flows.ts +39 -9
- package/src/console/server/i18n.ts +41 -0
- package/src/console/server/vault.ts +12 -38
- package/src/console/ui/dist/assets/index-ClX0ZCe5.js +10 -0
- package/src/console/ui/dist/assets/{panel-access-BGv45snf.js → panel-access-ri1X9Otj.js} +1 -1
- package/src/console/ui/dist/assets/{panel-ai-B2S7LEii.js → panel-ai-DLHjRoJk.js} +1 -1
- package/src/console/ui/dist/assets/{panel-architecture-D7UJh91v.js → panel-architecture-DI3bQF3J.js} +1 -1
- package/src/console/ui/dist/assets/{panel-channels-9T3ybqRu.js → panel-channels-BDYWX29p.js} +1 -1
- package/src/console/ui/dist/assets/{panel-clock-Cb1UXGRQ.js → panel-clock-i-JpTjVB.js} +1 -1
- package/src/console/ui/dist/assets/{panel-diff-DmYbKWmN.js → panel-diff-CFuWxiXy.js} +1 -1
- package/src/console/ui/dist/assets/{panel-flows-PiHwT55z.js → panel-flows-B8TRhcoe.js} +1 -1
- package/src/console/ui/dist/assets/{panel-gates-BQGYXvjT.js → panel-gates-CfkBgco7.js} +1 -1
- package/src/console/ui/dist/assets/{panel-overview-BBnRO18l.js → panel-overview-DONDzBd2.js} +1 -1
- package/src/console/ui/dist/assets/{panel-plugins-D0PsmVw2.js → panel-plugins-DDJwTehL.js} +1 -1
- package/src/console/ui/dist/assets/{panel-runs-CWuRDe0r.js → panel-runs-D5zf-D9c.js} +1 -1
- package/src/console/ui/dist/assets/{panel-signals-Bbg4ewpP.js → panel-signals-Dsxdu_AR.js} +1 -1
- package/src/console/ui/dist/assets/{panel-store-CPCbsDRa.js → panel-store-hy7O8HOs.js} +1 -1
- package/src/console/ui/dist/assets/{panel-traces-DVAzuA_S.js → panel-traces-CBiAe5go.js} +1 -1
- package/src/console/ui/dist/assets/{panel-vault-D1_MvOmo.js → panel-vault-Za1GyJfM.js} +1 -1
- package/src/console/ui/dist/index.html +1 -1
- package/src/console/ui/shell/components/ui.tsx +5 -1
- package/src/console/ui/shell/setup/Wizard.tsx +26 -5
- package/src/docker/cleanup.test.ts +193 -0
- package/src/docker/cleanup.ts +355 -0
- package/src/docker/docker.test.ts +4 -0
- package/src/docker/dockerfile.integration.test.ts +126 -119
- package/src/docker/index.ts +19 -0
- package/src/docker/recipes/ollama.ts +10 -5
- package/src/docker/stack.integration.test.ts +118 -102
- package/src/drivers/ai-ollama-tools.integration.test.ts +8 -6
- package/src/drivers/ai-ollama.integration.test.ts +3 -19
- package/src/drivers/ai-ollama.ts +45 -2
- package/src/drivers/ai-providers.test.ts +31 -0
- package/src/drivers/channel-fcm.ts +49 -53
- package/src/drivers/channel-msegat.ts +61 -0
- package/src/drivers/channel-sently-map.ts +57 -0
- package/src/drivers/channel-sently.test.ts +99 -0
- package/src/drivers/channel-sndr.ts +28 -0
- package/src/drivers/channel-taqnyat.ts +57 -0
- package/src/drivers/channel-types.ts +79 -2
- package/src/drivers/channel-unifonic.ts +26 -43
- package/src/drivers/channel-wa-cloud.ts +33 -47
- package/src/drivers/channel-webpush.ts +39 -239
- package/src/drivers/index.ts +7 -0
- package/src/drivers/signal-engine.ts +98 -25
- package/src/drivers/signal-nats.ts +4 -4
- package/src/drivers/signal-postgres.ts +158 -64
- package/src/drivers/signal-redis.ts +4 -4
- package/src/drivers/signal-types.ts +61 -2
- package/src/drivers/vault-driver-removal.test.ts +5 -1
- package/src/elements/channel/costs.test.ts +2 -2
- package/src/elements/channel/costs.ts +14 -2
- package/src/elements/channel/mime.ts +11 -0
- package/src/elements/channel/runtime.ts +94 -0
- package/src/elements/channel/sndr-webhooks.test.ts +26 -0
- package/src/elements/channel.ts +10 -1
- package/src/elements/clock/chaos-child.ts +150 -0
- package/src/elements/clock/chaos.test.ts +204 -0
- package/src/elements/clock/reconcile.ts +110 -0
- package/src/elements/clock/runtime.ts +11 -0
- package/src/elements/clock.test.ts +164 -2
- package/src/elements/clock.ts +1 -0
- package/src/elements/gate/runtime.ts +6 -0
- package/src/elements/index.ts +9 -0
- package/src/elements/signal/chaos-child.ts +41 -4
- package/src/elements/signal/declare.ts +4 -1
- package/src/elements/signal/delivery-modes.test.ts +179 -0
- package/src/elements/signal/key-ordering.test.ts +306 -0
- package/src/elements/signal/lease-reclaim.test.ts +123 -0
- package/src/elements/signal/optional-emit.test.ts +76 -0
- package/src/elements/signal/order-lifecycle.test.ts +130 -0
- package/src/elements/signal/orphan-messages.test.ts +152 -0
- package/src/elements/signal/runtime.ts +11 -4
- package/src/elements/signal/schema-emit.test.ts +107 -0
- package/src/elements/signal.test.ts +89 -5
- package/src/elements/store/files-fx.ts +104 -0
- package/src/elements/store/files-image.test.ts +251 -0
- package/src/elements/store/files-image.ts +494 -0
- package/src/elements/store/runtime.ts +60 -0
- package/src/elements/store.ts +24 -0
- package/src/elements/vault/boot-chain.ts +150 -0
- package/src/elements/vault/runtime.ts +8 -0
- package/src/kernel/app.ts +3 -1
- package/src/kernel/boot-bind/channel.test.ts +68 -3
- package/src/kernel/boot-bind/channel.ts +93 -2
- package/src/kernel/boot-bind/clock.ts +52 -7
- package/src/kernel/boot-bind/gate.ts +71 -3
- package/src/kernel/boot-bind/honor-config.test.ts +247 -0
- package/src/kernel/boot-bind/signal.ts +64 -7
- package/src/kernel/boot-bind/vault.ts +27 -8
- package/src/kernel/boot.ts +10 -2
- package/src/kernel/errors.ts +8 -2
- package/src/kernel/fx.test.ts +13 -0
- package/src/kernel/fx.ts +27 -4
- package/src/plugins/auth-delivery.mailpit.integration.test.ts +10 -4
- package/src/release/exports.test.ts +26 -0
- package/src/release/exports.ts +64 -5
- package/src/release/index.ts +5 -0
- package/src/release/measure.exports.test.ts +13 -1
- package/src/release/measure.ts +76 -13
- package/src/release/official-plugins.ts +46 -0
- package/src/release/readme.test.ts +30 -2
- package/src/runtime/dev-request-log.test.ts +20 -1
- package/src/runtime/dev-request-log.ts +38 -0
- package/src/term.test.ts +15 -0
- package/src/term.ts +8 -3
- package/src/console/ui/dist/assets/index-CjxwRGVv.js +0 -10
package/src/console/ui/dist/assets/{panel-channels-9T3ybqRu.js → panel-channels-BDYWX29p.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,Q as r,Z as i,a,b as o,d as s,et as c,g as l,nt as u,o as d,r as f,tt as p,u as m,w as h,y as g}from"./panel-access-BGv45snf.js";var _=g({q:o().optional(),template:o().optional(),locale:o().optional(),view:l([`inbox`,`outcomes`,`receipts`,`suppression`,`preview`]).optional()});function v(e){let t=_.safeParse(e);return t.success?t.data:{}}function y(e){let t={};return e.q&&(t.q=e.q),e.template&&(t.template=e.template),e.locale&&(t.locale=e.locale),e.view&&(t.view=e.view),t}function b(e,t){return{...e,template:t}}var x={"suppressed/opted-out":`Suppressed · opted out`,"suppressed/prior-bounce":`Suppressed · prior hard bounce`,"blocked/invalid-address":`Blocked · invalid address`,"soft-bounce":`Soft bounce`,"hard-bounce":`Hard bounce`,"provider-error":`Provider error`,"delivered-then-complained":`Delivered then complained`},S={correct:`correct`,retry:`retry`,suppress:`suppress`,review:`review`};function C(e){return[...e].sort((e,t)=>t.weight===e.weight?t.count-e.count:t.weight-e.weight)}function w(e){return e.weight>=10&&e.count>0}function T(e){return e.filter(e=>e.state===`delivered-then-complained`&&w(e)).map(e=>({state:`delivered-then-complained`,count:e.count,verdict:e.verdict,weight:e.weight}))}function E(e){return e.totalCount===0?`No sends in the last week`:e.chainExample?`${e.chainExample} · ${e.summary}`:e.summary}function D(e){return e.length===0?`default`:e.join(` → `)}function O(e={production:!0}){return e.production?{kind:`typed`,phrase:`SEND`,requireReason:!0}:{kind:`undo`,windowMs:f}}function k(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||e.medium.toLowerCase().includes(n)||e.locales.some(e=>e.toLowerCase().includes(n))):e}var A=e(u(),1);function j(e,t){return t&&t.length>0?t:e}var M=p();function N(){let e=h({from:`/channels`}),t=n({from:`/channels`}),o=c(),[l,u]=(0,A.useState)(``),[f,p]=(0,A.useState)(``),[g,_]=(0,A.useState)(`test@example.com`),[v,T]=(0,A.useState)(e.locale??``),[N,P]=(0,A.useState)(null),F=e=>{t({search:y(e),replace:!0})},I=r({queryKey:[`console.channel.list`],queryFn:async()=>{let e=await s.channelsList();if(e.error)throw Error(e.error.code);return e.data},refetchInterval:1e4}),L=I.data,R=(0,A.useMemo)(()=>k(L?.templates??[],e.q??``),[L?.templates,e.q]),z=R.find(t=>t.name===e.template)??L?.templates.find(t=>t.name===e.template),B=C(L?.outcomes??[]),V=O({production:L?.production??!0}),H=r({queryKey:[`console.channel.preview`,z?.name,v||e.locale],enabled:!!z,queryFn:async()=>{if(!z)return null;let t=await s.channelPreview({template:z.name,locale:v||e.locale||z.locales[0]});if(t.error)throw Error(t.error.code);return t.data}}),U=r({queryKey:[`console.channel.verifyAuth`,z?.from],enabled:!!z?.from,queryFn:async()=>{if(!z?.from)return null;let e=await s.channelVerifyAuth({from:z.from});if(e.error)throw Error(e.error.code);return e.data}});(0,A.useEffect)(()=>{u(``),p(``),P(null),z?.locales[0]&&!v&&T(z.locales[0])},[z?.name]);let W=i({mutationFn:async()=>{if(!z)throw Error(`No template selected`);if(V.kind===`typed`){let e=a({typed:l,reason:f,phrase:V.phrase});if(e)throw Error(e.typed??e.reason??`Confirm required`)}let e=await s.channelSendTest({template:z.name,to:g,locale:v||z.locales[0],confirmation:V.kind===`typed`?V.phrase:void 0,reason:V.kind===`typed`?f:void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:e=>{P(e.ok?`Sent · ${e.messageId}${e.chain?` · ${e.chain}`:``}`:`Failed · ${e.status}`),o.invalidateQueries({queryKey:[`console.channel.list`]}),u(``),p(``)},onError:e=>{P(e instanceof Error?e.message:String(e))}});return(0,M.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,M.jsxs)(`header`,{className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-3`,children:[(0,M.jsx)(`h1`,{className:`text-lg text-[var(--oke-fg)]`,children:`Channels`}),(0,M.jsx)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,children:L?.face===`inbox`?`Dev inbox — all media land here instead of sending`:`Deliverability — seven states of did not arrive`}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Filter templates`,(0,M.jsx)(`input`,{"aria-label":`Filter templates`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:e.q??``,onChange:t=>F({...e,q:t.target.value})})]})]}),(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,M.jsxs)(`section`,{"aria-label":`Templates`,className:`w-64 shrink-0 overflow-y-auto border-r border-[var(--oke-line)] p-3`,children:[(0,M.jsx)(`h2`,{className:`mb-2 text-xs tracking-wide text-[var(--oke-muted)]`,children:`Templates`}),I.isLoading?(0,M.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Loading…`}):(0,M.jsx)(`ul`,{className:`space-y-1`,children:R.map(t=>(0,M.jsx)(`li`,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-pressed":t.name===e.template,className:m(`flex min-h-8 w-full items-center justify-between px-2 text-left text-sm`,t.name===e.template?`bg-[var(--oke-line)] text-[var(--oke-fg)]`:`text-[var(--oke-muted)]`),onClick:()=>F(b(e,t.name)),children:[(0,M.jsx)(`span`,{children:j(t.name,t.description)}),(0,M.jsx)(`span`,{className:`font-mono text-xs`,children:t.medium})]})},t.name))})]}),(0,M.jsxs)(`main`,{id:`channels-main`,className:`min-w-0 flex-1 overflow-y-auto p-4`,children:[L?.face===`inbox`?(0,M.jsxs)(`section`,{"aria-label":`Inbox`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Inbox`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-2`,children:[(L.inbox??[]).map(e=>(0,M.jsxs)(`li`,{className:`border-b border-[var(--oke-line)] pb-2 text-sm`,children:[(0,M.jsxs)(`div`,{className:`flex gap-2 text-[var(--oke-muted)]`,children:[(0,M.jsx)(`span`,{children:e.medium}),(0,M.jsx)(`span`,{children:e.toMasked}),e.template?(0,M.jsx)(`span`,{children:e.template}):null]}),(0,M.jsx)(`p`,{className:`mt-1 text-[var(--oke-fg)]`,children:e.subject??e.text??`(empty)`})]},e.id)),(L.inbox??[]).length===0?(0,M.jsx)(`li`,{className:`text-sm text-[var(--oke-muted)]`,children:`No messages yet`}):null]})]}):null,(0,M.jsxs)(`section`,{"aria-label":`Did not arrive`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Did not arrive`}),(0,M.jsxs)(`table`,{className:`mt-3 w-full text-left text-sm`,children:[(0,M.jsx)(`caption`,{className:`sr-only`,children:`Seven-state taxonomy with verdicts`}),(0,M.jsx)(`thead`,{children:(0,M.jsxs)(`tr`,{className:`text-[var(--oke-muted)]`,children:[(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`State`}),(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`Count`}),(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`Verdict`})]})}),(0,M.jsx)(`tbody`,{children:B.map(e=>(0,M.jsxs)(`tr`,{className:m(`border-t border-[var(--oke-line)]`,w(e)&&`text-[var(--oke-fg)]`),children:[(0,M.jsx)(`th`,{scope:`row`,className:`py-2 font-normal`,children:x[e.state]}),(0,M.jsx)(`td`,{className:`py-2`,children:e.count}),(0,M.jsx)(`td`,{className:`py-2`,children:S[e.verdict]})]},e.state))})]})]}),(0,M.jsxs)(`section`,{"aria-label":`Fallback chains`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Fallback`}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:L?E(L.fallback):`—`})]}),z?(0,M.jsxs)(`section`,{"aria-label":`Template detail`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:j(z.name,z.description)}),(0,M.jsxs)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,children:[z.description?(0,M.jsx)(`span`,{className:`font-mono`,children:z.name}):null,z.description?` · `:``,`From `,z.from??`unset`,` · Locales `,z.locales.join(`, `)||`none`]}),z.from?(0,M.jsxs)(`section`,{"aria-label":`Email authentication`,className:`mt-4`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`SPF / DKIM / DMARC`}),U.data?(0,M.jsxs)(`ul`,{className:`mt-2 space-y-1 text-sm text-[var(--oke-muted)]`,children:[(0,M.jsxs)(`li`,{children:[`SPF: `,U.data.spf]}),(0,M.jsxs)(`li`,{children:[`DKIM: `,U.data.dkim]}),(0,M.jsxs)(`li`,{children:[`DMARC: `,U.data.dmarc]}),(0,M.jsx)(`li`,{className:`font-mono text-xs`,children:U.data.domain})]}):(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,children:`Checking…`})]}):null,(0,M.jsxs)(`section`,{"aria-label":`Locale preview`,className:`mt-4`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`Preview`}),(0,M.jsxs)(`label`,{className:`mt-2 block text-sm text-[var(--oke-muted)]`,children:[`Locale`,(0,M.jsx)(`select`,{"aria-label":`Preview locale`,className:`mt-1 block border border-[var(--oke-line)] bg-transparent px-2 py-1`,value:v||z.locales[0]||`en`,onChange:e=>T(e.target.value),children:(z.locales.length>0?z.locales:[`en`]).map(e=>(0,M.jsx)(`option`,{value:e,children:e},e))})]}),H.data?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`p`,{className:`mt-2 text-xs text-[var(--oke-muted)]`,children:[`Locale chain: `,D(H.data.localeChain)]}),(0,M.jsxs)(`div`,{className:`mt-2 max-w-prose border border-[var(--oke-line)] p-3 text-sm text-[var(--oke-fg)]`,dir:H.data.dir,lang:H.data.locale,children:[H.data.subject?(0,M.jsx)(`p`,{className:`mb-2 font-medium`,children:H.data.subject}):null,(0,M.jsx)(`p`,{children:H.data.text??H.data.html})]})]}):null]}),(0,M.jsxs)(`section`,{"aria-label":`Send test`,className:`mt-6`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`Send test`}),(0,M.jsx)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,role:`status`,children:`Real send to a designated recipient — not a dry run`}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Recipient`,(0,M.jsx)(`input`,{"aria-label":`Test recipient`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:g,onChange:e=>_(e.target.value)})]}),V.kind===`typed`?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Type `,V.phrase,` to confirm`,(0,M.jsx)(`input`,{"aria-label":`Type ${V.phrase} to confirm`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:l,onChange:e=>u(e.target.value),autoComplete:`off`})]}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Reason`,(0,M.jsx)(`input`,{"aria-label":`Reason for send test`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:f,onChange:e=>p(e.target.value)})]})]}):null,(0,M.jsx)(`div`,{className:`mt-3`,children:(0,M.jsx)(d,{type:`button`,onClick:()=>W.mutate(),disabled:W.isPending||!g.trim(),children:`Send test`})}),N?(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:N}):null]})]}):(0,M.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Select a template to preview and send a test.`}),(0,M.jsxs)(`section`,{"aria-label":`Suppression list`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Suppression`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-1 text-sm text-[var(--oke-muted)]`,children:[(L?.suppression??[]).map(e=>(0,M.jsxs)(`li`,{children:[e.subjectMasked,` · `,e.reason,` · `,e.medium]},`${e.subjectMasked}-${e.reason}-${e.at}`)),(L?.suppression??[]).length===0?(0,M.jsx)(`li`,{children:`Empty`}):null]})]}),(0,M.jsxs)(`section`,{"aria-label":`Recent receipts`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Receipts`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-2 text-sm`,children:[(L?.receipts??[]).map(e=>(0,M.jsxs)(`li`,{className:`border-b border-[var(--oke-line)] pb-2 text-[var(--oke-muted)]`,children:[(0,M.jsx)(`span`,{className:`text-[var(--oke-fg)]`,children:e.template}),` → `,e.toMasked,` · `,e.status,e.chain?` · ${e.chain}`:``,e.localeChain.length>0?(0,M.jsxs)(`span`,{className:`block text-xs`,children:[`Locale: `,D(e.localeChain)]}):null]},e.id)),(L?.receipts??[]).length===0?(0,M.jsx)(`li`,{children:`No receipts yet`}):null]})]})]})]})]})}var P=t({default:()=>N});export{v as i,j as n,T as r,P as t};
|
|
1
|
+
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,Q as r,Z as i,a,b as o,d as s,et as c,g as l,nt as u,o as d,r as f,tt as p,u as m,w as h,y as g}from"./panel-access-ri1X9Otj.js";var _=g({q:o().optional(),template:o().optional(),locale:o().optional(),view:l([`inbox`,`outcomes`,`receipts`,`suppression`,`preview`]).optional()});function v(e){let t=_.safeParse(e);return t.success?t.data:{}}function y(e){let t={};return e.q&&(t.q=e.q),e.template&&(t.template=e.template),e.locale&&(t.locale=e.locale),e.view&&(t.view=e.view),t}function b(e,t){return{...e,template:t}}var x={"suppressed/opted-out":`Suppressed · opted out`,"suppressed/prior-bounce":`Suppressed · prior hard bounce`,"blocked/invalid-address":`Blocked · invalid address`,"soft-bounce":`Soft bounce`,"hard-bounce":`Hard bounce`,"provider-error":`Provider error`,"delivered-then-complained":`Delivered then complained`},S={correct:`correct`,retry:`retry`,suppress:`suppress`,review:`review`};function C(e){return[...e].sort((e,t)=>t.weight===e.weight?t.count-e.count:t.weight-e.weight)}function w(e){return e.weight>=10&&e.count>0}function T(e){return e.filter(e=>e.state===`delivered-then-complained`&&w(e)).map(e=>({state:`delivered-then-complained`,count:e.count,verdict:e.verdict,weight:e.weight}))}function E(e){return e.totalCount===0?`No sends in the last week`:e.chainExample?`${e.chainExample} · ${e.summary}`:e.summary}function D(e){return e.length===0?`default`:e.join(` → `)}function O(e={production:!0}){return e.production?{kind:`typed`,phrase:`SEND`,requireReason:!0}:{kind:`undo`,windowMs:f}}function k(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||e.medium.toLowerCase().includes(n)||e.locales.some(e=>e.toLowerCase().includes(n))):e}var A=e(u(),1);function j(e,t){return t&&t.length>0?t:e}var M=p();function N(){let e=h({from:`/channels`}),t=n({from:`/channels`}),o=c(),[l,u]=(0,A.useState)(``),[f,p]=(0,A.useState)(``),[g,_]=(0,A.useState)(`test@example.com`),[v,T]=(0,A.useState)(e.locale??``),[N,P]=(0,A.useState)(null),F=e=>{t({search:y(e),replace:!0})},I=r({queryKey:[`console.channel.list`],queryFn:async()=>{let e=await s.channelsList();if(e.error)throw Error(e.error.code);return e.data},refetchInterval:1e4}),L=I.data,R=(0,A.useMemo)(()=>k(L?.templates??[],e.q??``),[L?.templates,e.q]),z=R.find(t=>t.name===e.template)??L?.templates.find(t=>t.name===e.template),B=C(L?.outcomes??[]),V=O({production:L?.production??!0}),H=r({queryKey:[`console.channel.preview`,z?.name,v||e.locale],enabled:!!z,queryFn:async()=>{if(!z)return null;let t=await s.channelPreview({template:z.name,locale:v||e.locale||z.locales[0]});if(t.error)throw Error(t.error.code);return t.data}}),U=r({queryKey:[`console.channel.verifyAuth`,z?.from],enabled:!!z?.from,queryFn:async()=>{if(!z?.from)return null;let e=await s.channelVerifyAuth({from:z.from});if(e.error)throw Error(e.error.code);return e.data}});(0,A.useEffect)(()=>{u(``),p(``),P(null),z?.locales[0]&&!v&&T(z.locales[0])},[z?.name]);let W=i({mutationFn:async()=>{if(!z)throw Error(`No template selected`);if(V.kind===`typed`){let e=a({typed:l,reason:f,phrase:V.phrase});if(e)throw Error(e.typed??e.reason??`Confirm required`)}let e=await s.channelSendTest({template:z.name,to:g,locale:v||z.locales[0],confirmation:V.kind===`typed`?V.phrase:void 0,reason:V.kind===`typed`?f:void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:e=>{P(e.ok?`Sent · ${e.messageId}${e.chain?` · ${e.chain}`:``}`:`Failed · ${e.status}`),o.invalidateQueries({queryKey:[`console.channel.list`]}),u(``),p(``)},onError:e=>{P(e instanceof Error?e.message:String(e))}});return(0,M.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,M.jsxs)(`header`,{className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-3`,children:[(0,M.jsx)(`h1`,{className:`text-lg text-[var(--oke-fg)]`,children:`Channels`}),(0,M.jsx)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,children:L?.face===`inbox`?`Dev inbox — all media land here instead of sending`:`Deliverability — seven states of did not arrive`}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Filter templates`,(0,M.jsx)(`input`,{"aria-label":`Filter templates`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:e.q??``,onChange:t=>F({...e,q:t.target.value})})]})]}),(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,M.jsxs)(`section`,{"aria-label":`Templates`,className:`w-64 shrink-0 overflow-y-auto border-r border-[var(--oke-line)] p-3`,children:[(0,M.jsx)(`h2`,{className:`mb-2 text-xs tracking-wide text-[var(--oke-muted)]`,children:`Templates`}),I.isLoading?(0,M.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Loading…`}):(0,M.jsx)(`ul`,{className:`space-y-1`,children:R.map(t=>(0,M.jsx)(`li`,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-pressed":t.name===e.template,className:m(`flex min-h-8 w-full items-center justify-between px-2 text-left text-sm`,t.name===e.template?`bg-[var(--oke-line)] text-[var(--oke-fg)]`:`text-[var(--oke-muted)]`),onClick:()=>F(b(e,t.name)),children:[(0,M.jsx)(`span`,{children:j(t.name,t.description)}),(0,M.jsx)(`span`,{className:`font-mono text-xs`,children:t.medium})]})},t.name))})]}),(0,M.jsxs)(`main`,{id:`channels-main`,className:`min-w-0 flex-1 overflow-y-auto p-4`,children:[L?.face===`inbox`?(0,M.jsxs)(`section`,{"aria-label":`Inbox`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Inbox`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-2`,children:[(L.inbox??[]).map(e=>(0,M.jsxs)(`li`,{className:`border-b border-[var(--oke-line)] pb-2 text-sm`,children:[(0,M.jsxs)(`div`,{className:`flex gap-2 text-[var(--oke-muted)]`,children:[(0,M.jsx)(`span`,{children:e.medium}),(0,M.jsx)(`span`,{children:e.toMasked}),e.template?(0,M.jsx)(`span`,{children:e.template}):null]}),(0,M.jsx)(`p`,{className:`mt-1 text-[var(--oke-fg)]`,children:e.subject??e.text??`(empty)`})]},e.id)),(L.inbox??[]).length===0?(0,M.jsx)(`li`,{className:`text-sm text-[var(--oke-muted)]`,children:`No messages yet`}):null]})]}):null,(0,M.jsxs)(`section`,{"aria-label":`Did not arrive`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Did not arrive`}),(0,M.jsxs)(`table`,{className:`mt-3 w-full text-left text-sm`,children:[(0,M.jsx)(`caption`,{className:`sr-only`,children:`Seven-state taxonomy with verdicts`}),(0,M.jsx)(`thead`,{children:(0,M.jsxs)(`tr`,{className:`text-[var(--oke-muted)]`,children:[(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`State`}),(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`Count`}),(0,M.jsx)(`th`,{scope:`col`,className:`py-1 font-normal`,children:`Verdict`})]})}),(0,M.jsx)(`tbody`,{children:B.map(e=>(0,M.jsxs)(`tr`,{className:m(`border-t border-[var(--oke-line)]`,w(e)&&`text-[var(--oke-fg)]`),children:[(0,M.jsx)(`th`,{scope:`row`,className:`py-2 font-normal`,children:x[e.state]}),(0,M.jsx)(`td`,{className:`py-2`,children:e.count}),(0,M.jsx)(`td`,{className:`py-2`,children:S[e.verdict]})]},e.state))})]})]}),(0,M.jsxs)(`section`,{"aria-label":`Fallback chains`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Fallback`}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:L?E(L.fallback):`—`})]}),z?(0,M.jsxs)(`section`,{"aria-label":`Template detail`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:j(z.name,z.description)}),(0,M.jsxs)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,children:[z.description?(0,M.jsx)(`span`,{className:`font-mono`,children:z.name}):null,z.description?` · `:``,`From `,z.from??`unset`,` · Locales `,z.locales.join(`, `)||`none`]}),z.from?(0,M.jsxs)(`section`,{"aria-label":`Email authentication`,className:`mt-4`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`SPF / DKIM / DMARC`}),U.data?(0,M.jsxs)(`ul`,{className:`mt-2 space-y-1 text-sm text-[var(--oke-muted)]`,children:[(0,M.jsxs)(`li`,{children:[`SPF: `,U.data.spf]}),(0,M.jsxs)(`li`,{children:[`DKIM: `,U.data.dkim]}),(0,M.jsxs)(`li`,{children:[`DMARC: `,U.data.dmarc]}),(0,M.jsx)(`li`,{className:`font-mono text-xs`,children:U.data.domain})]}):(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,children:`Checking…`})]}):null,(0,M.jsxs)(`section`,{"aria-label":`Locale preview`,className:`mt-4`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`Preview`}),(0,M.jsxs)(`label`,{className:`mt-2 block text-sm text-[var(--oke-muted)]`,children:[`Locale`,(0,M.jsx)(`select`,{"aria-label":`Preview locale`,className:`mt-1 block border border-[var(--oke-line)] bg-transparent px-2 py-1`,value:v||z.locales[0]||`en`,onChange:e=>T(e.target.value),children:(z.locales.length>0?z.locales:[`en`]).map(e=>(0,M.jsx)(`option`,{value:e,children:e},e))})]}),H.data?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`p`,{className:`mt-2 text-xs text-[var(--oke-muted)]`,children:[`Locale chain: `,D(H.data.localeChain)]}),(0,M.jsxs)(`div`,{className:`mt-2 max-w-prose border border-[var(--oke-line)] p-3 text-sm text-[var(--oke-fg)]`,dir:H.data.dir,lang:H.data.locale,children:[H.data.subject?(0,M.jsx)(`p`,{className:`mb-2 font-medium`,children:H.data.subject}):null,(0,M.jsx)(`p`,{children:H.data.text??H.data.html})]})]}):null]}),(0,M.jsxs)(`section`,{"aria-label":`Send test`,className:`mt-6`,children:[(0,M.jsx)(`h3`,{className:`text-sm text-[var(--oke-fg)]`,children:`Send test`}),(0,M.jsx)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,role:`status`,children:`Real send to a designated recipient — not a dry run`}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Recipient`,(0,M.jsx)(`input`,{"aria-label":`Test recipient`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:g,onChange:e=>_(e.target.value)})]}),V.kind===`typed`?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Type `,V.phrase,` to confirm`,(0,M.jsx)(`input`,{"aria-label":`Type ${V.phrase} to confirm`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:l,onChange:e=>u(e.target.value),autoComplete:`off`})]}),(0,M.jsxs)(`label`,{className:`mt-3 block text-sm text-[var(--oke-muted)]`,children:[`Reason`,(0,M.jsx)(`input`,{"aria-label":`Reason for send test`,className:`mt-1 block w-full max-w-md border border-[var(--oke-line)] bg-transparent px-2 py-1 text-[var(--oke-fg)]`,value:f,onChange:e=>p(e.target.value)})]})]}):null,(0,M.jsx)(`div`,{className:`mt-3`,children:(0,M.jsx)(d,{type:`button`,onClick:()=>W.mutate(),disabled:W.isPending||!g.trim(),children:`Send test`})}),N?(0,M.jsx)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:N}):null]})]}):(0,M.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Select a template to preview and send a test.`}),(0,M.jsxs)(`section`,{"aria-label":`Suppression list`,className:`mb-8`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Suppression`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-1 text-sm text-[var(--oke-muted)]`,children:[(L?.suppression??[]).map(e=>(0,M.jsxs)(`li`,{children:[e.subjectMasked,` · `,e.reason,` · `,e.medium]},`${e.subjectMasked}-${e.reason}-${e.at}`)),(L?.suppression??[]).length===0?(0,M.jsx)(`li`,{children:`Empty`}):null]})]}),(0,M.jsxs)(`section`,{"aria-label":`Recent receipts`,children:[(0,M.jsx)(`h2`,{className:`text-base text-[var(--oke-fg)]`,children:`Receipts`}),(0,M.jsxs)(`ul`,{className:`mt-3 space-y-2 text-sm`,children:[(L?.receipts??[]).map(e=>(0,M.jsxs)(`li`,{className:`border-b border-[var(--oke-line)] pb-2 text-[var(--oke-muted)]`,children:[(0,M.jsx)(`span`,{className:`text-[var(--oke-fg)]`,children:e.template}),` → `,e.toMasked,` · `,e.status,e.chain?` · ${e.chain}`:``,e.localeChain.length>0?(0,M.jsxs)(`span`,{className:`block text-xs`,children:[`Locale: `,D(e.localeChain)]}):null]},e.id)),(L?.receipts??[]).length===0?(0,M.jsx)(`li`,{children:`No receipts yet`}):null]})]})]})]})]})}var P=t({default:()=>N});export{v as i,j as n,T as r,P as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,Q as r,Z as i,a,b as o,c as s,d as c,et as l,g as u,nt as d,o as f,r as p,tt as m,u as h,w as g,y as _}from"./panel-access-BGv45snf.js";import{n as v}from"./panel-channels-9T3ybqRu.js";var y=_({q:o().optional(),cron:o().optional(),wake:o().optional(),action:u([`run`,`edit`]).optional()});function b(e){let t=y.safeParse(e);return t.success?t.data:{}}function x(e){let t={};return e.q&&(t.q=e.q),e.cron&&(t.cron=e.cron),e.wake&&(t.wake=e.wake),e.action&&(t.action=e.action),t}function S(e,t){return{...e,cron:t,wake:void 0,action:void 0}}function C(e,t){return{...e,wake:t,cron:void 0,action:void 0}}function ee(e,t){let n=t+864e5;return e.filter(e=>e.at>=t&&e.at<n).slice().sort((e,t)=>e.at-t.at||e.name.localeCompare(t.name))}function te(e,t){let n=e-t;if(n<0)return`past`;if(n<6e4)return`in ${Math.round(n/1e3)}s`;if(n<36e5)return`in ${Math.round(n/6e4)}m`;if(n<864e5){let e=Math.floor(n/36e5),t=Math.round(n%36e5/6e4);return t>0?`in ${e}h ${t}m`:`in ${e}h`}return new Date(e).toISOString()}function w(e,t){return e===0?`Nothing waiting`:`${e} sleeping — ${t.slice(0,4).map(e=>`${e.count} ${e.label}`).join(`, `)}`}function T(e){if(e<=0)return`due`;if(e<1e3)return`${e}ms`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<48){let e=n%60;return e>0?`${r}h ${e}m`:`${r}h`}return`${Math.floor(r/24)}d`}function E(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)||e.flow.toLowerCase().includes(n)||e.runId.toLowerCase().includes(n)||(e.step?.toLowerCase().includes(n)??!1)):e}function D(e){return{drift:e.driftMs==null?`drift unknown`:`drift ${k(e.driftMs)}`,overdue:e.overdue?`overdue`:`on time`,missedWithPolicy:`${e.missedRuns} missed · catch-up ${e.catchUp}`,lease:e.leaderInstanceId?`lease ${e.leaderInstanceId}`:`no lease`}}function O(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||(e.effectiveCron?.toLowerCase().includes(n)??!1)||(e.effectiveEvery?.toLowerCase().includes(n)??!1)||e.flowIds.some(e=>e.toLowerCase().includes(n))):e}function k(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return n<1e3?`${t}${n}ms`:n<6e4?`${t}${Math.round(n/1e3)}s`:`${t}${Math.round(n/6e4)}m`}function A(e){return e.filter(e=>e.health.overdue).map(e=>({name:e.name,driftMs:e.health.driftMs,missedRuns:e.health.missedRuns,...e.nextRunAt===void 0?{}:{nextRunAt:e.nextRunAt},flowIds:e.flowIds})).sort((e,t)=>t.missedRuns-e.missedRuns||e.name.localeCompare(t.name))}function j(e,t={production:!0}){return t.production&&e.external?{kind:`typed`,phrase:`RUN`,requireReason:!0}:{kind:`undo`,windowMs:p}}var M=e(d(),1),N=m();function P(){let e=g({from:`/clock`}),t=n({from:`/clock`}),o=l(),[u,d]=(0,M.useState)(``),[p,m]=(0,M.useState)(``),[_,y]=(0,M.useState)(``),[b,k]=(0,M.useState)(``),[A,P]=(0,M.useState)(null),F=e=>{t({search:x(e),replace:!0})},I=r({queryKey:[`console.clock.list`],queryFn:async()=>{let e=await c.clockList();if(e.error)throw Error(e.error.code);return e.data},refetchInterval:5e3}),L=I.data,R=L?.now??Date.now(),z=e.q??``,B=(0,M.useMemo)(()=>O(L?.crons??[],z),[L?.crons,z]),V=(0,M.useMemo)(()=>E(L?.waitingOn??[],z),[L?.waitingOn,z]),H=(0,M.useMemo)(()=>ee(L?.timeline??[],R),[L?.timeline,R]),U=L?.waitingOnCounts??[],W=w(V.length,U),G=B.find(t=>t.name===e.cron),K=V.find(t=>t.runId===e.wake),q=G?j(G,{production:!0}):null,J=G?D(G.health):null;(0,M.useEffect)(()=>{d(``),m(``),P(null),G&&(y(G.effectiveCron??``),k(G.effectiveEvery??``))},[G?.name,e.action,K?.runId]);let Y=()=>o.invalidateQueries({queryKey:[`console.clock.list`]}),X=i({mutationFn:async()=>{if(!G||!q)throw Error(`no cron`);if(q.kind===`typed`){let e=a({typed:u,reason:p,phrase:q.phrase});if(e)throw Error(e.typed??e.reason??`confirm`)}let e=await c.clockRunNow({name:G.name,confirmation:q.kind===`typed`?u:void 0,reason:q.kind===`typed`?p:void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async e=>{P(e?.ran?`Ran now`:`Did not acquire lease`),d(``),m(``),await Y()},onError:e=>{P(e instanceof Error?e.message:`Run failed`)}}),Z=i({mutationFn:async()=>{if(!G)throw Error(`no cron`);let e=await c.clockPause({name:G.name});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Paused`),await Y()}}),Q=i({mutationFn:async()=>{if(!G?.overridable)throw Error(`not overridable`);let e=await c.clockEditSchedule({name:G.name,cron:_||void 0,every:b||void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Schedule updated`),F({...e,action:void 0}),await Y()},onError:e=>{P(e instanceof Error?e.message:`Edit failed`)}}),$=i({mutationFn:async()=>{if(!K)throw Error(`no wake`);let e=await c.clockWakeEarly({runId:K.runId});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Woke early`),F({...e,wake:void 0}),await Y()}});return(0,N.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,N.jsxs)(`header`,{className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-3`,children:[(0,N.jsx)(`h1`,{className:`text-lg font-medium`,children:`Clock`}),(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Forward timeline, waiting-on, cron health`}),(0,N.jsxs)(`label`,{className:`mt-2 block max-w-sm text-sm`,children:[(0,N.jsx)(`span`,{className:`sr-only`,children:`Filter clock`}),(0,N.jsx)(s,{"aria-label":`Filter clock`,placeholder:`Filter…`,value:z,onChange:t=>F({...e,q:t.currentTarget.value||void 0})})]})]}),(0,N.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-0 overflow-hidden lg:grid-cols-[1fr_1fr_1.2fr]`,children:[(0,N.jsxs)(`section`,{"aria-label":`Forward timeline`,className:`min-h-0 overflow-y-auto border-b border-[var(--oke-line)] p-4 lg:border-b-0 lg:border-r`,children:[(0,N.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Next 24 hours`}),I.isLoading?(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Loading…`}):H.length===0?(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Nothing in the next 24h`}):(0,N.jsx)(`ol`,{className:`space-y-1`,children:H.map(e=>(0,N.jsxs)(`li`,{className:`flex min-h-8 items-baseline gap-2 text-sm`,children:[(0,N.jsx)(`span`,{className:`w-24 shrink-0 text-[var(--oke-muted)]`,children:te(e.at,R)}),(0,N.jsxs)(`span`,{children:[e.kind===`cron`?`cron`:`wake`,` · `,e.name]})]},`${e.kind}-${e.name}-${e.at}`))})]}),(0,N.jsxs)(`section`,{"aria-label":`Waiting on`,className:`min-h-0 overflow-y-auto border-b border-[var(--oke-line)] p-4 lg:border-b-0 lg:border-r`,children:[(0,N.jsx)(`h2`,{className:`mb-1 text-sm font-medium`,children:`Waiting on`}),(0,N.jsx)(`p`,{className:`mb-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:W}),(0,N.jsx)(`ul`,{className:`space-y-1`,children:V.map(t=>{let n=U.find(e=>e.label===(t.label||`(unlabelled)`))?.count??1;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,"aria-pressed":t.runId===e.wake,className:h(`flex min-h-8 w-full flex-col items-start px-2 py-1 text-left text-sm`,t.runId===e.wake?`bg-[var(--oke-line)]`:`hover:bg-[var(--oke-line)]/40`),onClick:()=>F(C(e,t.runId)),children:[(0,N.jsx)(`span`,{children:t.label||t.flow}),(0,N.jsxs)(`span`,{className:`text-[var(--oke-muted)]`,children:[`wake-in `,T(t.wakeInMs),t.step?` · step ${t.step}`:``,` · ${n} run${n===1?``:`s`}`]})]})},t.runId)})})]}),(0,N.jsxs)(`section`,{"aria-label":`Cron schedules`,className:`min-h-0 overflow-y-auto p-4`,children:[(0,N.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Schedules`}),(0,N.jsx)(`ul`,{className:`mb-4 space-y-1`,children:B.map(t=>{let n=D(t.health);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,"aria-pressed":t.name===e.cron,className:h(`flex min-h-8 w-full flex-col items-start px-2 py-1 text-left text-sm`,t.name===e.cron?`bg-[var(--oke-line)]`:`hover:bg-[var(--oke-line)]/40`),onClick:()=>F(S(e,t.name)),children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[v(t.name,t.description),t.external?(0,N.jsx)(`span`,{"aria-label":`external effect`,children:`↗`}):null,t.health.overdue?(0,N.jsx)(`span`,{role:`status`,className:`text-[var(--oke-danger)]`,children:`overdue`}):null,t.dstAmbiguity?(0,N.jsxs)(`span`,{role:`status`,children:[`DST `,t.dstAmbiguity.kind]}):null]}),(0,N.jsxs)(`span`,{className:`text-[var(--oke-muted)]`,children:[n.drift,` · `,n.missedWithPolicy,` · `,n.lease]})]})},t.name)})}),G&&J?(0,N.jsxs)(`section`,{"aria-label":`Cron detail`,"aria-live":`polite`,className:`space-y-3 border-t border-[var(--oke-line)] pt-3`,children:[(0,N.jsx)(`h3`,{className:`text-base font-medium`,children:v(G.name,G.description)}),(0,N.jsxs)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:[G.description?(0,N.jsx)(`span`,{className:`font-mono`,children:G.name}):null,G.description?` · `:``,G.effectiveCron??G.effectiveEvery,` · `,G.timezone,G.status===`active`?``:` · ${G.status}`]}),(0,N.jsxs)(`dl`,{className:`grid grid-cols-2 gap-2 text-sm`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Drift`}),(0,N.jsx)(`dd`,{children:J.drift})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Overdue`}),(0,N.jsx)(`dd`,{children:J.overdue})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Missed + catch-up`}),(0,N.jsx)(`dd`,{children:J.missedWithPolicy})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Lease`}),(0,N.jsx)(`dd`,{children:J.lease})]})]}),G.dstAmbiguity?(0,N.jsx)(`p`,{role:`alert`,className:`text-sm`,children:G.dstAmbiguity.reason}):null,(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,N.jsx)(f,{type:`button`,variant:G.external?`external`:`primary`,disabled:X.isPending,onClick:()=>{if(q?.kind===`typed`&&e.action!==`run`){F({...e,action:`run`});return}X.mutate()},children:`Run now`}),(0,N.jsx)(f,{type:`button`,variant:`ghost`,disabled:Z.isPending||G.status===`paused`,onClick:()=>Z.mutate(),children:`Pause`}),G.overridable?(0,N.jsx)(f,{type:`button`,variant:`ghost`,onClick:()=>F({...e,action:e.action===`edit`?void 0:`edit`}),children:`Edit schedule`}):null]}),e.action===`run`&&q?.kind===`typed`?(0,N.jsxs)(`div`,{className:`space-y-2`,children:[(0,N.jsxs)(`p`,{className:`text-sm`,children:[`This cron has an external effect. Type `,(0,N.jsx)(`strong`,{children:`RUN`}),` and a reason.`]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Type RUN to confirm`,(0,N.jsx)(s,{"aria-label":`Type RUN to confirm`,value:u,onChange:e=>d(e.currentTarget.value)})]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Reason`,(0,N.jsx)(s,{"aria-label":`Reason`,value:p,onChange:e=>m(e.currentTarget.value)})]}),(0,N.jsx)(f,{type:`button`,variant:`external`,disabled:X.isPending,onClick:()=>X.mutate(),children:`Confirm run now`})]}):null,e.action===`edit`&&G.overridable?(0,N.jsxs)(`div`,{className:`space-y-2`,children:[(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Cron expression`,(0,N.jsx)(s,{"aria-label":`Cron expression`,value:_,onChange:e=>y(e.currentTarget.value)})]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Every interval`,(0,N.jsx)(s,{"aria-label":`Every interval`,value:b,onChange:e=>k(e.currentTarget.value)})]}),(0,N.jsx)(f,{type:`button`,disabled:Q.isPending,onClick:()=>Q.mutate(),children:`Save schedule`})]}):null]}):null,K?(0,N.jsxs)(`section`,{"aria-label":`Wake detail`,"aria-live":`polite`,className:`mt-4 space-y-2 border-t border-[var(--oke-line)] pt-3`,children:[(0,N.jsx)(`h3`,{className:`text-base font-medium`,children:K.label||K.flow}),(0,N.jsxs)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:[K.flow,` · wake in `,T(K.wakeInMs),K.step?` · step ${K.step}`:``]}),(0,N.jsx)(f,{type:`button`,disabled:$.isPending,onClick:()=>$.mutate(),children:`Wake early`})]}):null,A?(0,N.jsx)(`p`,{className:`mt-3 text-sm`,role:`status`,children:A}):null]})]})]})}var F=t({default:()=>P});export{A as n,b as r,F as t};
|
|
1
|
+
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,Q as r,Z as i,a,b as o,c as s,d as c,et as l,g as u,nt as d,o as f,r as p,tt as m,u as h,w as g,y as _}from"./panel-access-ri1X9Otj.js";import{n as v}from"./panel-channels-BDYWX29p.js";var y=_({q:o().optional(),cron:o().optional(),wake:o().optional(),action:u([`run`,`edit`]).optional()});function b(e){let t=y.safeParse(e);return t.success?t.data:{}}function x(e){let t={};return e.q&&(t.q=e.q),e.cron&&(t.cron=e.cron),e.wake&&(t.wake=e.wake),e.action&&(t.action=e.action),t}function S(e,t){return{...e,cron:t,wake:void 0,action:void 0}}function C(e,t){return{...e,wake:t,cron:void 0,action:void 0}}function ee(e,t){let n=t+864e5;return e.filter(e=>e.at>=t&&e.at<n).slice().sort((e,t)=>e.at-t.at||e.name.localeCompare(t.name))}function te(e,t){let n=e-t;if(n<0)return`past`;if(n<6e4)return`in ${Math.round(n/1e3)}s`;if(n<36e5)return`in ${Math.round(n/6e4)}m`;if(n<864e5){let e=Math.floor(n/36e5),t=Math.round(n%36e5/6e4);return t>0?`in ${e}h ${t}m`:`in ${e}h`}return new Date(e).toISOString()}function w(e,t){return e===0?`Nothing waiting`:`${e} sleeping — ${t.slice(0,4).map(e=>`${e.count} ${e.label}`).join(`, `)}`}function T(e){if(e<=0)return`due`;if(e<1e3)return`${e}ms`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<48){let e=n%60;return e>0?`${r}h ${e}m`:`${r}h`}return`${Math.floor(r/24)}d`}function E(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)||e.flow.toLowerCase().includes(n)||e.runId.toLowerCase().includes(n)||(e.step?.toLowerCase().includes(n)??!1)):e}function D(e){return{drift:e.driftMs==null?`drift unknown`:`drift ${k(e.driftMs)}`,overdue:e.overdue?`overdue`:`on time`,missedWithPolicy:`${e.missedRuns} missed · catch-up ${e.catchUp}`,lease:e.leaderInstanceId?`lease ${e.leaderInstanceId}`:`no lease`}}function O(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||(e.effectiveCron?.toLowerCase().includes(n)??!1)||(e.effectiveEvery?.toLowerCase().includes(n)??!1)||e.flowIds.some(e=>e.toLowerCase().includes(n))):e}function k(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return n<1e3?`${t}${n}ms`:n<6e4?`${t}${Math.round(n/1e3)}s`:`${t}${Math.round(n/6e4)}m`}function A(e){return e.filter(e=>e.health.overdue).map(e=>({name:e.name,driftMs:e.health.driftMs,missedRuns:e.health.missedRuns,...e.nextRunAt===void 0?{}:{nextRunAt:e.nextRunAt},flowIds:e.flowIds})).sort((e,t)=>t.missedRuns-e.missedRuns||e.name.localeCompare(t.name))}function j(e,t={production:!0}){return t.production&&e.external?{kind:`typed`,phrase:`RUN`,requireReason:!0}:{kind:`undo`,windowMs:p}}var M=e(d(),1),N=m();function P(){let e=g({from:`/clock`}),t=n({from:`/clock`}),o=l(),[u,d]=(0,M.useState)(``),[p,m]=(0,M.useState)(``),[_,y]=(0,M.useState)(``),[b,k]=(0,M.useState)(``),[A,P]=(0,M.useState)(null),F=e=>{t({search:x(e),replace:!0})},I=r({queryKey:[`console.clock.list`],queryFn:async()=>{let e=await c.clockList();if(e.error)throw Error(e.error.code);return e.data},refetchInterval:5e3}),L=I.data,R=L?.now??Date.now(),z=e.q??``,B=(0,M.useMemo)(()=>O(L?.crons??[],z),[L?.crons,z]),V=(0,M.useMemo)(()=>E(L?.waitingOn??[],z),[L?.waitingOn,z]),H=(0,M.useMemo)(()=>ee(L?.timeline??[],R),[L?.timeline,R]),U=L?.waitingOnCounts??[],W=w(V.length,U),G=B.find(t=>t.name===e.cron),K=V.find(t=>t.runId===e.wake),q=G?j(G,{production:!0}):null,J=G?D(G.health):null;(0,M.useEffect)(()=>{d(``),m(``),P(null),G&&(y(G.effectiveCron??``),k(G.effectiveEvery??``))},[G?.name,e.action,K?.runId]);let Y=()=>o.invalidateQueries({queryKey:[`console.clock.list`]}),X=i({mutationFn:async()=>{if(!G||!q)throw Error(`no cron`);if(q.kind===`typed`){let e=a({typed:u,reason:p,phrase:q.phrase});if(e)throw Error(e.typed??e.reason??`confirm`)}let e=await c.clockRunNow({name:G.name,confirmation:q.kind===`typed`?u:void 0,reason:q.kind===`typed`?p:void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async e=>{P(e?.ran?`Ran now`:`Did not acquire lease`),d(``),m(``),await Y()},onError:e=>{P(e instanceof Error?e.message:`Run failed`)}}),Z=i({mutationFn:async()=>{if(!G)throw Error(`no cron`);let e=await c.clockPause({name:G.name});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Paused`),await Y()}}),Q=i({mutationFn:async()=>{if(!G?.overridable)throw Error(`not overridable`);let e=await c.clockEditSchedule({name:G.name,cron:_||void 0,every:b||void 0});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Schedule updated`),F({...e,action:void 0}),await Y()},onError:e=>{P(e instanceof Error?e.message:`Edit failed`)}}),$=i({mutationFn:async()=>{if(!K)throw Error(`no wake`);let e=await c.clockWakeEarly({runId:K.runId});if(e.error)throw Error(e.error.code);return e.data},onSuccess:async()=>{P(`Woke early`),F({...e,wake:void 0}),await Y()}});return(0,N.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,N.jsxs)(`header`,{className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-3`,children:[(0,N.jsx)(`h1`,{className:`text-lg font-medium`,children:`Clock`}),(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Forward timeline, waiting-on, cron health`}),(0,N.jsxs)(`label`,{className:`mt-2 block max-w-sm text-sm`,children:[(0,N.jsx)(`span`,{className:`sr-only`,children:`Filter clock`}),(0,N.jsx)(s,{"aria-label":`Filter clock`,placeholder:`Filter…`,value:z,onChange:t=>F({...e,q:t.currentTarget.value||void 0})})]})]}),(0,N.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-0 overflow-hidden lg:grid-cols-[1fr_1fr_1.2fr]`,children:[(0,N.jsxs)(`section`,{"aria-label":`Forward timeline`,className:`min-h-0 overflow-y-auto border-b border-[var(--oke-line)] p-4 lg:border-b-0 lg:border-r`,children:[(0,N.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Next 24 hours`}),I.isLoading?(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Loading…`}):H.length===0?(0,N.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Nothing in the next 24h`}):(0,N.jsx)(`ol`,{className:`space-y-1`,children:H.map(e=>(0,N.jsxs)(`li`,{className:`flex min-h-8 items-baseline gap-2 text-sm`,children:[(0,N.jsx)(`span`,{className:`w-24 shrink-0 text-[var(--oke-muted)]`,children:te(e.at,R)}),(0,N.jsxs)(`span`,{children:[e.kind===`cron`?`cron`:`wake`,` · `,e.name]})]},`${e.kind}-${e.name}-${e.at}`))})]}),(0,N.jsxs)(`section`,{"aria-label":`Waiting on`,className:`min-h-0 overflow-y-auto border-b border-[var(--oke-line)] p-4 lg:border-b-0 lg:border-r`,children:[(0,N.jsx)(`h2`,{className:`mb-1 text-sm font-medium`,children:`Waiting on`}),(0,N.jsx)(`p`,{className:`mb-2 text-sm text-[var(--oke-muted)]`,role:`status`,children:W}),(0,N.jsx)(`ul`,{className:`space-y-1`,children:V.map(t=>{let n=U.find(e=>e.label===(t.label||`(unlabelled)`))?.count??1;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,"aria-pressed":t.runId===e.wake,className:h(`flex min-h-8 w-full flex-col items-start px-2 py-1 text-left text-sm`,t.runId===e.wake?`bg-[var(--oke-line)]`:`hover:bg-[var(--oke-line)]/40`),onClick:()=>F(C(e,t.runId)),children:[(0,N.jsx)(`span`,{children:t.label||t.flow}),(0,N.jsxs)(`span`,{className:`text-[var(--oke-muted)]`,children:[`wake-in `,T(t.wakeInMs),t.step?` · step ${t.step}`:``,` · ${n} run${n===1?``:`s`}`]})]})},t.runId)})})]}),(0,N.jsxs)(`section`,{"aria-label":`Cron schedules`,className:`min-h-0 overflow-y-auto p-4`,children:[(0,N.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Schedules`}),(0,N.jsx)(`ul`,{className:`mb-4 space-y-1`,children:B.map(t=>{let n=D(t.health);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,"aria-pressed":t.name===e.cron,className:h(`flex min-h-8 w-full flex-col items-start px-2 py-1 text-left text-sm`,t.name===e.cron?`bg-[var(--oke-line)]`:`hover:bg-[var(--oke-line)]/40`),onClick:()=>F(S(e,t.name)),children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[v(t.name,t.description),t.external?(0,N.jsx)(`span`,{"aria-label":`external effect`,children:`↗`}):null,t.health.overdue?(0,N.jsx)(`span`,{role:`status`,className:`text-[var(--oke-danger)]`,children:`overdue`}):null,t.dstAmbiguity?(0,N.jsxs)(`span`,{role:`status`,children:[`DST `,t.dstAmbiguity.kind]}):null]}),(0,N.jsxs)(`span`,{className:`text-[var(--oke-muted)]`,children:[n.drift,` · `,n.missedWithPolicy,` · `,n.lease]})]})},t.name)})}),G&&J?(0,N.jsxs)(`section`,{"aria-label":`Cron detail`,"aria-live":`polite`,className:`space-y-3 border-t border-[var(--oke-line)] pt-3`,children:[(0,N.jsx)(`h3`,{className:`text-base font-medium`,children:v(G.name,G.description)}),(0,N.jsxs)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:[G.description?(0,N.jsx)(`span`,{className:`font-mono`,children:G.name}):null,G.description?` · `:``,G.effectiveCron??G.effectiveEvery,` · `,G.timezone,G.status===`active`?``:` · ${G.status}`]}),(0,N.jsxs)(`dl`,{className:`grid grid-cols-2 gap-2 text-sm`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Drift`}),(0,N.jsx)(`dd`,{children:J.drift})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Overdue`}),(0,N.jsx)(`dd`,{children:J.overdue})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Missed + catch-up`}),(0,N.jsx)(`dd`,{children:J.missedWithPolicy})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`dt`,{className:`text-[var(--oke-muted)]`,children:`Lease`}),(0,N.jsx)(`dd`,{children:J.lease})]})]}),G.dstAmbiguity?(0,N.jsx)(`p`,{role:`alert`,className:`text-sm`,children:G.dstAmbiguity.reason}):null,(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,N.jsx)(f,{type:`button`,variant:G.external?`external`:`primary`,disabled:X.isPending,onClick:()=>{if(q?.kind===`typed`&&e.action!==`run`){F({...e,action:`run`});return}X.mutate()},children:`Run now`}),(0,N.jsx)(f,{type:`button`,variant:`ghost`,disabled:Z.isPending||G.status===`paused`,onClick:()=>Z.mutate(),children:`Pause`}),G.overridable?(0,N.jsx)(f,{type:`button`,variant:`ghost`,onClick:()=>F({...e,action:e.action===`edit`?void 0:`edit`}),children:`Edit schedule`}):null]}),e.action===`run`&&q?.kind===`typed`?(0,N.jsxs)(`div`,{className:`space-y-2`,children:[(0,N.jsxs)(`p`,{className:`text-sm`,children:[`This cron has an external effect. Type `,(0,N.jsx)(`strong`,{children:`RUN`}),` and a reason.`]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Type RUN to confirm`,(0,N.jsx)(s,{"aria-label":`Type RUN to confirm`,value:u,onChange:e=>d(e.currentTarget.value)})]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Reason`,(0,N.jsx)(s,{"aria-label":`Reason`,value:p,onChange:e=>m(e.currentTarget.value)})]}),(0,N.jsx)(f,{type:`button`,variant:`external`,disabled:X.isPending,onClick:()=>X.mutate(),children:`Confirm run now`})]}):null,e.action===`edit`&&G.overridable?(0,N.jsxs)(`div`,{className:`space-y-2`,children:[(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Cron expression`,(0,N.jsx)(s,{"aria-label":`Cron expression`,value:_,onChange:e=>y(e.currentTarget.value)})]}),(0,N.jsxs)(`label`,{className:`block text-sm`,children:[`Every interval`,(0,N.jsx)(s,{"aria-label":`Every interval`,value:b,onChange:e=>k(e.currentTarget.value)})]}),(0,N.jsx)(f,{type:`button`,disabled:Q.isPending,onClick:()=>Q.mutate(),children:`Save schedule`})]}):null]}):null,K?(0,N.jsxs)(`section`,{"aria-label":`Wake detail`,"aria-live":`polite`,className:`mt-4 space-y-2 border-t border-[var(--oke-line)] pt-3`,children:[(0,N.jsx)(`h3`,{className:`text-base font-medium`,children:K.label||K.flow}),(0,N.jsxs)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:[K.flow,` · wake in `,T(K.wakeInMs),K.step?` · step ${K.step}`:``]}),(0,N.jsx)(f,{type:`button`,disabled:$.isPending,onClick:()=>$.mutate(),children:`Wake early`})]}):null,A?(0,N.jsx)(`p`,{className:`mt-3 text-sm`,role:`status`,children:A}):null]})]})]})}var F=t({default:()=>P});export{A as n,b as r,F as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,D as r,E as i,Q as a,b as o,d as s,g as c,k as l,nt as u,tt as d,u as f,y as p}from"./panel-access-
|
|
1
|
+
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,D as r,E as i,Q as a,b as o,d as s,g as c,k as l,nt as u,tt as d,u as f,y as p}from"./panel-access-ri1X9Otj.js";function m(e){let t=l({warn:e?.router===void 0}),n=e?.router||t;return r(n.stores.__store,i(e,n))}var h=p({q:o().optional(),path:o().optional(),category:c([`contract-breaking`,`permission-widening`,`effect-widening`,`no-impact`]).optional()});function g(e){let t=h.safeParse(e);return t.success?t.data:{}}function _(e){let t={};return e.q&&(t.q=e.q),e.path&&(t.path=e.path),e.category&&(t.category=e.category),t}var v=[`contract-breaking`,`permission-widening`,`effect-widening`,`no-impact`],y={"contract-breaking":`Contract breaking`,"permission-widening":`Permission widening`,"effect-widening":`Effect widening`,"no-impact":`No impact`};function b(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>n&&e.category!==n?!1:!r||e.path.toLowerCase().includes(r)||e.summary.toLowerCase().includes(r)||(e.blastLine?.toLowerCase().includes(r)??!1)||(e.flowName?.toLowerCase().includes(r)??!1)||(e.weeklyBillLine?.toLowerCase().includes(r)??!1))}function x(e){let t=new Map;for(let e of v)t.set(e,[]);for(let n of e)t.get(n.category)?.push(n);return v.flatMap(e=>{let n=t.get(e)??[];return n.length===0?[]:[{category:e,label:y[e],items:n}]})}function S(e){return e===`blocked`?`CI gate: blocked — undeclared break`:e===`acknowledged`?`CI gate: allowed — breaking: true`:null}function C(e){let t=`/diff`;if(!e.hasBaseline)return{hasBaseline:!1,severity:null,changeCount:0,blockedCount:0,acknowledgedCount:0,line:`No prior deploy baseline — Manifest Diff has nothing to compare yet`,href:t};let n=e.changes.length;if(n===0)return{hasBaseline:!0,severity:null,changeCount:0,blockedCount:0,acknowledgedCount:0,line:`Last deploy changed nothing in the Manifest`,href:t};let r=e.severity==null?`changes`:y[e.severity],i=e.changes[0],a=e.blockedCount>0?` · ${e.blockedCount} blocked by CI`:e.acknowledgedCount>0?` · ${e.acknowledgedCount} acknowledged break${e.acknowledgedCount===1?``:`s`}`:``;return{hasBaseline:!0,severity:e.severity,changeCount:n,blockedCount:e.blockedCount,acknowledgedCount:e.acknowledgedCount,line:`${n} Manifest change${n===1?``:`s`} (${r}): ${i.summary}${a}`,href:t}}var w=e(u(),1),T=d();function E(){let e=m({select:e=>e.location.pathname}),t=m({select:e=>e.location.search}),r=(0,w.useMemo)(()=>g(t),[t]),i=n(),o=t=>{i({to:e===`/diff`?`/diff`:`/manifest-diff`,search:_(t),replace:!0})},c=a({queryKey:[`console.diff.list`],queryFn:async()=>{let e=await s.diffList();if(e.error)throw Error(e.error.code);return e.data},refetchInterval:1e4}),l=c.data,u=(0,w.useMemo)(()=>b(l?.changes??[],r.q??``,r.category),[l?.changes,r.q,r.category]),d=(0,w.useMemo)(()=>x(u),[u]),p=r.path;return(0,T.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,T.jsxs)(`header`,{className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-3`,children:[(0,T.jsx)(`h1`,{className:`text-base font-medium text-[var(--oke-fg)]`,children:`Manifest Diff`}),(0,T.jsx)(`p`,{className:`text-sm text-[var(--oke-muted)]`,children:`Blast radius of a deploy — contract, permission, effect, and no-impact. Read-only compare of current Manifest vs baseline.`}),(0,T.jsxs)(`label`,{className:`mt-2 flex max-w-sm flex-col gap-1 text-sm`,children:[(0,T.jsx)(`span`,{className:`text-[var(--oke-muted)]`,children:`Filter`}),(0,T.jsx)(`input`,{"aria-label":`Filter changes`,className:`min-h-8 border border-[var(--oke-line)] bg-transparent px-2`,value:r.q??``,onChange:e=>o({...r,q:e.target.value||void 0})})]}),(0,T.jsxs)(`div`,{role:`group`,"aria-label":`Blast-radius category`,className:`mt-2 flex flex-wrap gap-1`,children:[(0,T.jsx)(D,{label:`All`,pressed:r.category===void 0,onClick:()=>o({...r,category:void 0})}),v.map(e=>(0,T.jsx)(D,{label:y[e],pressed:r.category===e,onClick:()=>o({...r,category:r.category===e?void 0:e})},e))]})]}),l?.hasBaseline?(0,T.jsxs)(`section`,{"aria-label":`CI gate summary`,role:`status`,className:`shrink-0 border-b border-[var(--oke-line)] px-4 py-2 text-sm`,children:[(0,T.jsx)(`h2`,{className:`sr-only`,children:`CI gate`}),(0,T.jsxs)(`p`,{className:`text-[var(--oke-fg)]`,children:[(0,T.jsxs)(`span`,{className:(l.blockedCount??0)>0?`text-[var(--oke-fg)]`:`text-[var(--oke-muted)]`,children:[l.blockedCount,` undeclared break`,l.blockedCount===1?``:`s`,` blocked`]}),(0,T.jsx)(`span`,{className:`text-[var(--oke-muted)]`,children:` · `}),(0,T.jsxs)(`span`,{className:`text-[var(--oke-muted)]`,children:[l.acknowledgedCount,` acknowledged with`,` `,(0,T.jsx)(`code`,{className:`font-mono text-xs`,children:`breaking: true`})]})]})]}):null,(0,T.jsxs)(`main`,{id:`diff-main`,className:`min-h-0 flex-1 overflow-y-auto p-4`,children:[c.isLoading?(0,T.jsx)(`p`,{className:`text-[var(--oke-muted)]`,children:`Loading…`}):null,c.isError?(0,T.jsx)(`p`,{role:`alert`,children:`Failed to load Manifest Diff`}):null,l&&!l.hasBaseline?(0,T.jsx)(`p`,{className:`text-[var(--oke-muted)]`,role:`status`,children:`No baseline Manifest to compare. Deploy once, or feed a previous Manifest, to see blast radius.`}):null,l?.hasBaseline&&d.length===0?(0,T.jsx)(`p`,{className:`text-[var(--oke-muted)]`,role:`status`,children:`No behavioural changes between baseline and current Manifest.`}):null,d.map(e=>(0,T.jsxs)(`section`,{"aria-label":e.label,className:`mb-8`,children:[(0,T.jsxs)(`h2`,{className:`mb-3 text-xs uppercase tracking-wide text-[var(--oke-muted)]`,children:[e.label,(0,T.jsxs)(`span`,{className:`ml-2 font-mono normal-case`,children:[`(`,e.items.length,`)`]})]}),(0,T.jsx)(`ul`,{className:`space-y-3`,children:e.items.map(e=>{let t=S(e.ciGate),n=e.path===p;return(0,T.jsx)(`li`,{children:(0,T.jsxs)(`article`,{"aria-current":n?`true`:void 0,className:f(`border border-[var(--oke-line)] px-3 py-3`,n&&`bg-[var(--oke-line)]`),children:[(0,T.jsxs)(`button`,{type:`button`,className:`min-h-8 w-full text-left`,"aria-pressed":n,onClick:()=>o({...r,path:r.path===e.path?void 0:e.path}),children:[(0,T.jsx)(`h3`,{className:`font-mono text-sm text-[var(--oke-fg)]`,children:e.path}),(0,T.jsx)(`p`,{className:`mt-1 text-sm text-[var(--oke-muted)]`,children:e.summary})]}),e.blastLine?(0,T.jsx)(`p`,{role:`status`,className:`mt-2 text-sm text-[var(--oke-fg)]`,children:e.blastLine}):e.runCountLastWeek>0&&e.flowName?(0,T.jsxs)(`p`,{className:`mt-2 text-sm text-[var(--oke-muted)]`,children:[`Ran `,e.runCountLastWeek.toLocaleString(`en-US`),` times last week`]}):null,e.weeklyBillLine?(0,T.jsxs)(`p`,{className:`mt-1 text-sm font-medium text-[var(--oke-fg)]`,children:[`Weekly bill: `,e.weeklyBillLine]}):null,t?(0,T.jsx)(`p`,{role:`status`,"data-ci-gate":e.ciGate??void 0,className:f(`mt-2 text-sm`,e.ciGate===`blocked`?`text-[var(--oke-fg)]`:`text-[var(--oke-muted)]`),children:t}):null]})},e.path)})})]},e.category))]})]})}function D(e){return(0,T.jsx)(`button`,{type:`button`,"aria-pressed":e.pressed,className:f(`min-h-8 px-2 text-xs`,e.pressed?`bg-[var(--oke-line)] text-[var(--oke-fg)]`:`text-[var(--oke-muted)]`),onClick:e.onClick,children:e.label})}var O=t({default:()=>E});export{m as i,C as n,g as r,O as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-B0Z9INg1.js";import{C as a,Q as o,Z as s,_ as c,a as l,b as u,c as d,d as f,g as p,i as m,l as h,nt as g,o as _,s as v,tt as y,u as ee,v as b,w as x,x as S,y as C}from"./panel-access-BGv45snf.js";import{a as te,i as w,n as T,o as ne,r as E,s as re}from"./panel-architecture-D7UJh91v.js";var D=e(g(),1),ie=S([c(),b(`true`),b(`false`)]).transform(e=>e===!0||e===`true`),ae=C({sel:p([`none`,`cause`,`flow`,`effect`]).default(`none`),cause:u().optional(),flow:u().optional(),effect:u().optional(),path:u().optional(),q:u().optional(),unit:u().optional(),attention:p([`erroring`,`cron-overdue`,`dead-letter`]).nullable().optional().default(null),density:p([`compact`,`comfortable`]).default(`comfortable`),group:p([`unit`,`alpha`]).default(`unit`),causeGroup:p([`kind`,`alpha`]).default(`kind`),transitive:ie.default(!1),hideUbiquitous:ie.default(!1),drawer:p([`closed`,`peek`,`workbench`]).default(`closed`),open:u().optional(),editor:p([`form`,`json`]).default(`form`)});function oe(e){let t=ae.safeParse(e??{});return t.success?t.data:ae.parse({})}function se(e){let t={};return e.sel!==`none`&&(t.sel=e.sel),e.cause&&(t.cause=e.cause),e.flow&&(t.flow=e.flow),e.effect&&(t.effect=e.effect),e.path&&(t.path=e.path),e.q&&(t.q=e.q),e.unit&&(t.unit=e.unit),e.attention&&(t.attention=e.attention),e.density!==`comfortable`&&(t.density=e.density),e.group!==`unit`&&(t.group=e.group),e.causeGroup!==`kind`&&(t.causeGroup=e.causeGroup),e.transitive&&(t.transitive=!0),e.hideUbiquitous&&(t.hideUbiquitous=!0),e.drawer!==`closed`&&(t.drawer=e.drawer),e.open&&(t.open=e.open),e.editor!==`form`&&(t.editor=e.editor),t}function ce(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[]}function le(e){if(e.length!==0)return e.join(`,`)}function ue(e,t){return{...e,sel:`cause`,cause:t,flow:void 0,effect:void 0}}function de(e,t){return{...e,sel:`flow`,flow:t,cause:void 0,effect:void 0}}function fe(e,t){let n=ce(e.path),r=n[n.length-1]===t?n:[...n,t].slice(-12);return{...e,sel:`effect`,effect:t,flow:void 0,cause:void 0,path:le(r)}}function pe(e,t,n=`peek`){return{...e,open:t,drawer:n,flow:t,sel:`flow`}}function me(e){return{...e,drawer:`closed`,open:void 0}}var he=1024,ge=0,_e=class{constructor(e,t){this.from=e,this.to=t}},O=class{constructor(e={}){this.id=ge++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error(`This node type doesn't define a deserialize function`)}),this.combine=e.combine||null}add(e){if(this.perNode)throw RangeError(`Can't add per-node props to node types`);return typeof e!=`function`&&(e=be.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};O.closedBy=new O({deserialize:e=>e.split(` `)}),O.openedBy=new O({deserialize:e=>e.split(` `)}),O.group=new O({deserialize:e=>e.split(` `)}),O.isolate=new O({deserialize:e=>{if(e&&e!=`rtl`&&e!=`ltr`&&e!=`auto`)throw RangeError(`Invalid value for isolate: `+e);return e||`auto`}}),O.contextHash=new O({perNode:!0}),O.lookAhead=new O({perNode:!0}),O.mounted=new O({perNode:!0});var ve=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[O.mounted.id]}},ye=Object.create(null),be=class e{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):ye,r=!!t.top|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),i=new e(t.name||``,n,t.id,r);if(t.props){for(let e of t.props)if(Array.isArray(e)||(e=e(i)),e){if(e[0].perNode)throw RangeError(`Can't store a per-node prop on a node type`);n[e[0].id]=e[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e==`string`){if(this.name==e)return!0;let t=this.prop(O.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(` `))t[r]=e[n];return e=>{for(let n=e.prop(O.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}};be.none=new be(``,Object.create(null),0,8);var xe=class e{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw RangeError(`Node type ids should correspond to array positions when creating a node set`)}extend(...t){let n=[];for(let e of this.types){let r=null;for(let n of t){let t=n(e);if(t){r||=Object.assign({},e.props);let n=t[1],i=t[0];i.combine&&i.id in r&&(n=i.combine(r[i.id],n)),r[i.id]=n}}n.push(r?new be(e.name,r,e.id,e.flags):e)}return new e(n)}},Se=new WeakMap,Ce=new WeakMap,k;(function(e){e[e.ExcludeBuffers=1]=`ExcludeBuffers`,e[e.IncludeAnonymous=2]=`IncludeAnonymous`,e[e.IgnoreMounts=4]=`IgnoreMounts`,e[e.IgnoreOverlays=8]=`IgnoreOverlays`,e[e.EnterBracketed=16]=`EnterBracketed`})(k||={});var A=class e{constructor(e,t,n,r,i){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,i&&i.length){this.props=Object.create(null);for(let[e,t]of i)this.props[typeof e==`number`?e:e.id]=t}}toString(){let e=ve.get(this);if(e&&!e.overlay)return e.tree.toString();let t=``;for(let e of this.children){let n=e.toString();n&&(t&&(t+=`,`),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?`(`+t+`)`:``):t}cursor(e=0){return new Le(this.topNode,e)}cursorAt(e,t=0,n=0){let r=new Le(Se.get(this)||this.topNode);return r.moveTo(e,t),Se.set(this,r._tree),r}get topNode(){return new ke(this,0,0,null)}resolve(e,t=0){let n=De(Se.get(this)||this.topNode,e,t,!1);return Se.set(this,n),n}resolveInner(e,t=0){let n=De(Ce.get(this)||this.topNode,e,t,!0);return Ce.set(this,n),n}resolveStack(e,t=0){return Ie(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:i=this.length}=e,a=e.mode||0,o=(a&k.IncludeAnonymous)>0;for(let e=this.cursor(a|k.IncludeAnonymous);;){let a=!1;if(e.from<=i&&e.to>=r&&(!o&&e.type.isAnonymous||t(e)!==!1)){if(e.firstChild())continue;a=!0}for(;a&&n&&(o||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;a=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(t={}){return this.children.length<=8?this:He(be.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new e(this.type,t,n,r,this.propValues),t.makeTree||((t,n,r)=>new e(be.none,t,n,r)))}static build(e){return ze(e)}};A.empty=new A(be.none,[],[],0);var we=class e{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new e(this.buffer,this.index)}},Te=class e{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return be.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(`,`)}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),e+=4,n==e)return i;let a=[];for(;e<n;)a.push(this.childString(e)),e=this.buffer[e+3];return i+`(`+a.join(`,`)+`)`}findChild(e,t,n,r,i){let{buffer:a}=this,o=-1;for(let s=e;s!=t&&!(Ee(i,r,a[s+1],a[s+2])&&(o=s,n>0));s=a[s+3]);return o}slice(t,n,r){let i=this.buffer,a=new Uint16Array(n-t),o=0;for(let e=t,s=0;e<n;){a[s++]=i[e++],a[s++]=i[e++]-r;let n=a[s++]=i[e++]-r;a[s++]=i[e++]-t,o=Math.max(o,n)}return new e(a,o,this.set)}};function Ee(e,t,n,r){switch(e){case-2:return n<t;case-1:return r>=t&&n<t;case 0:return n<t&&r>t;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function De(e,t,n,r){for(;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!r&&e instanceof ke&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=r?0:k.IgnoreOverlays;if(r)for(let r=e,a=r.parent;a;r=a,a=r.parent)r instanceof ke&&r.index<0&&a.enter(t,n,i)?.from!=r.from&&(e=a);for(;;){let r=e.enter(t,n,i);if(!r)return e;e=r}}var Oe=class{cursor(e=0){return new Le(this,e)}getChild(e,t=null,n=null){let r=Ae(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return Ae(this,e,t,n)}resolve(e,t=0){return De(this,e,t,!1)}resolveInner(e,t=0){return De(this,e,t,!0)}matchContext(e){return je(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(n=t,t=e.prevSibling):t=e}return n}get node(){return this}get next(){return this.parent}},ke=class e extends Oe{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,n,r,i,a=0){for(let o=this;;){for(let{children:s,positions:c}=o._tree,l=n>0?s.length:-1;t!=l;t+=n){let l=s[t],u=c[t]+o.from,d;if(!(!(a&k.EnterBracketed&&l instanceof A&&(d=ve.get(l))&&!d.overlay&&d.bracketed&&r>=u&&r<=u+l.length)&&!Ee(i,r,u,u+l.length))){if(l instanceof Te){if(a&k.ExcludeBuffers)continue;let e=l.findChild(0,l.buffer.length,n,r-u,i);if(e>-1)return new Ne(new Me(o,l,t,u),null,e)}else if(a&k.IncludeAnonymous||!l.type.isAnonymous||Re(l)){let s;if(!(a&k.IgnoreMounts)&&(s=ve.get(l))&&!s.overlay)return new e(s.tree,u,t,o);let c=new e(l,u,t,o);return a&k.IncludeAnonymous||!c.type.isAnonymous?c:c.nextChild(n<0?l.children.length-1:0,n,r,i,a)}}}if(a&k.IncludeAnonymous||!o.type.isAnonymous||(t=o.index>=0?o.index+n:n<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(t,n,r=0){let i;if(!(r&k.IgnoreOverlays)&&(i=ve.get(this._tree))&&i.overlay){let a=t-this.from,o=r&k.EnterBracketed&&i.bracketed;for(let{from:t,to:r}of i.overlay)if((n>0||o?t<=a:t<a)&&(n<0||o?r>=a:r>a))return new e(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Ae(e,t,n,r){let i=e.cursor(),a=[];if(!i.firstChild())return a;if(n!=null){for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return a}for(;;){if(r!=null&&i.type.is(r))return a;if(i.type.is(t)&&a.push(i.node),!i.nextSibling())return r==null?a:[]}}function je(e,t,n=t.length-1){for(let r=e;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}var Me=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ne=class e extends Oe{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(t,n,r){let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t,n-this.context.start,r);return a<0?null:new e(this.context,this,a)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(t,n,r=0){if(r&k.ExcludeBuffers)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return a<0?null:new e(this.context,this,a)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new e(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new e(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let a=n.buffer[this.index+1];e.push(n.slice(r,i,a)),t.push(0)}return new A(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Pe(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let i=e[r];(i.from>n.from||i.to<n.to)&&(n=i,t=r)}let r=n instanceof ke&&n.index<0?null:n.parent,i=e.slice();return r?i[t]=r:i.splice(t,1),new Fe(i,n)}var Fe=class{constructor(e,t){this.heads=e,this.node=t}get next(){return Pe(this.heads)}};function Ie(e,t,n){let r=e.resolveInner(t,n),i=null;for(let e=r instanceof ke?r:r.context.parent;e;e=e.parent)if(e.index<0){let a=e.parent;(i||=[r]).push(a.resolve(t,n)),e=a}else{let a=ve.get(e.tree);if(a&&a.overlay&&a.overlay[0].from<=t&&a.overlay[a.overlay.length-1].to>=t){let o=new ke(a.tree,a.overlay[0].from+e.from,-1,e);(i||=[r]).push(De(o,t,n,!1))}}return i?Pe(i):r}var Le=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~k.EnterBracketed,e instanceof ke)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof ke?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&k.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&k.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&k.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(r.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let r=t+e,i=e<0?-1:n._tree.children.length;r!=i;r+=e){let e=n._tree.children[r];if(this.mode&k.IncludeAnonymous||e instanceof Te||!e.type.isAnonymous||Re(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)scan:for(let r=this.index,i=this.stack.length;i>=0;){for(let a=e;a;a=a._parent)if(a.index==r){if(r==this.index)return a;t=a,n=i+1;break scan}r=this.stack[--i]}for(let e=n;e<this.stack.length;e++)t=new Ne(this.buffer,t,this.stack[e]);return this.bufferNode=new Ne(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return je(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return je(this._tree,e,r);let a=n[t.buffer[this.stack[i]]];if(!a.isAnonymous){if(e[r]&&e[r]!=a.name)return!1;r--}}return!0}};function Re(e){return e.children.some(e=>e instanceof Te||!e.type.isAnonymous||Re(e))}function ze(e){let{buffer:t,nodeSet:n,maxBufferLength:r=he,reused:i=[],minRepeatType:a=n.types.length}=e,o=Array.isArray(t)?new we(t,t.length):t,s=n.types,c=0,l=0;function u(e,t,_,v,y,ee){let{id:b,start:x,end:S,size:C}=o,te=l,w=c;if(C<0){if(o.next(),C==-1){let t=i[b];_.push(t),v.push(x-e);return}if(C==-3){c=b;return}if(C==-4){l=b;return}throw RangeError(`Unrecognized record size: ${C}`)}let T=s[b],ne,E,re=x-e;if(S-x<=r&&(E=h(o.pos-t,y))){let t=new Uint16Array(E.size-E.skip),r=o.pos-E.size,i=t.length;for(;o.pos>r;)i=g(E.start,t,i);ne=new Te(t,S-E.start,n),re=E.start-e}else{let e=o.pos-C;o.next();let t=[],n=[],i=b>=a?b:-1,s=0,c=S;for(;o.pos>e;)i>=0&&o.id==i&&o.size>=0?(o.end<=c-r&&(p(t,n,x,s,o.end,c,i,te,w),s=t.length,c=o.end),o.next()):ee>2500?d(x,e,t,n):u(x,e,t,n,i,ee+1);if(i>=0&&s>0&&s<t.length&&p(t,n,x,s,x,c,i,te,w),t.reverse(),n.reverse(),i>-1&&s>0){let e=f(T,w);ne=He(T,t,n,0,t.length,0,S-x,e,e)}else ne=m(T,t,n,S-x,te-S,w)}_.push(ne),v.push(re)}function d(e,t,i,a){let s=[],c=0,l=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:i}=o;if(i>4)o.next();else if(l>-1&&t<l)break;else l<0&&(l=n-r),s.push(e,t,n),c++,o.next()}if(c){let t=new Uint16Array(c*4),r=s[s.length-2];for(let e=s.length-3,n=0;e>=0;e-=3)t[n++]=s[e],t[n++]=s[e+1]-r,t[n++]=s[e+2]-r,t[n++]=n;i.push(new Te(t,s[2]-r,n)),a.push(r-e)}}function f(e,t){return(n,r,i)=>{let a=0,o=n.length-1,s,c;if(o>=0&&(s=n[o])instanceof A){if(!o&&s.type==e&&s.length==i)return s;(c=s.prop(O.lookAhead))&&(a=r[o]+s.length+c)}return m(e,n,r,i,a,t)}}function p(e,t,r,i,a,o,s,c,l){let u=[],d=[];for(;e.length>i;)u.push(e.pop()),d.push(t.pop()+r-a);e.push(m(n.types[s],u,d,o-a,c-o,l)),t.push(a-r)}function m(e,t,n,r,i,a,o){if(a){let e=[O.contextHash,a];o=o?[e].concat(o):[e]}if(i>25){let e=[O.lookAhead,i];o=o?[e].concat(o):[e]}return new A(e,t,n,r,o)}function h(e,t){let n=o.fork(),i=0,s=0,c=0,l=n.end-r,u={size:0,start:0,skip:0};scan:for(let r=n.pos-e;n.pos>r;){let e=n.size;if(n.id==t&&e>=0){u.size=i,u.start=s,u.skip=c,c+=4,i+=4,n.next();continue}let o=n.pos-e;if(e<0||o<r||n.start<l)break;let d=n.id>=a?4:0,f=n.start;for(n.next();n.pos>o;){if(n.size<0)if(n.size==-3||n.size==-4)d+=4;else break scan;else n.id>=a&&(d+=4);n.next()}s=f,i+=e,c+=d}return(t<0||i==e)&&(u.size=i,u.start=s,u.skip=c),u.size>4?u:void 0}function g(e,t,n){let{id:r,start:i,end:s,size:u}=o;if(o.next(),u>=0&&r<a){let a=n;if(u>4){let r=o.pos-(u-4);for(;o.pos>r;)n=g(e,t,n)}t[--n]=a,t[--n]=s-e,t[--n]=i-e,t[--n]=r}else u==-3?c=r:u==-4&&(l=r);return n}let _=[],v=[];for(;o.pos>0;)u(e.start||0,e.bufferStart||0,_,v,-1,0);let y=e.length??(_.length?v[0]+_[0].length:0);return new A(s[e.topID],_.reverse(),v.reverse(),y)}var Be=new WeakMap;function Ve(e,t){if(!e.isAnonymous||t instanceof Te||t.type!=e)return 1;let n=Be.get(t);if(n==null){n=1;for(let r of t.children){if(r.type!=e||!(r instanceof A)){n=1;break}n+=Ve(e,r)}Be.set(t,n)}return n}function He(e,t,n,r,i,a,o,s,c){let l=0;for(let n=r;n<i;n++)l+=Ve(e,t[n]);let u=Math.ceil(l*1.5/8),d=[],f=[];function p(t,n,r,i,o){for(let s=r;s<i;){let r=s,l=n[s],m=Ve(e,t[s]);for(s++;s<i;s++){let n=Ve(e,t[s]);if(m+n>=u)break;m+=n}if(s==r+1){if(m>u){let e=t[r];p(e.children,e.positions,0,e.children.length,n[r]+o);continue}d.push(t[r])}else{let i=n[s-1]+t[s-1].length-l;d.push(He(e,t,n,r,s,l,i,null,c))}f.push(l+o-a)}}return p(t,n,r,i,0),(s||c)(d,f,o)}var Ue=class e{constructor(e,t,n,r,i=!1,a=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=!!i|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],r=!1){let i=[new e(0,t.length,t,0,!1,r)];for(let e of n)e.to>t.length&&i.push(e);return i}static applyChanges(t,n,r=128){if(!n.length)return t;let i=[],a=1,o=t.length?t[0]:null;for(let s=0,c=0,l=0;;s++){let u=s<n.length?n[s]:null,d=u?u.fromA:1e9;if(d-c>=r)for(;o&&o.from<d;){let n=o;if(c>=n.from||d<=n.to||l){let t=Math.max(n.from,c)-l,r=Math.min(n.to,d)-l;n=t>=r?null:new e(t,r,n.tree,n.offset+l,s>0,!!u)}if(n&&i.push(n),o.to>d)break;o=a<t.length?t[a++]:null}if(!u)break;c=u.toA,l=u.toA-u.toB}return i}},We=class{startParse(e,t,n){return typeof e==`string`&&(e=new Ge(e)),n=n?n.length?n.map(e=>new _e(e.from,e.to)):[new _e(0,0)]:[new _e(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}},Ge=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};new O({perNode:!0});var Ke=class e{constructor(e,t,n,r,i,a,o,s,c,l=0,u){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=i,this.score=a,this.buffer=o,this.bufferBase=s,this.curContext=c,this.lookAhead=l,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?`!`+this.score:``}`}static start(t,n,r=0){let i=t.parser.context;return new e(t,[],n,r,r,0,[],0,i?new qe(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let t=e>>19,n=e&65535,{parser:r}=this.p,i=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=r.dynamicPrecedence(n);if(a&&(this.score+=a),t==0){n<r.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(r.getGoto(this.state,n,!0),this.reducePos),n<r.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,i?8:4,!0),this.reduceContext(n,this.reducePos);return}let o=this.stack.length-(t-1)*3-(e&262144?6:0),s=o?this.stack[o-2]:this.p.ranges[0].from;n<r.minRepeatTerm&&s==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let c=this.reducePos-s;c>=2e3&&!this.p.parser.nodeSet.types[n]?.isAnonymous&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=c));let l=o?this.stack[o-1]:0,u=this.bufferBase+this.buffer.length-l;if(n<r.minRepeatTerm||e&131072){let e=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(e&262144)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=r.getGoto(e,n,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,n,r=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this.buffer.length;if(e>0&&this.buffer[e-4]==0&&this.buffer[e-1]>-1){if(t==n)return;if(this.buffer[e-2]>=t){this.buffer[e-2]=n;return}}}if(!i||this.pos==n)this.buffer.push(e,t,n,r);else{let i=this.buffer.length;if(i>0&&(this.buffer[i-4]!=0||this.buffer[i-1]<0)){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let i=e,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(i,1);!o&&(r>n||t<=a.maxNode)&&(this.reducePos=r),this.pushState(i,o?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=a.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let r=t.buffer.slice(n),i=t.bufferBase+n;for(;t&&i==t.bufferBase;)t=t.parent;return new e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,t)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Je(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let r=0,i;r<t.length;r+=2)(i=t[r+1])!=this.state&&this.p.parser.hasAction(i,e)&&n.push(t[r],i);if(this.stack.length<120)for(let e=0;n.length<8&&e<t.length;e+=2){let r=t[e+1];n.some((e,t)=>t&1&&e==r)||n.push(t[e],r)}t=n}let n=[];for(let e=0;e<t.length&&n.length<4;e+=2){let r=t[e+1];if(r==this.state)continue;let i=this.split();i.pushState(r,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[e],this.pos),i.reducePos=this.pos,i.score-=200,n.push(i)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,i=this.stack.length-n*3;if(i<0||e.getGoto(this.stack[i],r,!1)<0){let e=this.findForcedReduction();if(e==null)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,i)=>{if(!t.includes(r))return t.push(r),e.allActions(r,t=>{if(!(t&393216))if(t&65536){let n=(t>>19)-i;if(n>1){let r=t&65535,i=this.stack.length-n*3;if(i>=0&&e.getGoto(this.stack[i],r,!1)>=0)return n<<19|65536|r}}else{let e=n(t,i+1);if(e!=null)return e}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new qe(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},qe=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Je=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Ye=class e{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new e(t,n,n-t.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new e(this.stack,this.pos,this.index)}};function Xe(e,t=Uint16Array){if(typeof e!=`string`)return e;let n=null;for(let r=0,i=0;r<e.length;){let a=0;for(;;){let t=e.charCodeAt(r++),n=!1;if(t==126){a=65535;break}t>=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),a+=i,n)break;a*=46}n?n[i++]=a:n=new t(a)}return n}var Ze=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Qe=new Ze,$e=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk=``,this.chunkOff=0,this.chunk2=``,this.chunk2Pos=0,this.next=-1,this.token=Qe,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,i=this.pos+e;for(;i<n.from;){if(!r)return null;let e=this.ranges[--r];i-=n.from-e.to,n=e}for(;t<0?i>n.to:i>=n.to;){if(r==this.ranges.length-1)return null;let e=this.ranges[++r];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let t=this.resolveOffset(e,1);if(t==null)return-1;if(n=t,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let e=this.rangeIndex,t=this.range;for(;t.to<=n;)t=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>t.to&&(this.chunk2=this.chunk2.slice(0,t.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw RangeError(`Token end out of bounds`);this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.next=this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?-1:this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk=``,this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Qe,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk=``,this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n=``;for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},et=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;nt(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};et.prototype.contextual=et.prototype.fallback=et.prototype.extend=!1;var tt=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e==`string`?Xe(e):e}token(e,t){let n=e.pos,r=0;for(;;){let n=e.next<0,i=e.resolveOffset(1,1);if(nt(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};tt.prototype.contextual=et.prototype.fallback=et.prototype.extend=!1;function nt(e,t,n,r,i,a){let o=0,s=1<<r,{dialect:c}=n.p.parser;scan:for(;(s&e[o])!=0;){let n=e[o+1];for(let r=o+3;r<n;r+=2)if((e[r+1]&s)>0){let n=e[r];if(c.allows(n)&&(t.token.value==-1||t.token.value==n||it(n,t.token.value,i,a))){t.acceptToken(n);break}}let r=t.next,l=0,u=e[o+2];if(t.next<0&&u>l&&e[n+u*3-3]==65535){o=e[n+u*3-1];continue scan}for(;l<u;){let i=l+u>>1,a=n+i+(i<<1),s=e[a],c=e[a+1]||65536;if(r<s)u=i;else if(r>=c)l=i+1;else{o=e[a+2],t.advance();continue scan}}break}}function rt(e,t,n){for(let r=t,i;(i=e[r])!=65535;r++)if(i==n)return r-t;return-1}function it(e,t,n,r){let i=rt(n,r,t);return i<0||rt(n,r,e)<i}var at=typeof process<`u`&&/\bparse\b/.test({}.LOG),ot=null;function st(e,t,n){let r=e.cursor(k.IncludeAnonymous);for(r.moveTo(t);;)if(!(n<0?r.childBefore(t):r.childAfter(t)))for(;;){if((n<0?r.to<t:r.from>t)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:e.length}}var ct=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?st(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?st(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=n.children[r],a=this.start[t]+n.positions[r];if(a>e)return this.nextStart=a,null;if(i instanceof A){if(a==e){if(a<this.safeFrom)return null;let e=a+i.length;if(e<=this.safeTo){let t=i.prop(O.lookAhead);if(!t||e+t<this.fragment.to)return i}}this.index[t]++,a+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+i.length}}},lt=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Ze)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:i}=r,a=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,s=0;for(let r=0;r<i.length;r++){if(!(1<<r&a))continue;let c=i[r],l=this.tokens[r];if(!(n&&!c.fallback)&&((c.contextual||l.start!=e.pos||l.mask!=a||l.context!=o)&&(this.updateCachedToken(l,c,e),l.mask=a,l.context=o),l.lookAhead>l.end+25&&(s=Math.max(l.lookAhead,s)),l.value!=0)){let r=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!c.extend&&(n=l,t>r))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),!n&&e.pos==this.stream.end&&(n=new Ze,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ze,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:t}=n.p;for(let r=0;r<t.specialized.length;r++)if(t.specialized[r]==e.value){let i=t.specializers[r](this.stream.read(e.start,e.end),n);if(i>=0&&n.p.parser.dialect.allows(i>>1)){i&1?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let t=0;t<r;t+=3)if(this.actions[t]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:i}=e,{parser:a}=e.p,{data:o}=a;for(let e=0;e<2;e++)for(let s=a.stateSlot(i,e?2:1);;s+=3){if(o[s]==65535)if(o[s+1]==1)s=mt(o,s+2);else{r==0&&o[s+1]==2&&(r=this.putAction(mt(o,s+2),t,n,r));break}o[s]==t&&(r=this.putAction(mt(o,s+1),t,n,r))}return r}},ut=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new $e(t,r),this.tokens=new lt(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Ke.start(this,e.top[0],i)],this.fragments=n.length&&this.stream.end-i>e.bufferLength*4?new ct(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,i;if(this.bigReductionCount>300&&e.length==1){let[t]=e;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let o=e[a];for(;;){if(this.tokens.mainToken=null,o.pos>t)n.push(o);else if(this.advanceStack(o,n,e))continue;else{r||(r=[],i=[]),r.push(o);let e=this.tokens.getMainToken(o);i.push(e.value,e.end)}break}}if(!n.length){let e=r&&ht(r);if(e)return at&&console.log(`Finish with `+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw at&&r&&console.log(`Stuck with token `+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):`none`)),SyntaxError(`No parse at `+t);this.recovering||=5}if(this.recovering&&r){let e=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,i,n);if(e)return at&&console.log(`Force-finish `+this.stackID(e)),this.stackToTree(e.forceAll())}if(this.recovering){let e=this.recovering==1?1:this.recovering*3;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>t)&&this.recovering--}else if(n.length>1){outer:for(let e=0;e<n.length-1;e++){let t=n[e];for(let r=e+1;r<n.length;r++){let i=n[r];if(t.sameState(i)||t.buffer.length>500&&i.buffer.length>500)if((t.score-i.score||t.buffer.length-i.buffer.length)>0)n.splice(r--,1);else{n.splice(e--,1);continue outer}}}n.length>12&&(n.sort((e,t)=>t.score-e.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let e=1;e<n.length;e++)n[e].pos<this.minStackPos&&(this.minStackPos=n[e].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw RangeError(`Can't move stoppedAt forward`);this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:i}=this,a=at?this.stackID(e)+` -> `:``;if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(r);o;){let r=this.parser.nodeSet.types[o.type.id]==o.type?i.getGoto(e.state,o.type.id):-1;if(r>-1&&o.length&&(!t||(o.prop(O.contextHash)||0)==n))return e.useNode(o,r),at&&console.log(a+this.stackID(e)+` (via reuse of ${i.getName(o.type.id)})`),!0;if(!(o instanceof A)||o.children.length==0||o.positions[0]>0)break;let s=o.children[0];if(s instanceof A&&o.positions[0]==0)o=s;else break}}let o=i.stateSlot(e.state,4);if(o>0)return e.reduce(o),at&&console.log(a+this.stackID(e)+` (via always-reduce ${i.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let o=0;o<s.length;){let c=s[o++],l=s[o++],u=s[o++],d=o==s.length||!n,f=d?e:e.split(),p=this.tokens.mainToken;if(f.apply(c,l,p?p.start:f.pos,u),at&&console.log(a+this.stackID(f)+` (via ${c&65536?`reduce of ${i.getName(c&65535)}`:`shift`} for ${i.getName(l)} @ ${r}${f==e?``:`, split`})`),d)return!0;f.pos>r?t.push(f):n.push(f)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return dt(e,t),!0}}runRecovery(e,t,n){let r=null,i=!1;for(let a=0;a<e.length;a++){let o=e[a],s=t[a<<1],c=t[(a<<1)+1],l=at?this.stackID(o)+` -> `:``;if(o.deadEnd&&(i||(i=!0,o.restart(),at&&console.log(l+this.stackID(o)+` (restarted)`),this.advanceFully(o,n))))continue;let u=o.split(),d=l;for(let e=0;e<10&&u.forceReduce()&&(at&&console.log(d+this.stackID(u)+` (via force-reduce)`),!this.advanceFully(u,n));e++)at&&(d=this.stackID(u)+` -> `);for(let e of o.recoverByInsert(s))at&&console.log(l+this.stackID(e)+` (via recover-insert)`),this.advanceFully(e,n);this.stream.end>o.pos?(c==o.pos&&(c++,s=0),o.recoverByDelete(s,c),at&&console.log(l+this.stackID(o)+` (via recover-delete ${this.parser.getName(s)})`),dt(o,n)):(!r||r.score<u.score)&&(r=u)}return r}stackToTree(e){return e.close(),A.build({buffer:Ye.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(ot||=new WeakMap).get(e);return t||ot.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function dt(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r.pos==e.pos&&r.sameState(e)){t[n].score<e.score&&(t[n]=e);return}}t.push(e)}var ft=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},pt=class e extends We{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(` `);this.minRepeatTerm=t.length;for(let n=0;n<e.repeatNodeCount;n++)t.push(``);let n=Object.keys(e.topRules).map(t=>e.topRules[t][1]),r=[];for(let e=0;e<t.length;e++)r.push([]);function i(e,t,n){r[e].push([t,t.deserialize(String(n))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];typeof e==`string`&&(e=O[e]);for(let n=1;n<t.length;){let r=t[n++];if(r>=0)i(r,e,t[n++]);else{let a=t[n+-r];for(let o=-r;o>0;o--)i(t[n++],e,a);n++}}}this.nodeSet=new xe(t.map((t,i)=>be.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:r[i],top:n.indexOf(i)>-1,error:i==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=he;let a=Xe(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(gt),this.states=Xe(e.states,Uint32Array),this.data=Xe(e.stateData),this.goto=Xe(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>typeof e==`number`?new et(a,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new ut(this,e,t,n);for(let i of this.wrappers)r=i(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let i=r[t+1];;){let t=r[i++],a=t&1,o=r[i++];if(a&&n)return o;for(let n=i+(t>>1);i<n;i++)if(r[i]==e)return o;if(a)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let i=this.stateSlot(e,r?2:1),a;;i+=3){if((a=n[i])==65535)if(n[i+1]==1)a=n[i=mt(n,i+2)];else if(n[i+1]==2)return mt(n,i+2);else break;if(a==t||a==0)return mt(n,i+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=mt(this.data,n+2);else break;r=t(mt(this.data,n+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=mt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let e=this.data[n+1];t.some((t,n)=>n&1&&t==e)||t.push(this.data[n],e)}}return t}configure(t){let n=Object.assign(Object.create(e.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let e=this.topRules[t.top];if(!e)throw RangeError(`Invalid top rule name ${t.top}`);n.top=e}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(e=>{let n=t.tokenizers.find(t=>t.from==e);return n?n.to:e})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((e,r)=>{let i=t.specializers.find(t=>t.from==e.external);if(!i)return e;let a=Object.assign(Object.assign({},e),{external:i.to});return n.specializers[r]=gt(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let r of e.split(` `)){let e=t.indexOf(r);e>=0&&(n[e]=!0)}let r=null;for(let e=0;e<t.length;e++)if(!n[e])for(let n=this.dialects[t[e]],i;(i=this.data[n++])!=65535;)(r||=new Uint8Array(this.maxTerm+1))[i]=1;return new ft(e,n,r)}static deserialize(t){return new e(t)}};function mt(e,t){return e[t]|e[t+1]<<16}function ht(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||e!=null&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function gt(e){if(e.external){let t=+!!e.extend;return(n,r)=>e.external(n,r)<<1|t}return e.get}var _t=0,vt=class e{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=_t++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(t,n){let r=typeof t==`string`?t:`?`;if(t instanceof e&&(n=t),n?.base)throw Error(`Can not derive from a modified tag`);let i=new e(r,[],null,[]);if(i.set.push(i),n)for(let e of n.set)i.set.push(e);return i}static defineModifier(e){let t=new bt(e);return e=>e.modified.indexOf(t)>-1?e:bt.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}},yt=0,bt=class e{constructor(e){this.name=e,this.instances=[],this.id=yt++}static get(t,n){if(!n.length)return t;let r=n[0].instances.find(e=>e.base==t&&xt(n,e.modified));if(r)return r;let i=[],a=new vt(t.name,i,t,n);for(let e of n)e.instances.push(a);let o=St(n);for(let n of t.set)if(!n.modified.length)for(let t of o)i.push(e.get(n,t));return a}};function xt(e,t){return e.length==t.length&&e.every((e,n)=>e==t[n])}function St(e){let t=[[]];for(let n=0;n<e.length;n++)for(let r=0,i=t.length;r<i;r++)t.push(t[r].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}function Ct(e){let t=Object.create(null);for(let n in e){let r=e[n];Array.isArray(r)||(r=[r]);for(let e of n.split(` `))if(e){let n=[],i=2,a=e;for(let t=0;;){if(a==`...`&&t>0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!r)throw RangeError(`Invalid path: `+e);if(n.push(r[0]==`*`?``:r[0][0]==`"`?JSON.parse(r[0]):r[0]),t+=r[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&o==`!`){i=0;break}if(o!=`/`)throw RangeError(`Invalid path: `+e);a=e.slice(t)}let o=n.length-1,s=n[o];if(!s)throw RangeError(`Invalid path: `+e);t[s]=new Tt(r,i,o>0?n.slice(0,o):null).sort(t[s])}}return wt.add(t)}var wt=new O({combine(e,t){let n,r,i;for(;e||t;){if(!e||t&&e.depth>=t.depth?(i=t,t=t.next):(i=e,e=e.next),n&&n.mode==i.mode&&!i.context&&!n.context)continue;let a=new Tt(i.tags,i.mode,i.context);n?n.next=a:r=a,n=a}return r}}),Tt=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Tt.empty=new Tt([],2,null);function Et(e,t){let n=Object.create(null);for(let t of e)if(!Array.isArray(t.tag))n[t.tag.id]=t.class;else for(let e of t.tag)n[e.id]=t.class;let{scope:r,all:i=null}=t||{};return{style:e=>{let t=i;for(let r of e)for(let e of r.set){let r=n[e.id];if(r){t=t?t+` `+r:r;break}}return t},scope:r}}function Dt(e,t){let n=null;for(let r of e){let e=r.style(t);e&&(n=n?n+` `+e:e)}return n}function Ot(e,t,n,r=0,i=e.length){let a=new kt(r,Array.isArray(t)?t:[t],n);a.highlightRange(e.cursor(),r,i,``,a.highlighters),a.flush(i)}var kt=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=``}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,i){let{type:a,from:o,to:s}=e;if(o>=n||s<=t)return;a.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(a)));let c=r,l=At(e)||Tt.empty,u=Dt(i,l.tags);if(u&&(c&&(c+=` `),c+=u,l.mode==1&&(r+=(r?` `:``)+u)),this.startSpan(Math.max(t,o),c),l.opaque)return;let d=e.tree&&e.tree.prop(O.mounted);if(d&&d.overlay){let a=e.node.enter(d.overlay[0].from+o,1),l=this.highlighters.filter(e=>!e.scope||e.scope(d.tree.type)),u=e.firstChild();for(let f=0,p=o;;f++){let m=f<d.overlay.length?d.overlay[f]:null,h=m?m.from+o:s,g=Math.max(t,p),_=Math.min(n,h);if(g<_&&u)for(;e.from<_&&(this.highlightRange(e,g,_,r,i),this.startSpan(Math.min(_,e.to),c),!(e.to>=h||!e.nextSibling())););if(!m||h>n)break;p=m.to+o,p>t&&(this.highlightRange(a.cursor(),Math.max(t,m.from+o),Math.min(n,p),``,l),this.startSpan(Math.min(n,p),c))}u&&e.parent()}else if(e.firstChild()){d&&(r=``);do{if(e.to<=t)continue;if(e.from>=n)break;this.highlightRange(e,t,n,r,i),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function At(e){let t=e.type.prop(wt);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var j=vt.define,jt=j(),Mt=j(),Nt=j(Mt),Pt=j(Mt),Ft=j(),It=j(Ft),Lt=j(Ft),Rt=j(),zt=j(Rt),Bt=j(),Vt=j(),Ht=j(),Ut=j(Ht),Wt=j(),M={comment:jt,lineComment:j(jt),blockComment:j(jt),docComment:j(jt),name:Mt,variableName:j(Mt),typeName:Nt,tagName:j(Nt),propertyName:Pt,attributeName:j(Pt),className:j(Mt),labelName:j(Mt),namespace:j(Mt),macroName:j(Mt),literal:Ft,string:It,docString:j(It),character:j(It),attributeValue:j(It),number:Lt,integer:j(Lt),float:j(Lt),bool:j(Ft),regexp:j(Ft),escape:j(Ft),color:j(Ft),url:j(Ft),keyword:Bt,self:j(Bt),null:j(Bt),atom:j(Bt),unit:j(Bt),modifier:j(Bt),operatorKeyword:j(Bt),controlKeyword:j(Bt),definitionKeyword:j(Bt),moduleKeyword:j(Bt),operator:Vt,derefOperator:j(Vt),arithmeticOperator:j(Vt),logicOperator:j(Vt),bitwiseOperator:j(Vt),compareOperator:j(Vt),updateOperator:j(Vt),definitionOperator:j(Vt),typeOperator:j(Vt),controlOperator:j(Vt),punctuation:Ht,separator:j(Ht),bracket:Ut,angleBracket:j(Ut),squareBracket:j(Ut),paren:j(Ut),brace:j(Ut),content:Rt,heading:zt,heading1:j(zt),heading2:j(zt),heading3:j(zt),heading4:j(zt),heading5:j(zt),heading6:j(zt),contentSeparator:j(Rt),list:j(Rt),quote:j(Rt),emphasis:j(Rt),strong:j(Rt),link:j(Rt),monospace:j(Rt),strikethrough:j(Rt),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:Wt,documentMeta:j(Wt),annotation:j(Wt),processingInstruction:j(Wt),definition:vt.defineModifier(`definition`),constant:vt.defineModifier(`constant`),function:vt.defineModifier(`function`),standard:vt.defineModifier(`standard`),local:vt.defineModifier(`local`),special:vt.defineModifier(`special`)};for(let e in M){let t=M[e];t instanceof vt&&(t.name=e)}Et([{tag:M.link,class:`tok-link`},{tag:M.heading,class:`tok-heading`},{tag:M.emphasis,class:`tok-emphasis`},{tag:M.strong,class:`tok-strong`},{tag:M.keyword,class:`tok-keyword`},{tag:M.atom,class:`tok-atom`},{tag:M.bool,class:`tok-bool`},{tag:M.url,class:`tok-url`},{tag:M.labelName,class:`tok-labelName`},{tag:M.inserted,class:`tok-inserted`},{tag:M.deleted,class:`tok-deleted`},{tag:M.literal,class:`tok-literal`},{tag:M.string,class:`tok-string`},{tag:M.number,class:`tok-number`},{tag:[M.regexp,M.escape,M.special(M.string)],class:`tok-string2`},{tag:M.variableName,class:`tok-variableName`},{tag:M.local(M.variableName),class:`tok-variableName tok-local`},{tag:M.definition(M.variableName),class:`tok-variableName tok-definition`},{tag:M.special(M.variableName),class:`tok-variableName2`},{tag:M.definition(M.propertyName),class:`tok-propertyName tok-definition`},{tag:M.typeName,class:`tok-typeName`},{tag:M.namespace,class:`tok-namespace`},{tag:M.className,class:`tok-className`},{tag:M.macroName,class:`tok-macroName`},{tag:M.propertyName,class:`tok-propertyName`},{tag:M.operator,class:`tok-operator`},{tag:M.comment,class:`tok-comment`},{tag:M.meta,class:`tok-meta`},{tag:M.invalid,class:`tok-invalid`},{tag:M.punctuation,class:`tok-punctuation`}]);var Gt=Ct({String:M.string,Number:M.number,"True False":M.bool,PropertyName:M.propertyName,Null:M.null,", :":M.separator,"[ ]":M.squareBracket,"{ }":M.brace}),Kt=pt.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:`#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O`,goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:`⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array`,maxTerm:25,nodeProps:[[`isolate`,-2,6,11,``],[`openedBy`,7,`{`,14,`[`],[`closedBy`,8,`}`,15,`]`]],propSources:[Gt],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),qt=[],Jt=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?Jt:qt).push(n+=e[t])})();function Yt(e){if(e<768)return!1;for(let t=0,n=qt.length;;){let r=t+n>>1;if(e<qt[r])n=r;else if(e>=Jt[r])t=r+1;else return!0;if(t==n)return!1}}function Xt(e){return e>=127462&&e<=127487}var Zt=8205;function Qt(e,t,n=!0,r=!0){return(n?$t:en)(e,t,r)}function $t(e,t,n){if(t==e.length)return t;t&&nn(e.charCodeAt(t))&&rn(e.charCodeAt(t-1))&&t--;let r=tn(e,t);for(t+=an(r);t<e.length;){let i=tn(e,t);if(r==Zt||i==Zt||n&&Yt(i))t+=an(i),r=i;else if(Xt(i)){let n=0,r=t-2;for(;r>=0&&Xt(tn(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function en(e,t,n){for(;t>1;){let r=$t(e,t-2,n);if(r<t)return r;t--}return 0}function tn(e,t){let n=e.charCodeAt(t);if(!rn(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return nn(r)?(n-55296<<10)+(r-56320)+65536:n}function nn(e){return e>=56320&&e<57344}function rn(e){return e>=55296&&e<56320}function an(e){return e<65536?1:2}var N=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=hn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),sn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=hn(this,e,t);let n=[];return this.decompose(e,t,n,0),sn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new dn(this),i=new dn(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new dn(this,e)}iterRange(e,t=this.length){return new fn(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pn(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new on(t):sn.from(on.split(t,[]))}},on=class e extends N{constructor(e,t=cn(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new mn(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(un(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=ln(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=hn(this,t,n);let i=ln(this.text,ln(r.text,un(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):sn.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
|
|
1
|
+
import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-B0Z9INg1.js";import{C as a,Q as o,Z as s,_ as c,a as l,b as u,c as d,d as f,g as p,i as m,l as h,nt as g,o as _,s as v,tt as y,u as ee,v as b,w as x,x as S,y as C}from"./panel-access-ri1X9Otj.js";import{a as te,i as w,n as T,o as ne,r as E,s as re}from"./panel-architecture-DI3bQF3J.js";var D=e(g(),1),ie=S([c(),b(`true`),b(`false`)]).transform(e=>e===!0||e===`true`),ae=C({sel:p([`none`,`cause`,`flow`,`effect`]).default(`none`),cause:u().optional(),flow:u().optional(),effect:u().optional(),path:u().optional(),q:u().optional(),unit:u().optional(),attention:p([`erroring`,`cron-overdue`,`dead-letter`]).nullable().optional().default(null),density:p([`compact`,`comfortable`]).default(`comfortable`),group:p([`unit`,`alpha`]).default(`unit`),causeGroup:p([`kind`,`alpha`]).default(`kind`),transitive:ie.default(!1),hideUbiquitous:ie.default(!1),drawer:p([`closed`,`peek`,`workbench`]).default(`closed`),open:u().optional(),editor:p([`form`,`json`]).default(`form`)});function oe(e){let t=ae.safeParse(e??{});return t.success?t.data:ae.parse({})}function se(e){let t={};return e.sel!==`none`&&(t.sel=e.sel),e.cause&&(t.cause=e.cause),e.flow&&(t.flow=e.flow),e.effect&&(t.effect=e.effect),e.path&&(t.path=e.path),e.q&&(t.q=e.q),e.unit&&(t.unit=e.unit),e.attention&&(t.attention=e.attention),e.density!==`comfortable`&&(t.density=e.density),e.group!==`unit`&&(t.group=e.group),e.causeGroup!==`kind`&&(t.causeGroup=e.causeGroup),e.transitive&&(t.transitive=!0),e.hideUbiquitous&&(t.hideUbiquitous=!0),e.drawer!==`closed`&&(t.drawer=e.drawer),e.open&&(t.open=e.open),e.editor!==`form`&&(t.editor=e.editor),t}function ce(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[]}function le(e){if(e.length!==0)return e.join(`,`)}function ue(e,t){return{...e,sel:`cause`,cause:t,flow:void 0,effect:void 0}}function de(e,t){return{...e,sel:`flow`,flow:t,cause:void 0,effect:void 0}}function fe(e,t){let n=ce(e.path),r=n[n.length-1]===t?n:[...n,t].slice(-12);return{...e,sel:`effect`,effect:t,flow:void 0,cause:void 0,path:le(r)}}function pe(e,t,n=`peek`){return{...e,open:t,drawer:n,flow:t,sel:`flow`}}function me(e){return{...e,drawer:`closed`,open:void 0}}var he=1024,ge=0,_e=class{constructor(e,t){this.from=e,this.to=t}},O=class{constructor(e={}){this.id=ge++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error(`This node type doesn't define a deserialize function`)}),this.combine=e.combine||null}add(e){if(this.perNode)throw RangeError(`Can't add per-node props to node types`);return typeof e!=`function`&&(e=be.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};O.closedBy=new O({deserialize:e=>e.split(` `)}),O.openedBy=new O({deserialize:e=>e.split(` `)}),O.group=new O({deserialize:e=>e.split(` `)}),O.isolate=new O({deserialize:e=>{if(e&&e!=`rtl`&&e!=`ltr`&&e!=`auto`)throw RangeError(`Invalid value for isolate: `+e);return e||`auto`}}),O.contextHash=new O({perNode:!0}),O.lookAhead=new O({perNode:!0}),O.mounted=new O({perNode:!0});var ve=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[O.mounted.id]}},ye=Object.create(null),be=class e{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):ye,r=!!t.top|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),i=new e(t.name||``,n,t.id,r);if(t.props){for(let e of t.props)if(Array.isArray(e)||(e=e(i)),e){if(e[0].perNode)throw RangeError(`Can't store a per-node prop on a node type`);n[e[0].id]=e[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e==`string`){if(this.name==e)return!0;let t=this.prop(O.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(` `))t[r]=e[n];return e=>{for(let n=e.prop(O.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}};be.none=new be(``,Object.create(null),0,8);var xe=class e{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw RangeError(`Node type ids should correspond to array positions when creating a node set`)}extend(...t){let n=[];for(let e of this.types){let r=null;for(let n of t){let t=n(e);if(t){r||=Object.assign({},e.props);let n=t[1],i=t[0];i.combine&&i.id in r&&(n=i.combine(r[i.id],n)),r[i.id]=n}}n.push(r?new be(e.name,r,e.id,e.flags):e)}return new e(n)}},Se=new WeakMap,Ce=new WeakMap,k;(function(e){e[e.ExcludeBuffers=1]=`ExcludeBuffers`,e[e.IncludeAnonymous=2]=`IncludeAnonymous`,e[e.IgnoreMounts=4]=`IgnoreMounts`,e[e.IgnoreOverlays=8]=`IgnoreOverlays`,e[e.EnterBracketed=16]=`EnterBracketed`})(k||={});var A=class e{constructor(e,t,n,r,i){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,i&&i.length){this.props=Object.create(null);for(let[e,t]of i)this.props[typeof e==`number`?e:e.id]=t}}toString(){let e=ve.get(this);if(e&&!e.overlay)return e.tree.toString();let t=``;for(let e of this.children){let n=e.toString();n&&(t&&(t+=`,`),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?`(`+t+`)`:``):t}cursor(e=0){return new Le(this.topNode,e)}cursorAt(e,t=0,n=0){let r=new Le(Se.get(this)||this.topNode);return r.moveTo(e,t),Se.set(this,r._tree),r}get topNode(){return new ke(this,0,0,null)}resolve(e,t=0){let n=De(Se.get(this)||this.topNode,e,t,!1);return Se.set(this,n),n}resolveInner(e,t=0){let n=De(Ce.get(this)||this.topNode,e,t,!0);return Ce.set(this,n),n}resolveStack(e,t=0){return Ie(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:i=this.length}=e,a=e.mode||0,o=(a&k.IncludeAnonymous)>0;for(let e=this.cursor(a|k.IncludeAnonymous);;){let a=!1;if(e.from<=i&&e.to>=r&&(!o&&e.type.isAnonymous||t(e)!==!1)){if(e.firstChild())continue;a=!0}for(;a&&n&&(o||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;a=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(t={}){return this.children.length<=8?this:He(be.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new e(this.type,t,n,r,this.propValues),t.makeTree||((t,n,r)=>new e(be.none,t,n,r)))}static build(e){return ze(e)}};A.empty=new A(be.none,[],[],0);var we=class e{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new e(this.buffer,this.index)}},Te=class e{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return be.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(`,`)}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),e+=4,n==e)return i;let a=[];for(;e<n;)a.push(this.childString(e)),e=this.buffer[e+3];return i+`(`+a.join(`,`)+`)`}findChild(e,t,n,r,i){let{buffer:a}=this,o=-1;for(let s=e;s!=t&&!(Ee(i,r,a[s+1],a[s+2])&&(o=s,n>0));s=a[s+3]);return o}slice(t,n,r){let i=this.buffer,a=new Uint16Array(n-t),o=0;for(let e=t,s=0;e<n;){a[s++]=i[e++],a[s++]=i[e++]-r;let n=a[s++]=i[e++]-r;a[s++]=i[e++]-t,o=Math.max(o,n)}return new e(a,o,this.set)}};function Ee(e,t,n,r){switch(e){case-2:return n<t;case-1:return r>=t&&n<t;case 0:return n<t&&r>t;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function De(e,t,n,r){for(;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!r&&e instanceof ke&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=r?0:k.IgnoreOverlays;if(r)for(let r=e,a=r.parent;a;r=a,a=r.parent)r instanceof ke&&r.index<0&&a.enter(t,n,i)?.from!=r.from&&(e=a);for(;;){let r=e.enter(t,n,i);if(!r)return e;e=r}}var Oe=class{cursor(e=0){return new Le(this,e)}getChild(e,t=null,n=null){let r=Ae(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return Ae(this,e,t,n)}resolve(e,t=0){return De(this,e,t,!1)}resolveInner(e,t=0){return De(this,e,t,!0)}matchContext(e){return je(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(n=t,t=e.prevSibling):t=e}return n}get node(){return this}get next(){return this.parent}},ke=class e extends Oe{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,n,r,i,a=0){for(let o=this;;){for(let{children:s,positions:c}=o._tree,l=n>0?s.length:-1;t!=l;t+=n){let l=s[t],u=c[t]+o.from,d;if(!(!(a&k.EnterBracketed&&l instanceof A&&(d=ve.get(l))&&!d.overlay&&d.bracketed&&r>=u&&r<=u+l.length)&&!Ee(i,r,u,u+l.length))){if(l instanceof Te){if(a&k.ExcludeBuffers)continue;let e=l.findChild(0,l.buffer.length,n,r-u,i);if(e>-1)return new Ne(new Me(o,l,t,u),null,e)}else if(a&k.IncludeAnonymous||!l.type.isAnonymous||Re(l)){let s;if(!(a&k.IgnoreMounts)&&(s=ve.get(l))&&!s.overlay)return new e(s.tree,u,t,o);let c=new e(l,u,t,o);return a&k.IncludeAnonymous||!c.type.isAnonymous?c:c.nextChild(n<0?l.children.length-1:0,n,r,i,a)}}}if(a&k.IncludeAnonymous||!o.type.isAnonymous||(t=o.index>=0?o.index+n:n<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(t,n,r=0){let i;if(!(r&k.IgnoreOverlays)&&(i=ve.get(this._tree))&&i.overlay){let a=t-this.from,o=r&k.EnterBracketed&&i.bracketed;for(let{from:t,to:r}of i.overlay)if((n>0||o?t<=a:t<a)&&(n<0||o?r>=a:r>a))return new e(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Ae(e,t,n,r){let i=e.cursor(),a=[];if(!i.firstChild())return a;if(n!=null){for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return a}for(;;){if(r!=null&&i.type.is(r))return a;if(i.type.is(t)&&a.push(i.node),!i.nextSibling())return r==null?a:[]}}function je(e,t,n=t.length-1){for(let r=e;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}var Me=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ne=class e extends Oe{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(t,n,r){let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t,n-this.context.start,r);return a<0?null:new e(this.context,this,a)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(t,n,r=0){if(r&k.ExcludeBuffers)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return a<0?null:new e(this.context,this,a)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new e(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new e(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let a=n.buffer[this.index+1];e.push(n.slice(r,i,a)),t.push(0)}return new A(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Pe(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let i=e[r];(i.from>n.from||i.to<n.to)&&(n=i,t=r)}let r=n instanceof ke&&n.index<0?null:n.parent,i=e.slice();return r?i[t]=r:i.splice(t,1),new Fe(i,n)}var Fe=class{constructor(e,t){this.heads=e,this.node=t}get next(){return Pe(this.heads)}};function Ie(e,t,n){let r=e.resolveInner(t,n),i=null;for(let e=r instanceof ke?r:r.context.parent;e;e=e.parent)if(e.index<0){let a=e.parent;(i||=[r]).push(a.resolve(t,n)),e=a}else{let a=ve.get(e.tree);if(a&&a.overlay&&a.overlay[0].from<=t&&a.overlay[a.overlay.length-1].to>=t){let o=new ke(a.tree,a.overlay[0].from+e.from,-1,e);(i||=[r]).push(De(o,t,n,!1))}}return i?Pe(i):r}var Le=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~k.EnterBracketed,e instanceof ke)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof ke?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&k.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&k.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&k.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(r.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let r=t+e,i=e<0?-1:n._tree.children.length;r!=i;r+=e){let e=n._tree.children[r];if(this.mode&k.IncludeAnonymous||e instanceof Te||!e.type.isAnonymous||Re(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)scan:for(let r=this.index,i=this.stack.length;i>=0;){for(let a=e;a;a=a._parent)if(a.index==r){if(r==this.index)return a;t=a,n=i+1;break scan}r=this.stack[--i]}for(let e=n;e<this.stack.length;e++)t=new Ne(this.buffer,t,this.stack[e]);return this.bufferNode=new Ne(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return je(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return je(this._tree,e,r);let a=n[t.buffer[this.stack[i]]];if(!a.isAnonymous){if(e[r]&&e[r]!=a.name)return!1;r--}}return!0}};function Re(e){return e.children.some(e=>e instanceof Te||!e.type.isAnonymous||Re(e))}function ze(e){let{buffer:t,nodeSet:n,maxBufferLength:r=he,reused:i=[],minRepeatType:a=n.types.length}=e,o=Array.isArray(t)?new we(t,t.length):t,s=n.types,c=0,l=0;function u(e,t,_,v,y,ee){let{id:b,start:x,end:S,size:C}=o,te=l,w=c;if(C<0){if(o.next(),C==-1){let t=i[b];_.push(t),v.push(x-e);return}if(C==-3){c=b;return}if(C==-4){l=b;return}throw RangeError(`Unrecognized record size: ${C}`)}let T=s[b],ne,E,re=x-e;if(S-x<=r&&(E=h(o.pos-t,y))){let t=new Uint16Array(E.size-E.skip),r=o.pos-E.size,i=t.length;for(;o.pos>r;)i=g(E.start,t,i);ne=new Te(t,S-E.start,n),re=E.start-e}else{let e=o.pos-C;o.next();let t=[],n=[],i=b>=a?b:-1,s=0,c=S;for(;o.pos>e;)i>=0&&o.id==i&&o.size>=0?(o.end<=c-r&&(p(t,n,x,s,o.end,c,i,te,w),s=t.length,c=o.end),o.next()):ee>2500?d(x,e,t,n):u(x,e,t,n,i,ee+1);if(i>=0&&s>0&&s<t.length&&p(t,n,x,s,x,c,i,te,w),t.reverse(),n.reverse(),i>-1&&s>0){let e=f(T,w);ne=He(T,t,n,0,t.length,0,S-x,e,e)}else ne=m(T,t,n,S-x,te-S,w)}_.push(ne),v.push(re)}function d(e,t,i,a){let s=[],c=0,l=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:i}=o;if(i>4)o.next();else if(l>-1&&t<l)break;else l<0&&(l=n-r),s.push(e,t,n),c++,o.next()}if(c){let t=new Uint16Array(c*4),r=s[s.length-2];for(let e=s.length-3,n=0;e>=0;e-=3)t[n++]=s[e],t[n++]=s[e+1]-r,t[n++]=s[e+2]-r,t[n++]=n;i.push(new Te(t,s[2]-r,n)),a.push(r-e)}}function f(e,t){return(n,r,i)=>{let a=0,o=n.length-1,s,c;if(o>=0&&(s=n[o])instanceof A){if(!o&&s.type==e&&s.length==i)return s;(c=s.prop(O.lookAhead))&&(a=r[o]+s.length+c)}return m(e,n,r,i,a,t)}}function p(e,t,r,i,a,o,s,c,l){let u=[],d=[];for(;e.length>i;)u.push(e.pop()),d.push(t.pop()+r-a);e.push(m(n.types[s],u,d,o-a,c-o,l)),t.push(a-r)}function m(e,t,n,r,i,a,o){if(a){let e=[O.contextHash,a];o=o?[e].concat(o):[e]}if(i>25){let e=[O.lookAhead,i];o=o?[e].concat(o):[e]}return new A(e,t,n,r,o)}function h(e,t){let n=o.fork(),i=0,s=0,c=0,l=n.end-r,u={size:0,start:0,skip:0};scan:for(let r=n.pos-e;n.pos>r;){let e=n.size;if(n.id==t&&e>=0){u.size=i,u.start=s,u.skip=c,c+=4,i+=4,n.next();continue}let o=n.pos-e;if(e<0||o<r||n.start<l)break;let d=n.id>=a?4:0,f=n.start;for(n.next();n.pos>o;){if(n.size<0)if(n.size==-3||n.size==-4)d+=4;else break scan;else n.id>=a&&(d+=4);n.next()}s=f,i+=e,c+=d}return(t<0||i==e)&&(u.size=i,u.start=s,u.skip=c),u.size>4?u:void 0}function g(e,t,n){let{id:r,start:i,end:s,size:u}=o;if(o.next(),u>=0&&r<a){let a=n;if(u>4){let r=o.pos-(u-4);for(;o.pos>r;)n=g(e,t,n)}t[--n]=a,t[--n]=s-e,t[--n]=i-e,t[--n]=r}else u==-3?c=r:u==-4&&(l=r);return n}let _=[],v=[];for(;o.pos>0;)u(e.start||0,e.bufferStart||0,_,v,-1,0);let y=e.length??(_.length?v[0]+_[0].length:0);return new A(s[e.topID],_.reverse(),v.reverse(),y)}var Be=new WeakMap;function Ve(e,t){if(!e.isAnonymous||t instanceof Te||t.type!=e)return 1;let n=Be.get(t);if(n==null){n=1;for(let r of t.children){if(r.type!=e||!(r instanceof A)){n=1;break}n+=Ve(e,r)}Be.set(t,n)}return n}function He(e,t,n,r,i,a,o,s,c){let l=0;for(let n=r;n<i;n++)l+=Ve(e,t[n]);let u=Math.ceil(l*1.5/8),d=[],f=[];function p(t,n,r,i,o){for(let s=r;s<i;){let r=s,l=n[s],m=Ve(e,t[s]);for(s++;s<i;s++){let n=Ve(e,t[s]);if(m+n>=u)break;m+=n}if(s==r+1){if(m>u){let e=t[r];p(e.children,e.positions,0,e.children.length,n[r]+o);continue}d.push(t[r])}else{let i=n[s-1]+t[s-1].length-l;d.push(He(e,t,n,r,s,l,i,null,c))}f.push(l+o-a)}}return p(t,n,r,i,0),(s||c)(d,f,o)}var Ue=class e{constructor(e,t,n,r,i=!1,a=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=!!i|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],r=!1){let i=[new e(0,t.length,t,0,!1,r)];for(let e of n)e.to>t.length&&i.push(e);return i}static applyChanges(t,n,r=128){if(!n.length)return t;let i=[],a=1,o=t.length?t[0]:null;for(let s=0,c=0,l=0;;s++){let u=s<n.length?n[s]:null,d=u?u.fromA:1e9;if(d-c>=r)for(;o&&o.from<d;){let n=o;if(c>=n.from||d<=n.to||l){let t=Math.max(n.from,c)-l,r=Math.min(n.to,d)-l;n=t>=r?null:new e(t,r,n.tree,n.offset+l,s>0,!!u)}if(n&&i.push(n),o.to>d)break;o=a<t.length?t[a++]:null}if(!u)break;c=u.toA,l=u.toA-u.toB}return i}},We=class{startParse(e,t,n){return typeof e==`string`&&(e=new Ge(e)),n=n?n.length?n.map(e=>new _e(e.from,e.to)):[new _e(0,0)]:[new _e(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}},Ge=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};new O({perNode:!0});var Ke=class e{constructor(e,t,n,r,i,a,o,s,c,l=0,u){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=i,this.score=a,this.buffer=o,this.bufferBase=s,this.curContext=c,this.lookAhead=l,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?`!`+this.score:``}`}static start(t,n,r=0){let i=t.parser.context;return new e(t,[],n,r,r,0,[],0,i?new qe(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let t=e>>19,n=e&65535,{parser:r}=this.p,i=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=r.dynamicPrecedence(n);if(a&&(this.score+=a),t==0){n<r.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(r.getGoto(this.state,n,!0),this.reducePos),n<r.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,i?8:4,!0),this.reduceContext(n,this.reducePos);return}let o=this.stack.length-(t-1)*3-(e&262144?6:0),s=o?this.stack[o-2]:this.p.ranges[0].from;n<r.minRepeatTerm&&s==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let c=this.reducePos-s;c>=2e3&&!this.p.parser.nodeSet.types[n]?.isAnonymous&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=c));let l=o?this.stack[o-1]:0,u=this.bufferBase+this.buffer.length-l;if(n<r.minRepeatTerm||e&131072){let e=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(e&262144)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=r.getGoto(e,n,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,n,r=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this.buffer.length;if(e>0&&this.buffer[e-4]==0&&this.buffer[e-1]>-1){if(t==n)return;if(this.buffer[e-2]>=t){this.buffer[e-2]=n;return}}}if(!i||this.pos==n)this.buffer.push(e,t,n,r);else{let i=this.buffer.length;if(i>0&&(this.buffer[i-4]!=0||this.buffer[i-1]<0)){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let i=e,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(i,1);!o&&(r>n||t<=a.maxNode)&&(this.reducePos=r),this.pushState(i,o?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=a.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let r=t.buffer.slice(n),i=t.bufferBase+n;for(;t&&i==t.bufferBase;)t=t.parent;return new e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,t)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Je(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let r=0,i;r<t.length;r+=2)(i=t[r+1])!=this.state&&this.p.parser.hasAction(i,e)&&n.push(t[r],i);if(this.stack.length<120)for(let e=0;n.length<8&&e<t.length;e+=2){let r=t[e+1];n.some((e,t)=>t&1&&e==r)||n.push(t[e],r)}t=n}let n=[];for(let e=0;e<t.length&&n.length<4;e+=2){let r=t[e+1];if(r==this.state)continue;let i=this.split();i.pushState(r,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[e],this.pos),i.reducePos=this.pos,i.score-=200,n.push(i)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,i=this.stack.length-n*3;if(i<0||e.getGoto(this.stack[i],r,!1)<0){let e=this.findForcedReduction();if(e==null)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,i)=>{if(!t.includes(r))return t.push(r),e.allActions(r,t=>{if(!(t&393216))if(t&65536){let n=(t>>19)-i;if(n>1){let r=t&65535,i=this.stack.length-n*3;if(i>=0&&e.getGoto(this.stack[i],r,!1)>=0)return n<<19|65536|r}}else{let e=n(t,i+1);if(e!=null)return e}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new qe(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},qe=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Je=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Ye=class e{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new e(t,n,n-t.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new e(this.stack,this.pos,this.index)}};function Xe(e,t=Uint16Array){if(typeof e!=`string`)return e;let n=null;for(let r=0,i=0;r<e.length;){let a=0;for(;;){let t=e.charCodeAt(r++),n=!1;if(t==126){a=65535;break}t>=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),a+=i,n)break;a*=46}n?n[i++]=a:n=new t(a)}return n}var Ze=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Qe=new Ze,$e=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk=``,this.chunkOff=0,this.chunk2=``,this.chunk2Pos=0,this.next=-1,this.token=Qe,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,i=this.pos+e;for(;i<n.from;){if(!r)return null;let e=this.ranges[--r];i-=n.from-e.to,n=e}for(;t<0?i>n.to:i>=n.to;){if(r==this.ranges.length-1)return null;let e=this.ranges[++r];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let t=this.resolveOffset(e,1);if(t==null)return-1;if(n=t,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let e=this.rangeIndex,t=this.range;for(;t.to<=n;)t=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>t.to&&(this.chunk2=this.chunk2.slice(0,t.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw RangeError(`Token end out of bounds`);this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.next=this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?-1:this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk=``,this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Qe,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk=``,this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n=``;for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},et=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;nt(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};et.prototype.contextual=et.prototype.fallback=et.prototype.extend=!1;var tt=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e==`string`?Xe(e):e}token(e,t){let n=e.pos,r=0;for(;;){let n=e.next<0,i=e.resolveOffset(1,1);if(nt(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};tt.prototype.contextual=et.prototype.fallback=et.prototype.extend=!1;function nt(e,t,n,r,i,a){let o=0,s=1<<r,{dialect:c}=n.p.parser;scan:for(;(s&e[o])!=0;){let n=e[o+1];for(let r=o+3;r<n;r+=2)if((e[r+1]&s)>0){let n=e[r];if(c.allows(n)&&(t.token.value==-1||t.token.value==n||it(n,t.token.value,i,a))){t.acceptToken(n);break}}let r=t.next,l=0,u=e[o+2];if(t.next<0&&u>l&&e[n+u*3-3]==65535){o=e[n+u*3-1];continue scan}for(;l<u;){let i=l+u>>1,a=n+i+(i<<1),s=e[a],c=e[a+1]||65536;if(r<s)u=i;else if(r>=c)l=i+1;else{o=e[a+2],t.advance();continue scan}}break}}function rt(e,t,n){for(let r=t,i;(i=e[r])!=65535;r++)if(i==n)return r-t;return-1}function it(e,t,n,r){let i=rt(n,r,t);return i<0||rt(n,r,e)<i}var at=typeof process<`u`&&/\bparse\b/.test({}.LOG),ot=null;function st(e,t,n){let r=e.cursor(k.IncludeAnonymous);for(r.moveTo(t);;)if(!(n<0?r.childBefore(t):r.childAfter(t)))for(;;){if((n<0?r.to<t:r.from>t)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:e.length}}var ct=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?st(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?st(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=n.children[r],a=this.start[t]+n.positions[r];if(a>e)return this.nextStart=a,null;if(i instanceof A){if(a==e){if(a<this.safeFrom)return null;let e=a+i.length;if(e<=this.safeTo){let t=i.prop(O.lookAhead);if(!t||e+t<this.fragment.to)return i}}this.index[t]++,a+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+i.length}}},lt=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Ze)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:i}=r,a=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,s=0;for(let r=0;r<i.length;r++){if(!(1<<r&a))continue;let c=i[r],l=this.tokens[r];if(!(n&&!c.fallback)&&((c.contextual||l.start!=e.pos||l.mask!=a||l.context!=o)&&(this.updateCachedToken(l,c,e),l.mask=a,l.context=o),l.lookAhead>l.end+25&&(s=Math.max(l.lookAhead,s)),l.value!=0)){let r=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!c.extend&&(n=l,t>r))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),!n&&e.pos==this.stream.end&&(n=new Ze,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ze,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:t}=n.p;for(let r=0;r<t.specialized.length;r++)if(t.specialized[r]==e.value){let i=t.specializers[r](this.stream.read(e.start,e.end),n);if(i>=0&&n.p.parser.dialect.allows(i>>1)){i&1?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let t=0;t<r;t+=3)if(this.actions[t]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:i}=e,{parser:a}=e.p,{data:o}=a;for(let e=0;e<2;e++)for(let s=a.stateSlot(i,e?2:1);;s+=3){if(o[s]==65535)if(o[s+1]==1)s=mt(o,s+2);else{r==0&&o[s+1]==2&&(r=this.putAction(mt(o,s+2),t,n,r));break}o[s]==t&&(r=this.putAction(mt(o,s+1),t,n,r))}return r}},ut=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new $e(t,r),this.tokens=new lt(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Ke.start(this,e.top[0],i)],this.fragments=n.length&&this.stream.end-i>e.bufferLength*4?new ct(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,i;if(this.bigReductionCount>300&&e.length==1){let[t]=e;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let o=e[a];for(;;){if(this.tokens.mainToken=null,o.pos>t)n.push(o);else if(this.advanceStack(o,n,e))continue;else{r||(r=[],i=[]),r.push(o);let e=this.tokens.getMainToken(o);i.push(e.value,e.end)}break}}if(!n.length){let e=r&&ht(r);if(e)return at&&console.log(`Finish with `+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw at&&r&&console.log(`Stuck with token `+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):`none`)),SyntaxError(`No parse at `+t);this.recovering||=5}if(this.recovering&&r){let e=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,i,n);if(e)return at&&console.log(`Force-finish `+this.stackID(e)),this.stackToTree(e.forceAll())}if(this.recovering){let e=this.recovering==1?1:this.recovering*3;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>t)&&this.recovering--}else if(n.length>1){outer:for(let e=0;e<n.length-1;e++){let t=n[e];for(let r=e+1;r<n.length;r++){let i=n[r];if(t.sameState(i)||t.buffer.length>500&&i.buffer.length>500)if((t.score-i.score||t.buffer.length-i.buffer.length)>0)n.splice(r--,1);else{n.splice(e--,1);continue outer}}}n.length>12&&(n.sort((e,t)=>t.score-e.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let e=1;e<n.length;e++)n[e].pos<this.minStackPos&&(this.minStackPos=n[e].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw RangeError(`Can't move stoppedAt forward`);this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:i}=this,a=at?this.stackID(e)+` -> `:``;if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(r);o;){let r=this.parser.nodeSet.types[o.type.id]==o.type?i.getGoto(e.state,o.type.id):-1;if(r>-1&&o.length&&(!t||(o.prop(O.contextHash)||0)==n))return e.useNode(o,r),at&&console.log(a+this.stackID(e)+` (via reuse of ${i.getName(o.type.id)})`),!0;if(!(o instanceof A)||o.children.length==0||o.positions[0]>0)break;let s=o.children[0];if(s instanceof A&&o.positions[0]==0)o=s;else break}}let o=i.stateSlot(e.state,4);if(o>0)return e.reduce(o),at&&console.log(a+this.stackID(e)+` (via always-reduce ${i.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let o=0;o<s.length;){let c=s[o++],l=s[o++],u=s[o++],d=o==s.length||!n,f=d?e:e.split(),p=this.tokens.mainToken;if(f.apply(c,l,p?p.start:f.pos,u),at&&console.log(a+this.stackID(f)+` (via ${c&65536?`reduce of ${i.getName(c&65535)}`:`shift`} for ${i.getName(l)} @ ${r}${f==e?``:`, split`})`),d)return!0;f.pos>r?t.push(f):n.push(f)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return dt(e,t),!0}}runRecovery(e,t,n){let r=null,i=!1;for(let a=0;a<e.length;a++){let o=e[a],s=t[a<<1],c=t[(a<<1)+1],l=at?this.stackID(o)+` -> `:``;if(o.deadEnd&&(i||(i=!0,o.restart(),at&&console.log(l+this.stackID(o)+` (restarted)`),this.advanceFully(o,n))))continue;let u=o.split(),d=l;for(let e=0;e<10&&u.forceReduce()&&(at&&console.log(d+this.stackID(u)+` (via force-reduce)`),!this.advanceFully(u,n));e++)at&&(d=this.stackID(u)+` -> `);for(let e of o.recoverByInsert(s))at&&console.log(l+this.stackID(e)+` (via recover-insert)`),this.advanceFully(e,n);this.stream.end>o.pos?(c==o.pos&&(c++,s=0),o.recoverByDelete(s,c),at&&console.log(l+this.stackID(o)+` (via recover-delete ${this.parser.getName(s)})`),dt(o,n)):(!r||r.score<u.score)&&(r=u)}return r}stackToTree(e){return e.close(),A.build({buffer:Ye.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(ot||=new WeakMap).get(e);return t||ot.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function dt(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r.pos==e.pos&&r.sameState(e)){t[n].score<e.score&&(t[n]=e);return}}t.push(e)}var ft=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},pt=class e extends We{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(` `);this.minRepeatTerm=t.length;for(let n=0;n<e.repeatNodeCount;n++)t.push(``);let n=Object.keys(e.topRules).map(t=>e.topRules[t][1]),r=[];for(let e=0;e<t.length;e++)r.push([]);function i(e,t,n){r[e].push([t,t.deserialize(String(n))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];typeof e==`string`&&(e=O[e]);for(let n=1;n<t.length;){let r=t[n++];if(r>=0)i(r,e,t[n++]);else{let a=t[n+-r];for(let o=-r;o>0;o--)i(t[n++],e,a);n++}}}this.nodeSet=new xe(t.map((t,i)=>be.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:r[i],top:n.indexOf(i)>-1,error:i==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=he;let a=Xe(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(gt),this.states=Xe(e.states,Uint32Array),this.data=Xe(e.stateData),this.goto=Xe(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>typeof e==`number`?new et(a,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new ut(this,e,t,n);for(let i of this.wrappers)r=i(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let i=r[t+1];;){let t=r[i++],a=t&1,o=r[i++];if(a&&n)return o;for(let n=i+(t>>1);i<n;i++)if(r[i]==e)return o;if(a)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let i=this.stateSlot(e,r?2:1),a;;i+=3){if((a=n[i])==65535)if(n[i+1]==1)a=n[i=mt(n,i+2)];else if(n[i+1]==2)return mt(n,i+2);else break;if(a==t||a==0)return mt(n,i+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=mt(this.data,n+2);else break;r=t(mt(this.data,n+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=mt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let e=this.data[n+1];t.some((t,n)=>n&1&&t==e)||t.push(this.data[n],e)}}return t}configure(t){let n=Object.assign(Object.create(e.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let e=this.topRules[t.top];if(!e)throw RangeError(`Invalid top rule name ${t.top}`);n.top=e}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(e=>{let n=t.tokenizers.find(t=>t.from==e);return n?n.to:e})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((e,r)=>{let i=t.specializers.find(t=>t.from==e.external);if(!i)return e;let a=Object.assign(Object.assign({},e),{external:i.to});return n.specializers[r]=gt(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let r of e.split(` `)){let e=t.indexOf(r);e>=0&&(n[e]=!0)}let r=null;for(let e=0;e<t.length;e++)if(!n[e])for(let n=this.dialects[t[e]],i;(i=this.data[n++])!=65535;)(r||=new Uint8Array(this.maxTerm+1))[i]=1;return new ft(e,n,r)}static deserialize(t){return new e(t)}};function mt(e,t){return e[t]|e[t+1]<<16}function ht(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||e!=null&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function gt(e){if(e.external){let t=+!!e.extend;return(n,r)=>e.external(n,r)<<1|t}return e.get}var _t=0,vt=class e{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=_t++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(t,n){let r=typeof t==`string`?t:`?`;if(t instanceof e&&(n=t),n?.base)throw Error(`Can not derive from a modified tag`);let i=new e(r,[],null,[]);if(i.set.push(i),n)for(let e of n.set)i.set.push(e);return i}static defineModifier(e){let t=new bt(e);return e=>e.modified.indexOf(t)>-1?e:bt.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}},yt=0,bt=class e{constructor(e){this.name=e,this.instances=[],this.id=yt++}static get(t,n){if(!n.length)return t;let r=n[0].instances.find(e=>e.base==t&&xt(n,e.modified));if(r)return r;let i=[],a=new vt(t.name,i,t,n);for(let e of n)e.instances.push(a);let o=St(n);for(let n of t.set)if(!n.modified.length)for(let t of o)i.push(e.get(n,t));return a}};function xt(e,t){return e.length==t.length&&e.every((e,n)=>e==t[n])}function St(e){let t=[[]];for(let n=0;n<e.length;n++)for(let r=0,i=t.length;r<i;r++)t.push(t[r].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}function Ct(e){let t=Object.create(null);for(let n in e){let r=e[n];Array.isArray(r)||(r=[r]);for(let e of n.split(` `))if(e){let n=[],i=2,a=e;for(let t=0;;){if(a==`...`&&t>0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!r)throw RangeError(`Invalid path: `+e);if(n.push(r[0]==`*`?``:r[0][0]==`"`?JSON.parse(r[0]):r[0]),t+=r[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&o==`!`){i=0;break}if(o!=`/`)throw RangeError(`Invalid path: `+e);a=e.slice(t)}let o=n.length-1,s=n[o];if(!s)throw RangeError(`Invalid path: `+e);t[s]=new Tt(r,i,o>0?n.slice(0,o):null).sort(t[s])}}return wt.add(t)}var wt=new O({combine(e,t){let n,r,i;for(;e||t;){if(!e||t&&e.depth>=t.depth?(i=t,t=t.next):(i=e,e=e.next),n&&n.mode==i.mode&&!i.context&&!n.context)continue;let a=new Tt(i.tags,i.mode,i.context);n?n.next=a:r=a,n=a}return r}}),Tt=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Tt.empty=new Tt([],2,null);function Et(e,t){let n=Object.create(null);for(let t of e)if(!Array.isArray(t.tag))n[t.tag.id]=t.class;else for(let e of t.tag)n[e.id]=t.class;let{scope:r,all:i=null}=t||{};return{style:e=>{let t=i;for(let r of e)for(let e of r.set){let r=n[e.id];if(r){t=t?t+` `+r:r;break}}return t},scope:r}}function Dt(e,t){let n=null;for(let r of e){let e=r.style(t);e&&(n=n?n+` `+e:e)}return n}function Ot(e,t,n,r=0,i=e.length){let a=new kt(r,Array.isArray(t)?t:[t],n);a.highlightRange(e.cursor(),r,i,``,a.highlighters),a.flush(i)}var kt=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=``}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,i){let{type:a,from:o,to:s}=e;if(o>=n||s<=t)return;a.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(a)));let c=r,l=At(e)||Tt.empty,u=Dt(i,l.tags);if(u&&(c&&(c+=` `),c+=u,l.mode==1&&(r+=(r?` `:``)+u)),this.startSpan(Math.max(t,o),c),l.opaque)return;let d=e.tree&&e.tree.prop(O.mounted);if(d&&d.overlay){let a=e.node.enter(d.overlay[0].from+o,1),l=this.highlighters.filter(e=>!e.scope||e.scope(d.tree.type)),u=e.firstChild();for(let f=0,p=o;;f++){let m=f<d.overlay.length?d.overlay[f]:null,h=m?m.from+o:s,g=Math.max(t,p),_=Math.min(n,h);if(g<_&&u)for(;e.from<_&&(this.highlightRange(e,g,_,r,i),this.startSpan(Math.min(_,e.to),c),!(e.to>=h||!e.nextSibling())););if(!m||h>n)break;p=m.to+o,p>t&&(this.highlightRange(a.cursor(),Math.max(t,m.from+o),Math.min(n,p),``,l),this.startSpan(Math.min(n,p),c))}u&&e.parent()}else if(e.firstChild()){d&&(r=``);do{if(e.to<=t)continue;if(e.from>=n)break;this.highlightRange(e,t,n,r,i),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function At(e){let t=e.type.prop(wt);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var j=vt.define,jt=j(),Mt=j(),Nt=j(Mt),Pt=j(Mt),Ft=j(),It=j(Ft),Lt=j(Ft),Rt=j(),zt=j(Rt),Bt=j(),Vt=j(),Ht=j(),Ut=j(Ht),Wt=j(),M={comment:jt,lineComment:j(jt),blockComment:j(jt),docComment:j(jt),name:Mt,variableName:j(Mt),typeName:Nt,tagName:j(Nt),propertyName:Pt,attributeName:j(Pt),className:j(Mt),labelName:j(Mt),namespace:j(Mt),macroName:j(Mt),literal:Ft,string:It,docString:j(It),character:j(It),attributeValue:j(It),number:Lt,integer:j(Lt),float:j(Lt),bool:j(Ft),regexp:j(Ft),escape:j(Ft),color:j(Ft),url:j(Ft),keyword:Bt,self:j(Bt),null:j(Bt),atom:j(Bt),unit:j(Bt),modifier:j(Bt),operatorKeyword:j(Bt),controlKeyword:j(Bt),definitionKeyword:j(Bt),moduleKeyword:j(Bt),operator:Vt,derefOperator:j(Vt),arithmeticOperator:j(Vt),logicOperator:j(Vt),bitwiseOperator:j(Vt),compareOperator:j(Vt),updateOperator:j(Vt),definitionOperator:j(Vt),typeOperator:j(Vt),controlOperator:j(Vt),punctuation:Ht,separator:j(Ht),bracket:Ut,angleBracket:j(Ut),squareBracket:j(Ut),paren:j(Ut),brace:j(Ut),content:Rt,heading:zt,heading1:j(zt),heading2:j(zt),heading3:j(zt),heading4:j(zt),heading5:j(zt),heading6:j(zt),contentSeparator:j(Rt),list:j(Rt),quote:j(Rt),emphasis:j(Rt),strong:j(Rt),link:j(Rt),monospace:j(Rt),strikethrough:j(Rt),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:Wt,documentMeta:j(Wt),annotation:j(Wt),processingInstruction:j(Wt),definition:vt.defineModifier(`definition`),constant:vt.defineModifier(`constant`),function:vt.defineModifier(`function`),standard:vt.defineModifier(`standard`),local:vt.defineModifier(`local`),special:vt.defineModifier(`special`)};for(let e in M){let t=M[e];t instanceof vt&&(t.name=e)}Et([{tag:M.link,class:`tok-link`},{tag:M.heading,class:`tok-heading`},{tag:M.emphasis,class:`tok-emphasis`},{tag:M.strong,class:`tok-strong`},{tag:M.keyword,class:`tok-keyword`},{tag:M.atom,class:`tok-atom`},{tag:M.bool,class:`tok-bool`},{tag:M.url,class:`tok-url`},{tag:M.labelName,class:`tok-labelName`},{tag:M.inserted,class:`tok-inserted`},{tag:M.deleted,class:`tok-deleted`},{tag:M.literal,class:`tok-literal`},{tag:M.string,class:`tok-string`},{tag:M.number,class:`tok-number`},{tag:[M.regexp,M.escape,M.special(M.string)],class:`tok-string2`},{tag:M.variableName,class:`tok-variableName`},{tag:M.local(M.variableName),class:`tok-variableName tok-local`},{tag:M.definition(M.variableName),class:`tok-variableName tok-definition`},{tag:M.special(M.variableName),class:`tok-variableName2`},{tag:M.definition(M.propertyName),class:`tok-propertyName tok-definition`},{tag:M.typeName,class:`tok-typeName`},{tag:M.namespace,class:`tok-namespace`},{tag:M.className,class:`tok-className`},{tag:M.macroName,class:`tok-macroName`},{tag:M.propertyName,class:`tok-propertyName`},{tag:M.operator,class:`tok-operator`},{tag:M.comment,class:`tok-comment`},{tag:M.meta,class:`tok-meta`},{tag:M.invalid,class:`tok-invalid`},{tag:M.punctuation,class:`tok-punctuation`}]);var Gt=Ct({String:M.string,Number:M.number,"True False":M.bool,PropertyName:M.propertyName,Null:M.null,", :":M.separator,"[ ]":M.squareBracket,"{ }":M.brace}),Kt=pt.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:`#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O`,goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:`⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array`,maxTerm:25,nodeProps:[[`isolate`,-2,6,11,``],[`openedBy`,7,`{`,14,`[`],[`closedBy`,8,`}`,15,`]`]],propSources:[Gt],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),qt=[],Jt=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?Jt:qt).push(n+=e[t])})();function Yt(e){if(e<768)return!1;for(let t=0,n=qt.length;;){let r=t+n>>1;if(e<qt[r])n=r;else if(e>=Jt[r])t=r+1;else return!0;if(t==n)return!1}}function Xt(e){return e>=127462&&e<=127487}var Zt=8205;function Qt(e,t,n=!0,r=!0){return(n?$t:en)(e,t,r)}function $t(e,t,n){if(t==e.length)return t;t&&nn(e.charCodeAt(t))&&rn(e.charCodeAt(t-1))&&t--;let r=tn(e,t);for(t+=an(r);t<e.length;){let i=tn(e,t);if(r==Zt||i==Zt||n&&Yt(i))t+=an(i),r=i;else if(Xt(i)){let n=0,r=t-2;for(;r>=0&&Xt(tn(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function en(e,t,n){for(;t>1;){let r=$t(e,t-2,n);if(r<t)return r;t--}return 0}function tn(e,t){let n=e.charCodeAt(t);if(!rn(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return nn(r)?(n-55296<<10)+(r-56320)+65536:n}function nn(e){return e>=56320&&e<57344}function rn(e){return e>=55296&&e<56320}function an(e){return e<65536?1:2}var N=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=hn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),sn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=hn(this,e,t);let n=[];return this.decompose(e,t,n,0),sn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new dn(this),i=new dn(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new dn(this,e)}iterRange(e,t=this.length){return new fn(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pn(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new on(t):sn.from(on.split(t,[]))}},on=class e extends N{constructor(e,t=cn(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new mn(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(un(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=ln(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=hn(this,t,n);let i=ln(this.text,ln(r.text,un(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):sn.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
|
|
2
2
|
`){[e,t]=hn(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},sn=class e extends N{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=hn(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
|
|
3
3
|
`){[e,t]=hn(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new on(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof on&&c&&(n=u[u.length-1])instanceof on&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new on(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};N.empty=new on([``],0);function cn(e){let t=-1;for(let n of e)t+=n.length+1;return t}function ln(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function un(e,t,n){return ln(e,[``],t,n)}var dn=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof on?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof on?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
4
4
|
`,this;e--}else if(r instanceof on){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof on?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},fn=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new dn(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},pn=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(N.prototype[Symbol.iterator]=function(){return this.iter()},dn.prototype[Symbol.iterator]=fn.prototype[Symbol.iterator]=pn.prototype[Symbol.iterator]=function(){return this});var mn=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function hn(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function P(e,t,n=!0,r=!0){return Qt(e,t,n,r)}function gn(e){return e>=56320&&e<57344}function _n(e){return e>=55296&&e<56320}function vn(e,t){let n=e.charCodeAt(t);if(!_n(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return gn(r)?(n-55296<<10)+(r-56320)+65536:n}function yn(e){return e<65536?1:2}var bn=/\r\n?|\n/,xn=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(xn||={}),Sn=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){En(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:On(this,e)}mapDesc(e,t=!1){return e.empty?this:Dn(this,e,t)}mapPos(e,t=-1,n=xn.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=xn.Simple&&c>=e&&(n==xn.TrackDel&&r<e&&c>e||n==xn.TrackBefore&&r<e||n==xn.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},Cn=class e extends Sn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return En(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return Dn(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(N.empty);r.push(a?t.slice(i,i+a):N.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:On(this,e,!0)}map(e,t=!1){return e.empty?this:Dn(this,e,t,!0)}iterChanges(e,t=!1){En(this,e,t)}get desc(){return Sn.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new kn(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);wn(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;wn(n,e,t),t>0&&Tn(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);wn(n,e,-1),wn(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:Sn.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&wn(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?N.of(l.split(r||bn)):l:N.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&wn(i,e-o,-1),wn(i,s-e,d),Tn(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(N.empty);r[e]=N.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function wn(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function Tn(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(N.empty);e.push(n)}}function En(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=N.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function Dn(e,t,n,r=!1){let i=[],a=r?[]:null,o=new kn(e),s=new kn(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);wn(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(wn(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(wn(i,0,o.ins),a&&Tn(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;wn(i,t,e<o.i?o.ins:0),a&&e<o.i&&Tn(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?Cn.createSet(i,a):Sn.create(i);else throw Error(`Mismatched change set lengths`)}function On(e,t,n=!1){let r=[],i=n?[]:null,a=new kn(e),o=new kn(t);for(let e=!1;;)if(a.done&&o.done)return i?Cn.createSet(r,i):Sn.create(r);else if(a.ins==0)wn(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)wn(r,0,o.ins,e),i&&Tn(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;wn(r,t,n,e),i&&n&&Tn(i,r,o.text)}else o.ins==-1?(wn(r,a.off?0:a.len,t,e),i&&Tn(i,r,a.textBit(t))):(wn(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&Tn(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var kn=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?N.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?N.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},An=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return F.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return F.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return F.range(e.anchor,e.head)}static create(t,n,r,i){return new e(t,n,r,i)}},F=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>An.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return An.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n)),r)}static range(e,t,n,r,i){let a=r==null?7:Math.min(6,r);return!i&&e!=t&&(i=t<e?1:-1),i&&(a|=i<0?8:16),t<e?An.create(t,e,a|32,n):An.create(e,t,a,n)}static undirectionalRange(e,t){return An.create(e,t,64,void 0)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function jn(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var Mn=0,I=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Mn++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:Nn),!!t.static,t.enables)}of(e){return new Pn([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Pn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Pn(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function Nn(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var Pn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Mn++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||In(e,c)){let r=t(e);if(a?!Fn(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=Yn(o,c);if(this.dependencies.every(t=>t instanceof I?o.facet(t)===e.facet(t):t instanceof zn?o.field(t,!1)==e.field(t,!1):!0)||(a?Fn(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}get extension(){return this}};function Fn(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function In(e,t){let n=!1;for(let r of t)Jn(e,r)&1&&(n=!0);return n}function Ln(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=Yn(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)Jn(e,t);return e.values[o]=s(e),1},update(e,n){if(!In(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=In(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&Nn(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var Rn=I.define({static:!0}),zn=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(Mn++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(Rn).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(Rn),i=n.facet(Rn),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,Rn.of({field:this,create:e})]}get extension(){return this}},Bn={lowest:4,low:3,default:2,high:1,highest:0};function Vn(e){return t=>new Un(t,e)}var Hn={highest:Vn(Bn.highest),high:Vn(Bn.high),default:Vn(Bn.default),low:Vn(Bn.low),lowest:Vn(Bn.lowest)},Un=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Wn=class e{of(e){return new Gn(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},Gn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Kn=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of qn(t,n,o))e instanceof zn?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,Nn(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>Ln(e,n,t))}}let d=l.map(e=>e(s));return new e(t,o,d,s,c,a)}};function qn(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof Gn&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof Gn){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof Un)a(e.inner,e.prec);else if(e instanceof zn)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof Pn)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,Bn.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}).`);if(t==e)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,Bn.default),r.reduce((e,t)=>e.concat(t))}function Jn(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function Yn(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var Xn=I.define(),Zn=I.define({combine:e=>e.some(e=>e),static:!0}),Qn=I.define({combine:e=>e.length?e[0]:void 0,static:!0}),$n=I.define(),er=I.define(),tr=I.define(),nr=I.define({combine:e=>e.length?e[0]:!1}),rr=class{constructor(e,t){this.type=e,this.value=t}static define(){return new ir}},ir=class{of(e){return new rr(this,e)}},ar=class{constructor(e){this.map=e}of(e){return new L(this,e)}},L=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new ar(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};L.reconfigure=L.define(),L.appendConfig=L.define();var or=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&jn(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};or.time=rr.define(),or.userEvent=rr.define(),or.addToHistory=rr.define(),or.remote=rr.define();function sr(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function cr(e,t,n){let r,i,a;return n?(r=t.changes,i=Cn.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:L.mapEffects(e.effects,r).concat(L.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function lr(e,t,n){let r=t.selection,i=mr(t.annotations);return t.userEvent&&(i=i.concat(or.userEvent.of(t.userEvent))),{changes:t.changes instanceof Cn?t.changes:Cn.of(t.changes||[],n,e.facet(Qn)),selection:r&&(r instanceof F?r:F.single(r.anchor,r.head)),effects:mr(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function ur(e,t,n){let r=lr(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=cr(r,lr(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=or.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return fr(n?dr(i):i)}function dr(e){let t=e.startState,n=!0;for(let r of t.facet($n)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:sr(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=Cn.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=or.create(t,r,e.selection&&e.selection.map(i),L.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(er);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof or?i:Array.isArray(i)&&i.length==1&&i[0]instanceof or?i[0]:ur(t,mr(i),!1)}return e}function fr(e){let t=e.startState,n=t.facet(tr),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=cr(r,lr(t,a,e.changes.newLength),!0))}return r==e?e:or.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var pr=[];function mr(e){return e==null?pr:Array.isArray(e)?e:[e]}var hr=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(hr||={}),gr=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,_r;try{_r=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function vr(e){if(_r)return _r.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>``&&(n.toUpperCase()!=n.toLowerCase()||gr.test(n)))return!0}return!1}function yr(e){return t=>{if(!/\S/.test(t))return hr.Space;if(vr(t))return hr.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return hr.Word;return hr.Other}}var R=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)Jn(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return Jn(this,n),Yn(this,n)}update(...e){return ur(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(Wn.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(L.reconfigure)?(n=null,r=e.value):e.is(L.appendConfig)&&(n=null,r=mr(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=Kn.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(Zn)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:F.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=mr(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=L.mapEffects(a,c).concat(L.mapEffects(mr(o.effects),l))}return{changes:r,selection:F.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof Cn?t:Cn.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return N.of(t.split(this.facet(e.lineSeparator)||bn))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Jn(this,t),Yn(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof zn&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:F.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=Kn.resolve(t.extensions||[],new Map),r=t.doc instanceof N?t.doc:N.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||bn)),i=t.selection?t.selection instanceof F?t.selection:F.single(t.selection.anchor,t.selection.head):F.single(0);return jn(i,r.length),n.staticFacet(Zn)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`
|