380 lines
843 KiB
HTML
380 lines
843 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Fix local backend connectivity</title>
|
|
<style>
|
|
:root { color-scheme: dark; --bg: #070b10; --panel: #0d141b; --panel-2: #101923; --ink: #edf3fb; --muted: #9aa8b8; --line: rgba(148, 163, 184, 0.22); --accent: #f4c64d; --good: #5be49b; --warn: #ffb86b; --code: #151f2a; }
|
|
* { box-sizing: border-box; }
|
|
body { margin: 0; background: linear-gradient(180deg, rgba(244, 198, 77, 0.08), transparent 280px), var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
|
|
main { width: min(1160px, calc(100vw - 40px)); margin: 0 auto; padding: 56px 0 72px; }
|
|
header { border-bottom: 1px solid var(--line); padding-bottom: 28px; margin-bottom: 30px; }
|
|
.kicker { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 12px; }
|
|
h1, h2, h3 { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.15; margin: 0; letter-spacing: 0; }
|
|
h1 { font-size: clamp(2.1rem, 5vw, 4.25rem); max-width: 900px; }
|
|
h2 { font-size: 1.15rem; margin-bottom: 14px; color: #f7fbff; }
|
|
h3 { font-size: 0.92rem; margin: 18px 0 8px; color: #dbe7f5; }
|
|
p { margin: 0 0 14px; max-width: 78ch; }
|
|
a { color: #8ec7ff; }
|
|
code { background: var(--code); border: 1px solid var(--line); border-radius: 5px; padding: 0.1rem 0.32rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.92em; }
|
|
section { background: color-mix(in srgb, var(--panel) 88%, transparent); border: 1px solid var(--line); border-radius: 8px; padding: 22px; margin: 18px 0; }
|
|
ul { margin: 0; padding-left: 1.2rem; }
|
|
li { margin: 8px 0; }
|
|
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 8px; }
|
|
.tile { background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
|
|
.tile strong { display: block; color: var(--ink); margin-bottom: 4px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.82rem; }
|
|
.tile span { color: var(--muted); }
|
|
.status-line { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
|
|
.pill { border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.78rem; }
|
|
.pill.good { color: var(--good); border-color: color-mix(in srgb, var(--good), transparent 55%); }
|
|
.pill.warn { color: var(--warn); border-color: color-mix(in srgb, var(--warn), transparent 55%); }
|
|
.diff-note { color: var(--muted); margin-bottom: 12px; }
|
|
.diff-container { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #0a0f14; }
|
|
.diff-container iframe { display: block; width: 100%; height: 760px; border: 0; background: #0a0f14; }
|
|
.validation-list code { color: #f5d36f; }
|
|
@media (max-width: 700px) { main { width: min(100vw - 24px, 1160px); padding-top: 34px; } section { padding: 16px; } .diff-container iframe { height: 620px; } }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header>
|
|
<p class="kicker">Islandflow turn record</p>
|
|
<h1>Fix local backend connectivity</h1>
|
|
<div class="status-line">
|
|
<span class="pill good">api cors deployed</span>
|
|
<span class="pill good">dev:web verified</span>
|
|
<span class="pill good">dev:desktop verified</span>
|
|
<span class="pill warn">native deployment path</span>
|
|
</div>
|
|
</header>
|
|
<section><h2>Summary</h2><p>Local web and desktop development were failing to reach the hosted Islandflow backend because browser CORS preflight requests were blocked by the native API edge. The API now reflects allowed local origins, answers OPTIONS preflight, and the local web surface connects cleanly to <code>https://api.flow.deltaisland.io</code>.</p><p>The terminal UI also now avoids oversized evidence URLs and stale request floods, which were showing up as noisy browser network warnings after the CORS fix landed.</p></section>
|
|
<section><h2>Changes Made</h2><div class="grid"><div class="tile"><strong>API CORS layer</strong><span>Added reusable CORS helpers, configured allowed origins, wrapped API responses, and handled OPTIONS globally.</span></div><div class="tile"><strong>Local dev origins</strong><span>Next dev now allows localhost, 127.0.0.1, detected local IPv4 addresses, and optional <code>NEXT_ALLOWED_DEV_ORIGINS</code>.</span></div><div class="tile"><strong>Terminal fetch stability</strong><span>Chunked option evidence lookups, bounded flow packet fetch concurrency, and abort stale hydration requests.</span></div><div class="tile"><strong>Chart overlay cap</strong><span>Changed the equity overlay range request from 2500 rows to the API-supported 1000-row maximum.</span></div></div></section>
|
|
<section><h2>Context</h2><p>The repo is using native deployment for the hosted API, not Docker compose. I deployed the API CORS fix through the native deploy path and validated the running <code>islandflow-api.service</code> directly after the deploy wrapper returned a nonzero verification-tail exit.</p><p>After CORS was fixed, the local browser could connect, but terminal helper fetches still produced warnings from oversized <code>/option-prints/by-trace</code> query strings and fast-changing live windows. Those were separate frontend request-shaping issues, not the main websocket/backend connection.</p></section>
|
|
<section><h2>Important Implementation Details</h2><ul><li><code>API_CORS_ORIGINS</code> defaults include the hosted web origin and local dev origins for ports 3000 and 3100.</li><li>Preflight responses reflect requested headers and allow <code>GET</code>, <code>POST</code>, <code>PUT</code>, and <code>OPTIONS</code>.</li><li>Terminal evidence lookups now chunk trace-id batches to avoid edge <code>414 Request-URI Too Large</code> responses.</li><li>High-churn live hydration effects now use <code>AbortController</code> cleanup so stale requests do not masquerade as backend failures.</li><li>Classified option rows now use a focusable row container instead of nesting instrument buttons inside another button.</li></ul></section>
|
|
<section><h2>Relevant Diff Snippets</h2><p class="diff-note">Rendered with <code>@pierre/diffs/ssr</code> from a representative diff covering the API CORS helper, API wiring, Next dev-origin config, and terminal fetch handling.</p><div class="diff-container"><iframe title="Rendered Diffs SSR snippets" srcdoc="<!doctype html><html><head><meta charset="utf-8"><style>
|
|
:root{color-scheme:dark}html,body{margin:0;background:#0a0f14;color:#e9eef5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.diff-shell{padding:14px;min-width:960px}.diff-break{border:0;border-top:1px solid rgba(148,163,184,.24);margin:18px 0}svg[data-icon-sprite]{display:none}a{color:#8ec7ff}
|
|
</style></head><body><div class="diff-shell"><svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
|
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
|
|
<path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
|
|
<path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
|
|
<path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
|
|
<path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand" viewBox="0 0 16 16">
|
|
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-plus" viewBox="0 0 16 16">
|
|
<path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
</symbol>
|
|
</svg><style data-core-css="">@layer base, theme, rendered, unsafe;
|
|
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:"+";color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:"-";color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:"";-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth="1"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
|
|
@layer theme {
|
|
|
|
}</style><style data-theme-css="">@layer base, theme, rendered, unsafe;
|
|
@layer rendered {
|
|
:host {
|
|
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
|
|
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
|
|
}
|
|
}</style><div data-diffs-header="default" data-change-type="change"><div data-header-content=""><slot name="header-prefix"></slot><svg width="16" height="16" viewBox="0 0 16 16" data-change-icon="change"><use href="#diffs-icon-symbol-modified"></use></svg><div data-title=""><bdi>apps/web/app/terminal.tsx</bdi></div></div><div data-metadata=""><span data-deletions-count="">-95</span><span data-additions-count="">+146</span><slot name="header-metadata"></slot></div></div><pre data-diff="" data-diff-type="split" data-overflow="scroll" data-background="" data-indicators="bars" tabindex="0" style="--diffs-min-number-column-width-default:4ch;" data-dehydrated=""><code data-code="" data-container-size="" data-deletions=""><div data-gutter="" style="grid-row: span 327"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">540 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="541" data-line-index="540,540"><span data-line-number-content="">541</span></div><div data-line-type="context" data-column-number="542" data-line-index="541,541"><span data-line-number-content="">542</span></div><div data-line-type="context" data-column-number="543" data-line-index="542,542"><span data-line-number-content="">543</span></div><div data-gutter-buffer="buffer" data-buffer-size="81" style="grid-row: span 81;min-height:calc(81 * 1lh);"></div><div data-line-type="context" data-column-number="544" data-line-index="624,624"><span data-line-number-content="">544</span></div><div data-line-type="context" data-column-number="545" data-line-index="625,625"><span data-line-number-content="">545</span></div><div data-line-type="context" data-column-number="546" data-line-index="626,626"><span data-line-number-content="">546</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">3937 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="4484" data-line-index="4564,4564"><span data-line-number-content="">4484</span></div><div data-line-type="context" data-column-number="4485" data-line-index="4565,4565"><span data-line-number-content="">4485</span></div><div data-line-type="context" data-column-number="4486" data-line-index="4566,4566"><span data-line-number-content="">4486</span></div><div data-line-type="change-deletion" data-column-number="4487" data-line-index="4567,4567"><span data-line-number-content="">4487</span></div><div data-line-type="context" data-column-number="4488" data-line-index="4569,4568"><span data-line-number-content="">4488</span></div><div data-line-type="context" data-column-number="4489" data-line-index="4570,4569"><span data-line-number-content="">4489</span></div><div data-line-type="context" data-column-number="4490" data-line-index="4571,4570"><span data-line-number-content="">4490</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1815 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6306" data-line-index="6387,6386"><span data-line-number-content="">6306</span></div><div data-line-type="context" data-column-number="6307" data-line-index="6388,6387"><span data-line-number-content="">6307</span></div><div data-line-type="context" data-column-number="6308" data-line-index="6389,6388"><span data-line-number-content="">6308</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="6309" data-line-index="6391,6390"><span data-line-number-content="">6309</span></div><div data-line-type="context" data-column-number="6310" data-line-index="6392,6391"><span data-line-number-content="">6310</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="6311" data-line-index="6394,6393"><span data-line-number-content="">6311</span></div><div data-line-type="context" data-column-number="6312" data-line-index="6395,6394"><span data-line-number-content="">6312</span></div><div data-line-type="context" data-column-number="6313" data-line-index="6396,6395"><span data-line-number-content="">6313</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">59 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6373" data-line-index="6456,6455"><span data-line-number-content="">6373</span></div><div data-line-type="context" data-column-number="6374" data-line-index="6457,6456"><span data-line-number-content="">6374</span></div><div data-line-type="context" data-column-number="6375" data-line-index="6458,6457"><span data-line-number-content="">6375</span></div><div data-gutter-buffer="buffer" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh);"></div><div data-line-type="context" data-column-number="6376" data-line-index="6462,6461"><span data-line-number-content="">6376</span></div><div data-line-type="context" data-column-number="6377" data-line-index="6463,6462"><span data-line-number-content="">6377</span></div><div data-line-type="context" data-column-number="6378" data-line-index="6464,6463"><span data-line-number-content="">6378</span></div><div data-line-type="context" data-column-number="6379" data-line-index="6465,6464"><span data-line-number-content="">6379</span></div><div data-line-type="context" data-column-number="6380" data-line-index="6466,6465"><span data-line-number-content="">6380</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="6381" data-line-index="6468,6467"><span data-line-number-content="">6381</span></div><div data-line-type="context" data-column-number="6382" data-line-index="6469,6468"><span data-line-number-content="">6382</span></div><div data-line-type="context" data-column-number="6383" data-line-index="6470,6469"><span data-line-number-content="">6383</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">98 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6482" data-line-index="6569,6568"><span data-line-number-content="">6482</span></div><div data-line-type="context" data-column-number="6483" data-line-index="6570,6569"><span data-line-number-content="">6483</span></div><div data-line-type="context" data-column-number="6484" data-line-index="6571,6570"><span data-line-number-content="">6484</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="6485" data-line-index="6573,6572"><span data-line-number-content="">6485</span></div><div data-line-type="context" data-column-number="6486" data-line-index="6574,6573"><span data-line-number-content="">6486</span></div><div data-line-type="context" data-column-number="6487" data-line-index="6575,6574"><span data-line-number-content="">6487</span></div><div data-line-type="context" data-column-number="6488" data-line-index="6576,6575"><span data-line-number-content="">6488</span></div><div data-line-type="context" data-column-number="6489" data-line-index="6577,6576"><span data-line-number-content="">6489</span></div><div data-line-type="change-deletion" data-column-number="6490" data-line-index="6578,6577"><span data-line-number-content="">6490</span></div><div data-line-type="change-deletion" data-column-number="6491" data-line-index="6579,6578"><span data-line-number-content="">6491</span></div><div data-line-type="change-deletion" data-column-number="6492" data-line-index="6580,6579"><span data-line-number-content="">6492</span></div><div data-line-type="change-deletion" data-column-number="6493" data-line-index="6581,6580"><span data-line-number-content="">6493</span></div><div data-line-type="change-deletion" data-column-number="6494" data-line-index="6582,6581"><span data-line-number-content="">6494</span></div><div data-line-type="change-deletion" data-column-number="6495" data-line-index="6583,6582"><span data-line-number-content="">6495</span></div><div data-line-type="change-deletion" data-column-number="6496" data-line-index="6584,6583"><span data-line-number-content="">6496</span></div><div data-line-type="change-deletion" data-column-number="6497" data-line-index="6585,6584"><span data-line-number-content="">6497</span></div><div data-line-type="change-deletion" data-column-number="6498" data-line-index="6586,6585"><span data-line-number-content="">6498</span></div><div data-line-type="change-deletion" data-column-number="6499" data-line-index="6587,6586"><span data-line-number-content="">6499</span></div><div data-line-type="change-deletion" data-column-number="6500" data-line-index="6588,6587"><span data-line-number-content="">6500</span></div><div data-line-type="change-deletion" data-column-number="6501" data-line-index="6589,6588"><span data-line-number-content="">6501</span></div><div data-line-type="context" data-column-number="6502" data-line-index="6591,6589"><span data-line-number-content="">6502</span></div><div data-line-type="context" data-column-number="6503" data-line-index="6592,6590"><span data-line-number-content="">6503</span></div><div data-line-type="context" data-column-number="6504" data-line-index="6593,6591"><span data-line-number-content="">6504</span></div><div data-line-type="change-deletion" data-column-number="6505" data-line-index="6594,6592"><span data-line-number-content="">6505</span></div><div data-line-type="change-deletion" data-column-number="6506" data-line-index="6595,6593"><span data-line-number-content="">6506</span></div><div data-line-type="change-deletion" data-column-number="6507" data-line-index="6596,6594"><span data-line-number-content="">6507</span></div><div data-line-type="context" data-column-number="6508" data-line-index="6598,6595"><span data-line-number-content="">6508</span></div><div data-line-type="context" data-column-number="6509" data-line-index="6599,6596"><span data-line-number-content="">6509</span></div><div data-line-type="context" data-column-number="6510" data-line-index="6600,6597"><span data-line-number-content="">6510</span></div><div data-line-type="context" data-column-number="6511" data-line-index="6601,6598"><span data-line-number-content="">6511</span></div><div data-line-type="context" data-column-number="6512" data-line-index="6602,6599"><span data-line-number-content="">6512</span></div><div data-line-type="context" data-column-number="6513" data-line-index="6603,6600"><span data-line-number-content="">6513</span></div><div data-gutter-buffer="buffer" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh);"></div><div data-line-type="context" data-column-number="6514" data-line-index="6607,6604"><span data-line-number-content="">6514</span></div><div data-line-type="context" data-column-number="6515" data-line-index="6608,6605"><span data-line-number-content="">6515</span></div><div data-line-type="context" data-column-number="6516" data-line-index="6609,6606"><span data-line-number-content="">6516</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6519" data-line-index="6612,6609"><span data-line-number-content="">6519</span></div><div data-line-type="context" data-column-number="6520" data-line-index="6613,6610"><span data-line-number-content="">6520</span></div><div data-line-type="context" data-column-number="6521" data-line-index="6614,6611"><span data-line-number-content="">6521</span></div><div data-line-type="change-deletion" data-column-number="6522" data-line-index="6615,6612"><span data-line-number-content="">6522</span></div><div data-line-type="change-deletion" data-column-number="6523" data-line-index="6616,6613"><span data-line-number-content="">6523</span></div><div data-line-type="change-deletion" data-column-number="6524" data-line-index="6617,6614"><span data-line-number-content="">6524</span></div><div data-line-type="change-deletion" data-column-number="6525" data-line-index="6618,6615"><span data-line-number-content="">6525</span></div><div data-line-type="change-deletion" data-column-number="6526" data-line-index="6619,6616"><span data-line-number-content="">6526</span></div><div data-line-type="change-deletion" data-column-number="6527" data-line-index="6620,6617"><span data-line-number-content="">6527</span></div><div data-line-type="change-deletion" data-column-number="6528" data-line-index="6621,6618"><span data-line-number-content="">6528</span></div><div data-line-type="change-deletion" data-column-number="6529" data-line-index="6622,6619"><span data-line-number-content="">6529</span></div><div data-line-type="change-deletion" data-column-number="6530" data-line-index="6623,6620"><span data-line-number-content="">6530</span></div><div data-line-type="change-deletion" data-column-number="6531" data-line-index="6624,6621"><span data-line-number-content="">6531</span></div><div data-line-type="change-deletion" data-column-number="6532" data-line-index="6625,6622"><span data-line-number-content="">6532</span></div><div data-line-type="change-deletion" data-column-number="6533" data-line-index="6626,6623"><span data-line-number-content="">6533</span></div><div data-line-type="change-deletion" data-column-number="6534" data-line-index="6627,6624"><span data-line-number-content="">6534</span></div><div data-line-type="change-deletion" data-column-number="6535" data-line-index="6628,6625"><span data-line-number-content="">6535</span></div><div data-line-type="change-deletion" data-column-number="6536" data-line-index="6629,6626"><span data-line-number-content="">6536</span></div><div data-line-type="change-deletion" data-column-number="6537" data-line-index="6630,6627"><span data-line-number-content="">6537</span></div><div data-line-type="change-deletion" data-column-number="6538" data-line-index="6631,6628"><span data-line-number-content="">6538</span></div><div data-line-type="change-deletion" data-column-number="6539" data-line-index="6632,6629"><span data-line-number-content="">6539</span></div><div data-line-type="change-deletion" data-column-number="6540" data-line-index="6633,6630"><span data-line-number-content="">6540</span></div><div data-line-type="change-deletion" data-column-number="6541" data-line-index="6634,6631"><span data-line-number-content="">6541</span></div><div data-line-type="context" data-column-number="6542" data-line-index="6642,6632"><span data-line-number-content="">6542</span></div><div data-line-type="change-deletion" data-column-number="6543" data-line-index="6643,6633"><span data-line-number-content="">6543</span></div><div data-line-type="change-deletion" data-column-number="6544" data-line-index="6644,6634"><span data-line-number-content="">6544</span></div><div data-line-type="change-deletion" data-column-number="6545" data-line-index="6645,6635"><span data-line-number-content="">6545</span></div><div data-line-type="change-deletion" data-column-number="6546" data-line-index="6646,6636"><span data-line-number-content="">6546</span></div><div data-line-type="change-deletion" data-column-number="6547" data-line-index="6647,6637"><span data-line-number-content="">6547</span></div><div data-line-type="change-deletion" data-column-number="6548" data-line-index="6648,6638"><span data-line-number-content="">6548</span></div><div data-line-type="change-deletion" data-column-number="6549" data-line-index="6649,6639"><span data-line-number-content="">6549</span></div><div data-line-type="change-deletion" data-column-number="6550" data-line-index="6650,6640"><span data-line-number-content="">6550</span></div><div data-line-type="change-deletion" data-column-number="6551" data-line-index="6651,6641"><span data-line-number-content="">6551</span></div><div data-line-type="change-deletion" data-column-number="6552" data-line-index="6652,6642"><span data-line-number-content="">6552</span></div><div data-gutter-buffer="buffer" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh);"></div><div data-line-type="context" data-column-number="6553" data-line-index="6667,6647"><span data-line-number-content="">6553</span></div><div data-line-type="context" data-column-number="6554" data-line-index="6668,6648"><span data-line-number-content="">6554</span></div><div data-line-type="context" data-column-number="6555" data-line-index="6669,6649"><span data-line-number-content="">6555</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">302 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6858" data-line-index="6972,6952"><span data-line-number-content="">6858</span></div><div data-line-type="context" data-column-number="6859" data-line-index="6973,6953"><span data-line-number-content="">6859</span></div><div data-line-type="context" data-column-number="6860" data-line-index="6974,6954"><span data-line-number-content="">6860</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="6861" data-line-index="6976,6956"><span data-line-number-content="">6861</span></div><div data-line-type="context" data-column-number="6862" data-line-index="6977,6957"><span data-line-number-content="">6862</span></div><div data-line-type="context" data-column-number="6863" data-line-index="6978,6958"><span data-line-number-content="">6863</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="6865" data-line-index="6980,6960"><span data-line-number-content="">6865</span></div><div data-line-type="context" data-column-number="6866" data-line-index="6981,6961"><span data-line-number-content="">6866</span></div><div data-line-type="context" data-column-number="6867" data-line-index="6982,6962"><span data-line-number-content="">6867</span></div><div data-line-type="change-deletion" data-column-number="6868" data-line-index="6983,6963"><span data-line-number-content="">6868</span></div><div data-line-type="change-deletion" data-column-number="6869" data-line-index="6984,6964"><span data-line-number-content="">6869</span></div><div data-line-type="change-deletion" data-column-number="6870" data-line-index="6985,6965"><span data-line-number-content="">6870</span></div><div data-line-type="change-deletion" data-column-number="6871" data-line-index="6986,6966"><span data-line-number-content="">6871</span></div><div data-line-type="change-deletion" data-column-number="6872" data-line-index="6987,6967"><span data-line-number-content="">6872</span></div><div data-line-type="change-deletion" data-column-number="6873" data-line-index="6988,6968"><span data-line-number-content="">6873</span></div><div data-line-type="change-deletion" data-column-number="6874" data-line-index="6989,6969"><span data-line-number-content="">6874</span></div><div data-line-type="change-deletion" data-column-number="6875" data-line-index="6990,6970"><span data-line-number-content="">6875</span></div><div data-line-type="change-deletion" data-column-number="6876" data-line-index="6991,6971"><span data-line-number-content="">6876</span></div><div data-line-type="change-deletion" data-column-number="6877" data-line-index="6992,6972"><span data-line-number-content="">6877</span></div><div data-line-type="change-deletion" data-column-number="6878" data-line-index="6993,6973"><span data-line-number-content="">6878</span></div><div data-line-type="change-deletion" data-column-number="6879" data-line-index="6994,6974"><span data-line-number-content="">6879</span></div><div data-line-type="context" data-column-number="6880" data-line-index="6996,6975"><span data-line-number-content="">6880</span></div><div data-line-type="context" data-column-number="6881" data-line-index="6997,6976"><span data-line-number-content="">6881</span></div><div data-line-type="context" data-column-number="6882" data-line-index="6998,6977"><span data-line-number-content="">6882</span></div><div data-line-type="change-deletion" data-column-number="6883" data-line-index="6999,6978"><span data-line-number-content="">6883</span></div><div data-line-type="change-deletion" data-column-number="6884" data-line-index="7000,6979"><span data-line-number-content="">6884</span></div><div data-line-type="change-deletion" data-column-number="6885" data-line-index="7001,6980"><span data-line-number-content="">6885</span></div><div data-line-type="context" data-column-number="6886" data-line-index="7003,6981"><span data-line-number-content="">6886</span></div><div data-line-type="context" data-column-number="6887" data-line-index="7004,6982"><span data-line-number-content="">6887</span></div><div data-line-type="context" data-column-number="6888" data-line-index="7005,6983"><span data-line-number-content="">6888</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="6890" data-line-index="7007,6985"><span data-line-number-content="">6890</span></div><div data-line-type="context" data-column-number="6891" data-line-index="7008,6986"><span data-line-number-content="">6891</span></div><div data-line-type="context" data-column-number="6892" data-line-index="7009,6987"><span data-line-number-content="">6892</span></div><div data-gutter-buffer="buffer" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh);"></div><div data-line-type="context" data-column-number="6893" data-line-index="7013,6991"><span data-line-number-content="">6893</span></div><div data-line-type="context" data-column-number="6894" data-line-index="7014,6992"><span data-line-number-content="">6894</span></div><div data-line-type="context" data-column-number="6895" data-line-index="7015,6993"><span data-line-number-content="">6895</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6898" data-line-index="7018,6996"><span data-line-number-content="">6898</span></div><div data-line-type="context" data-column-number="6899" data-line-index="7019,6997"><span data-line-number-content="">6899</span></div><div data-line-type="context" data-column-number="6900" data-line-index="7020,6998"><span data-line-number-content="">6900</span></div><div data-line-type="change-deletion" data-column-number="6901" data-line-index="7021,6999"><span data-line-number-content="">6901</span></div><div data-line-type="change-deletion" data-column-number="6902" data-line-index="7022,7000"><span data-line-number-content="">6902</span></div><div data-gutter-buffer="buffer" data-buffer-size="18" style="grid-row: span 18;min-height:calc(18 * 1lh);"></div><div data-line-type="context" data-column-number="6903" data-line-index="7043,7019"><span data-line-number-content="">6903</span></div><div data-line-type="context" data-column-number="6904" data-line-index="7044,7020"><span data-line-number-content="">6904</span></div><div data-line-type="change-deletion" data-column-number="6905" data-line-index="7045,7021"><span data-line-number-content="">6905</span></div><div data-line-type="change-deletion" data-column-number="6906" data-line-index="7046,7022"><span data-line-number-content="">6906</span></div><div data-line-type="change-deletion" data-column-number="6907" data-line-index="7047,7023"><span data-line-number-content="">6907</span></div><div data-line-type="change-deletion" data-column-number="6908" data-line-index="7048,7024"><span data-line-number-content="">6908</span></div><div data-line-type="change-deletion" data-column-number="6909" data-line-index="7049,7025"><span data-line-number-content="">6909</span></div><div data-line-type="change-deletion" data-column-number="6910" data-line-index="7050,7026"><span data-line-number-content="">6910</span></div><div data-line-type="change-deletion" data-column-number="6911" data-line-index="7051,7027"><span data-line-number-content="">6911</span></div><div data-line-type="change-deletion" data-column-number="6912" data-line-index="7052,7028"><span data-line-number-content="">6912</span></div><div data-line-type="change-deletion" data-column-number="6913" data-line-index="7053,7029"><span data-line-number-content="">6913</span></div><div data-line-type="change-deletion" data-column-number="6914" data-line-index="7054,7030"><span data-line-number-content="">6914</span></div><div data-line-type="change-deletion" data-column-number="6915" data-line-index="7055,7031"><span data-line-number-content="">6915</span></div><div data-line-type="change-deletion" data-column-number="6916" data-line-index="7056,7032"><span data-line-number-content="">6916</span></div><div data-line-type="change-deletion" data-column-number="6917" data-line-index="7057,7033"><span data-line-number-content="">6917</span></div><div data-line-type="change-deletion" data-column-number="6918" data-line-index="7058,7034"><span data-line-number-content="">6918</span></div><div data-line-type="change-deletion" data-column-number="6919" data-line-index="7059,7035"><span data-line-number-content="">6919</span></div><div data-line-type="change-deletion" data-column-number="6920" data-line-index="7060,7036"><span data-line-number-content="">6920</span></div><div data-line-type="change-deletion" data-column-number="6921" data-line-index="7061,7037"><span data-line-number-content="">6921</span></div><div data-line-type="change-deletion" data-column-number="6922" data-line-index="7062,7038"><span data-line-number-content="">6922</span></div><div data-line-type="change-deletion" data-column-number="6923" data-line-index="7063,7039"><span data-line-number-content="">6923</span></div><div data-line-type="change-deletion" data-column-number="6924" data-line-index="7064,7040"><span data-line-number-content="">6924</span></div><div data-line-type="change-deletion" data-column-number="6925" data-line-index="7065,7041"><span data-line-number-content="">6925</span></div><div data-line-type="change-deletion" data-column-number="6926" data-line-index="7066,7042"><span data-line-number-content="">6926</span></div><div data-line-type="change-deletion" data-column-number="6927" data-line-index="7067,7043"><span data-line-number-content="">6927</span></div><div data-line-type="change-deletion" data-column-number="6928" data-line-index="7068,7044"><span data-line-number-content="">6928</span></div><div data-line-type="change-deletion" data-column-number="6929" data-line-index="7069,7045"><span data-line-number-content="">6929</span></div><div data-line-type="change-deletion" data-column-number="6930" data-line-index="7070,7046"><span data-line-number-content="">6930</span></div><div data-line-type="change-deletion" data-column-number="6931" data-line-index="7071,7047"><span data-line-number-content="">6931</span></div><div data-line-type="change-deletion" data-column-number="6932" data-line-index="7072,7048"><span data-line-number-content="">6932</span></div><div data-line-type="change-deletion" data-column-number="6933" data-line-index="7073,7049"><span data-line-number-content="">6933</span></div><div data-line-type="context" data-column-number="6934" data-line-index="7075,7050"><span data-line-number-content="">6934</span></div><div data-line-type="context" data-column-number="6935" data-line-index="7076,7051"><span data-line-number-content="">6935</span></div><div data-line-type="context" data-column-number="6936" data-line-index="7077,7052"><span data-line-number-content="">6936</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">873 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="7810" data-line-index="7951,7926"><span data-line-number-content="">7810</span></div><div data-line-type="context" data-column-number="7811" data-line-index="7952,7927"><span data-line-number-content="">7811</span></div><div data-line-type="context" data-column-number="7812" data-line-index="7953,7928"><span data-line-number-content="">7812</span></div><div data-line-type="change-deletion" data-column-number="7813" data-line-index="7954,7929"><span data-line-number-content="">7813</span></div><div data-line-type="change-deletion" data-column-number="7814" data-line-index="7955,7930"><span data-line-number-content="">7814</span></div><div data-line-type="context" data-column-number="7815" data-line-index="7957,7931"><span data-line-number-content="">7815</span></div><div data-line-type="context" data-column-number="7816" data-line-index="7958,7932"><span data-line-number-content="">7816</span></div><div data-gutter-buffer="buffer" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh);"></div><div data-line-type="context" data-column-number="7817" data-line-index="7961,7935"><span data-line-number-content="">7817</span></div><div data-line-type="context" data-column-number="7818" data-line-index="7962,7936"><span data-line-number-content="">7818</span></div><div data-line-type="context" data-column-number="7819" data-line-index="7963,7937"><span data-line-number-content="">7819</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">13 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="7833" data-line-index="7977,7951"><span data-line-number-content="">7833</span></div><div data-line-type="context" data-column-number="7834" data-line-index="7978,7952"><span data-line-number-content="">7834</span></div><div data-line-type="context" data-column-number="7835" data-line-index="7979,7953"><span data-line-number-content="">7835</span></div><div data-line-type="change-deletion" data-column-number="7836" data-line-index="7980,7954"><span data-line-number-content="">7836</span></div><div data-line-type="context" data-column-number="7837" data-line-index="7982,7955"><span data-line-number-content="">7837</span></div><div data-line-type="context" data-column-number="7838" data-line-index="7983,7956"><span data-line-number-content="">7838</span></div><div data-line-type="context" data-column-number="7839" data-line-index="7984,7957"><span data-line-number-content="">7839</span></div></div><div data-content="" style="grid-row: span 327"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">540 unmodified lines</span></div></div></div><div data-line="541" data-alt-line="541" data-line-type="context" data-line-index="540,540"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="542" data-alt-line="542" data-line-type="context" data-line-index="541,541"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="543" data-alt-line="543" data-line-type="context" data-line-index="542,542">
|
|
</div><div data-content-buffer="" data-buffer-size="81" style="grid-row: span 81;min-height:calc(81 * 1lh)"></div><div data-line="544" data-alt-line="625" data-line-type="context" data-line-index="624,624"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">type</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> WsStatus</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "connecting"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "connected"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "disconnected"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "stale"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="545" data-alt-line="626" data-line-type="context" data-line-index="625,625">
|
|
</div><div data-line="546" data-alt-line="627" data-line-type="context" data-line-index="626,626"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">type</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> TapeMode</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "live"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "replay"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">3937 unmodified lines</span></div></div></div><div data-line="4484" data-alt-line="4565" data-line-type="context" data-line-index="4564,4564"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"underlying_id"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> ticker</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="4485" data-alt-line="4566" data-line-type="context" data-line-index="4565,4565"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"start_ts"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Math</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">floor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">startTs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">());</span></div><div data-line="4486" data-alt-line="4567" data-line-type="context" data-line-index="4566,4566"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"end_ts"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Math</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">floor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">endTs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">());</span></div><div data-line="4487" data-line-type="change-deletion" data-line-index="4567,4567"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"limit"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">2500</span></span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="4488" data-alt-line="4569" data-line-type="context" data-line-index="4569,4568">
|
|
</div><div data-line="4489" data-alt-line="4570" data-line-type="context" data-line-index="4570,4569"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="4490" data-alt-line="4571" data-line-type="context" data-line-index="4571,4570"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1815 unmodified lines</span></div></div></div><div data-line="6306" data-alt-line="6387" data-line-type="context" data-line-index="6387,6386"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6307" data-alt-line="6388" data-line-type="context" data-line-index="6388,6387">
|
|
</div><div data-line="6308" data-alt-line="6389" data-line-type="context" data-line-index="6389,6388"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> let</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> cancelled</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="6309" data-alt-line="6391" data-line-type="context" data-line-index="6391,6390"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"/lookup/options-support"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6310" data-alt-line="6392" data-line-type="context" data-line-index="6392,6391"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> method</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "POST"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="6311" data-alt-line="6394" data-line-type="context" data-line-index="6394,6393"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "content-type"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "application/json"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span></div><div data-line="6312" data-alt-line="6395" data-line-type="context" data-line-index="6395,6394"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> body</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> JSON</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">stringify</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span></div><div data-line="6313" data-alt-line="6396" data-line-type="context" data-line-index="6396,6395"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> trace_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> uniqueTraceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">59 unmodified lines</span></div></div></div><div data-line="6373" data-alt-line="6456" data-line-type="context" data-line-index="6456,6455"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6374" data-alt-line="6457" data-line-type="context" data-line-index="6457,6456"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> })</span></div><div data-line="6375" data-alt-line="6458" data-line-type="context" data-line-index="6458,6457"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-content-buffer="" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh)"></div><div data-line="6376" data-alt-line="6462" data-line-type="context" data-line-index="6462,6461"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to hydrate option row support"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6377" data-alt-line="6463" data-line-type="context" data-line-index="6463,6462"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="6378" data-alt-line="6464" data-line-type="context" data-line-index="6464,6463">
|
|
</div><div data-line="6379" data-alt-line="6465" data-line-type="context" data-line-index="6465,6464"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6380" data-alt-line="6466" data-line-type="context" data-line-index="6466,6465"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> cancelled</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> true</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="6381" data-alt-line="6468" data-line-type="context" data-line-index="6468,6467"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="6382" data-alt-line="6469" data-line-type="context" data-line-index="6469,6468"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span></div><div data-line="6383" data-alt-line="6470" data-line-type="context" data-line-index="6470,6469"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">98 unmodified lines</span></div></div></div><div data-line="6482" data-alt-line="6569" data-line-type="context" data-line-index="6569,6568"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6483" data-alt-line="6570" data-line-type="context" data-line-index="6570,6569"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6484" data-alt-line="6571" data-line-type="context" data-line-index="6571,6570">
|
|
</div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="6485" data-alt-line="6573" data-line-type="context" data-line-index="6573,6572"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6486" data-alt-line="6574" data-line-type="context" data-line-index="6574,6573"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6487" data-alt-line="6575" data-line-type="context" data-line-index="6575,6574"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6488" data-alt-line="6576" data-line-type="context" data-line-index="6576,6575"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6489" data-alt-line="6577" data-line-type="context" data-line-index="6577,6576"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6490" data-line-type="change-deletion" data-line-index="6578,6577"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> </span><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">all</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></span></div><div data-line="6491" data-line-type="change-deletion" data-line-index="6579,6578"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6492" data-line-type="change-deletion" data-line-index="6580,6579"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6493" data-line-type="change-deletion" data-line-index="6581,6580"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">/flow/packets/</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">${</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">encodeURIComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6494" data-line-type="change-deletion" data-line-index="6582,6581"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6495" data-line-type="change-deletion" data-line-index="6583,6582"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6496" data-line-type="change-deletion" data-line-index="6584,6583"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6497" data-line-type="change-deletion" data-line-index="6585,6584"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6498" data-line-type="change-deletion" data-line-index="6586,6585"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> payload</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> as</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="6499" data-line-type="change-deletion" data-line-index="6587,6586"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6500" data-line-type="change-deletion" data-line-index="6588,6587"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6501" data-line-type="change-deletion" data-line-index="6589,6588"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> )</span></div><div data-line="6502" data-alt-line="6579" data-line-type="context" data-line-index="6591,6589"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6503" data-alt-line="6580" data-line-type="context" data-line-index="6592,6590"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6504" data-alt-line="6581" data-line-type="context" data-line-index="6593,6591"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packet</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6505" data-line-type="change-deletion" data-line-index="6594,6592"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6506" data-line-type="change-deletion" data-line-index="6595,6593"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6507" data-line-type="change-deletion" data-line-index="6596,6594"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6508" data-alt-line="6583" data-line-type="context" data-line-index="6598,6595"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6509" data-alt-line="6584" data-line-type="context" data-line-index="6599,6596"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6510" data-alt-line="6585" data-line-type="context" data-line-index="6600,6597"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()));</span></div><div data-line="6511" data-alt-line="6586" data-line-type="context" data-line-index="6601,6598"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6512" data-alt-line="6587" data-line-type="context" data-line-index="6602,6599"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6513" data-alt-line="6588" data-line-type="context" data-line-index="6603,6600"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-content-buffer="" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh)"></div><div data-line="6514" data-alt-line="6592" data-line-type="context" data-line-index="6607,6604"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6515" data-alt-line="6593" data-line-type="context" data-line-index="6608,6605"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to fetch smart-money flow packets"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6516" data-alt-line="6594" data-line-type="context" data-line-index="6609,6606"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="6519" data-alt-line="6597" data-line-type="context" data-line-index="6612,6609"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPrintIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">member_print_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6520" data-alt-line="6598" data-line-type="context" data-line-index="6613,6610"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6521" data-alt-line="6599" data-line-type="context" data-line-index="6614,6611"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6522" data-line-type="change-deletion" data-line-index="6615,6612"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">===</span></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6523" data-line-type="change-deletion" data-line-index="6616,6613"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6524" data-line-type="change-deletion" data-line-index="6617,6614"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span></div><div data-line="6525" data-line-type="change-deletion" data-line-index="6618,6615"><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-line="6526" data-line-type="change-deletion" data-line-index="6619,6616"><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> </span></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">url</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"/option-prints/by-trace"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6527" data-line-type="change-deletion" data-line-index="6620,6617"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">traceId</span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6528" data-line-type="change-deletion" data-line-index="6621,6618"><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">append</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span></span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">trace_id</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">traceId</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6529" data-line-type="change-deletion" data-line-index="6622,6619"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6530" data-line-type="change-deletion" data-line-index="6623,6620"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span></div><div data-line="6531" data-line-type="change-deletion" data-line-index="6624,6621"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6532" data-line-type="change-deletion" data-line-index="6625,6622"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6533" data-line-type="change-deletion" data-line-index="6626,6623"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6534" data-line-type="change-deletion" data-line-index="6627,6624"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6535" data-line-type="change-deletion" data-line-index="6628,6625"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6536" data-line-type="change-deletion" data-line-index="6629,6626"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6537" data-line-type="change-deletion" data-line-index="6630,6627"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6538" data-line-type="change-deletion" data-line-index="6631,6628"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6539" data-line-type="change-deletion" data-line-index="6632,6629"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> item</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [])</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6540" data-line-type="change-deletion" data-line-index="6633,6630"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6541" data-line-type="change-deletion" data-line-index="6634,6631"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> continue</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6542" data-alt-line="6607" data-line-type="context" data-line-index="6642,6632"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6543" data-line-type="change-deletion" data-line-index="6643,6633"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-line="6544" data-line-type="change-deletion" data-line-index="6644,6634"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span></div><div data-line="6545" data-line-type="change-deletion" data-line-index="6645,6635"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6546" data-line-type="change-deletion" data-line-index="6646,6636"><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()));</span></span></div><div data-line="6547" data-line-type="change-deletion" data-line-index="6647,6637"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span></span></div><div data-line="6548" data-line-type="change-deletion" data-line-index="6648,6638"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></span></div><div data-line="6549" data-line-type="change-deletion" data-line-index="6649,6639"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6550" data-line-type="change-deletion" data-line-index="6650,6640"><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-line="6551" data-line-type="change-deletion" data-line-index="6651,6641"><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">Failed to fetch smart-money option prints</span></span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6552" data-line-type="change-deletion" data-line-index="6652,6642"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-content-buffer="" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh)"></div><div data-line="6553" data-alt-line="6622" data-line-type="context" data-line-index="6667,6647"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">]</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6554" data-alt-line="6623" data-line-type="context" data-line-index="6668,6648">
|
|
</div><div data-line="6555" data-alt-line="6624" data-line-type="context" data-line-index="6669,6649"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> inferAlertUnderlying</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> useCallback</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">302 unmodified lines</span></div></div></div><div data-line="6858" data-alt-line="6927" data-line-type="context" data-line-index="6972,6952"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6859" data-alt-line="6928" data-line-type="context" data-line-index="6973,6953"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6860" data-alt-line="6929" data-line-type="context" data-line-index="6974,6954">
|
|
</div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="6861" data-alt-line="6931" data-line-type="context" data-line-index="6976,6956"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> visiblePacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> visibleAlerts</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">flatMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">alert</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> getAlertFlowPacketRefs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">alert</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6862" data-alt-line="6932" data-line-type="context" data-line-index="6977,6957"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">visiblePacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6863" data-alt-line="6933" data-line-type="context" data-line-index="6978,6958"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="6865" data-alt-line="6935" data-line-type="context" data-line-index="6980,6960">
|
|
</div><div data-line="6866" data-alt-line="6936" data-line-type="context" data-line-index="6981,6961"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6867" data-alt-line="6937" data-line-type="context" data-line-index="6982,6962"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6868" data-line-type="change-deletion" data-line-index="6983,6963"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> </span><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">all</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></span></div><div data-line="6869" data-line-type="change-deletion" data-line-index="6984,6964"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6870" data-line-type="change-deletion" data-line-index="6985,6965"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6871" data-line-type="change-deletion" data-line-index="6986,6966"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">/flow/packets/</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">${</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">encodeURIComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6872" data-line-type="change-deletion" data-line-index="6987,6967"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6873" data-line-type="change-deletion" data-line-index="6988,6968"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6874" data-line-type="change-deletion" data-line-index="6989,6969"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6875" data-line-type="change-deletion" data-line-index="6990,6970"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6876" data-line-type="change-deletion" data-line-index="6991,6971"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> payload</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> as</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="6877" data-line-type="change-deletion" data-line-index="6992,6972"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6878" data-line-type="change-deletion" data-line-index="6993,6973"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6879" data-line-type="change-deletion" data-line-index="6994,6974"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> )</span></div><div data-line="6880" data-alt-line="6939" data-line-type="context" data-line-index="6996,6975"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6881" data-alt-line="6940" data-line-type="context" data-line-index="6997,6976"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6882" data-alt-line="6941" data-line-type="context" data-line-index="6998,6977"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packet</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6883" data-line-type="change-deletion" data-line-index="6999,6978"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6884" data-line-type="change-deletion" data-line-index="7000,6979"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6885" data-line-type="change-deletion" data-line-index="7001,6980"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6886" data-alt-line="6943" data-line-type="context" data-line-index="7003,6981"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6887" data-alt-line="6944" data-line-type="context" data-line-index="7004,6982"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6888" data-alt-line="6945" data-line-type="context" data-line-index="7005,6983"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> now</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="6890" data-alt-line="6947" data-line-type="context" data-line-index="7007,6985"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6891" data-alt-line="6948" data-line-type="context" data-line-index="7008,6986"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> })</span></div><div data-line="6892" data-alt-line="6949" data-line-type="context" data-line-index="7009,6987"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-content-buffer="" data-buffer-size="3" style="grid-row: span 3;min-height:calc(3 * 1lh)"></div><div data-line="6893" data-alt-line="6953" data-line-type="context" data-line-index="7013,6991"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6894" data-alt-line="6954" data-line-type="context" data-line-index="7014,6992"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to prefetch visible alert packets"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6895" data-alt-line="6955" data-line-type="context" data-line-index="7015,6993"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="6898" data-alt-line="6958" data-line-type="context" data-line-index="7018,6996"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPrintIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">visibleAlertEvidenceRefs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6899" data-alt-line="6959" data-line-type="context" data-line-index="7019,6997"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6900" data-alt-line="6960" data-line-type="context" data-line-index="7020,6998"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6901" data-line-type="change-deletion" data-line-index="7021,6999"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">===</span></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6902" data-line-type="change-deletion" data-line-index="7022,7000"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-content-buffer="" data-buffer-size="18" style="grid-row: span 18;min-height:calc(18 * 1lh)"></div><div data-line="6903" data-alt-line="6981" data-line-type="context" data-line-index="7043,7019"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6904" data-alt-line="6982" data-line-type="context" data-line-index="7044,7020">
|
|
</div><div data-line="6905" data-line-type="change-deletion" data-line-index="7045,7021"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6906" data-line-type="change-deletion" data-line-index="7046,7022"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> url</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"/option-prints/by-trace"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6907" data-line-type="change-deletion" data-line-index="7047,7023"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> traceId</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6908" data-line-type="change-deletion" data-line-index="7048,7024"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">append</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"trace_id"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> traceId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6909" data-line-type="change-deletion" data-line-index="7049,7025"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6910" data-line-type="change-deletion" data-line-index="7050,7026"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span></div><div data-line="6911" data-line-type="change-deletion" data-line-index="7051,7027"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6912" data-line-type="change-deletion" data-line-index="7052,7028"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6913" data-line-type="change-deletion" data-line-index="7053,7029"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6914" data-line-type="change-deletion" data-line-index="7054,7030"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6915" data-line-type="change-deletion" data-line-index="7055,7031"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6916" data-line-type="change-deletion" data-line-index="7056,7032"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6917" data-line-type="change-deletion" data-line-index="7057,7033"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6918" data-line-type="change-deletion" data-line-index="7058,7034"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6919" data-line-type="change-deletion" data-line-index="7059,7035"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> item</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [])</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6920" data-line-type="change-deletion" data-line-index="7060,7036"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6921" data-line-type="change-deletion" data-line-index="7061,7037"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> continue</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6922" data-line-type="change-deletion" data-line-index="7062,7038"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6923" data-line-type="change-deletion" data-line-index="7063,7039"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6924" data-line-type="change-deletion" data-line-index="7064,7040"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6925" data-line-type="change-deletion" data-line-index="7065,7041"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6926" data-line-type="change-deletion" data-line-index="7066,7042"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> now</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6927" data-line-type="change-deletion" data-line-index="7067,7043"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6928" data-line-type="change-deletion" data-line-index="7068,7044"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6929" data-line-type="change-deletion" data-line-index="7069,7045"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6930" data-line-type="change-deletion" data-line-index="7070,7046"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6931" data-line-type="change-deletion" data-line-index="7071,7047"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6932" data-line-type="change-deletion" data-line-index="7072,7048"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to prefetch visible alert evidence"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6933" data-line-type="change-deletion" data-line-index="7073,7049"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="6934" data-alt-line="6984" data-line-type="context" data-line-index="7075,7050"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span></div><div data-line="6935" data-alt-line="6985" data-line-type="context" data-line-index="7076,7051"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="6936" data-alt-line="6986" data-line-type="context" data-line-index="7077,7052"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> visibleAlerts</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">873 unmodified lines</span></div></div></div><div data-line="7810" data-alt-line="7860" data-line-type="context" data-line-index="7951,7926"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> )</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="7811" data-alt-line="7861" data-line-type="context" data-line-index="7952,7927">
|
|
</div><div data-line="7812" data-alt-line="7862" data-line-type="context" data-line-index="7953,7928"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> decor</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="7813" data-line-type="change-deletion" data-line-index="7954,7929"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> &#x3C;</span><span data-diff-span=""><span style="--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F">button</span></span></div><div data-line="7814" data-line-type="change-deletion" data-line-index="7955,7930"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> type</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"button"</span></div><div data-line="7815" data-alt-line="7864" data-line-type="context" data-line-index="7957,7931"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">...</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">commonProps</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div><div data-line="7816" data-alt-line="7865" data-line-type="context" data-line-index="7958,7932"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> key</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">key</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div><div data-content-buffer="" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh)"></div><div data-line="7817" data-alt-line="7868" data-line-type="context" data-line-index="7961,7935"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> onClick</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">() </span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">=></span></div><div data-line="7818" data-alt-line="7869" data-line-type="context" data-line-index="7962,7936"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> decor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">smartMoney</span></div><div data-line="7819" data-alt-line="7870" data-line-type="context" data-line-index="7963,7937"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> state</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">openFromSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">decor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">smartMoney</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">13 unmodified lines</span></div></div></div><div data-line="7833" data-alt-line="7884" data-line-type="context" data-line-index="7977,7951"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }}</span></div><div data-line="7834" data-alt-line="7885" data-line-type="context" data-line-index="7978,7952"><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span></div><div data-line="7835" data-alt-line="7886" data-line-type="context" data-line-index="7979,7953"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cells</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span></div><div data-line="7836" data-line-type="change-deletion" data-line-index="7980,7954"><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x3C;/</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">button</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">></span></div><div data-line="7837" data-alt-line="7888" data-line-type="context" data-line-index="7982,7955"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> ) : </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="7838" data-alt-line="7889" data-line-type="context" data-line-index="7983,7956"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> &#x3C;</span><span style="--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F">div</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">...</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">commonProps</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> key</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">key</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span></div><div data-line="7839" data-alt-line="7890" data-line-type="context" data-line-index="7984,7957"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cells</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div></div></code><code data-code="" data-container-size="" data-additions=""><div data-gutter="" style="grid-row: span 327"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">540 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="541" data-line-index="540,540"><span data-line-number-content="">541</span></div><div data-line-type="context" data-column-number="542" data-line-index="541,541"><span data-line-number-content="">542</span></div><div data-line-type="context" data-column-number="543" data-line-index="542,542"><span data-line-number-content="">543</span></div><div data-line-type="change-addition" data-column-number="544" data-line-index="543,543"><span data-line-number-content="">544</span></div><div data-line-type="change-addition" data-column-number="545" data-line-index="544,544"><span data-line-number-content="">545</span></div><div data-line-type="change-addition" data-column-number="546" data-line-index="545,545"><span data-line-number-content="">546</span></div><div data-line-type="change-addition" data-column-number="547" data-line-index="546,546"><span data-line-number-content="">547</span></div><div data-line-type="change-addition" data-column-number="548" data-line-index="547,547"><span data-line-number-content="">548</span></div><div data-line-type="change-addition" data-column-number="549" data-line-index="548,548"><span data-line-number-content="">549</span></div><div data-line-type="change-addition" data-column-number="550" data-line-index="549,549"><span data-line-number-content="">550</span></div><div data-line-type="change-addition" data-column-number="551" data-line-index="550,550"><span data-line-number-content="">551</span></div><div data-line-type="change-addition" data-column-number="552" data-line-index="551,551"><span data-line-number-content="">552</span></div><div data-line-type="change-addition" data-column-number="553" data-line-index="552,552"><span data-line-number-content="">553</span></div><div data-line-type="change-addition" data-column-number="554" data-line-index="553,553"><span data-line-number-content="">554</span></div><div data-line-type="change-addition" data-column-number="555" data-line-index="554,554"><span data-line-number-content="">555</span></div><div data-line-type="change-addition" data-column-number="556" data-line-index="555,555"><span data-line-number-content="">556</span></div><div data-line-type="change-addition" data-column-number="557" data-line-index="556,556"><span data-line-number-content="">557</span></div><div data-line-type="change-addition" data-column-number="558" data-line-index="557,557"><span data-line-number-content="">558</span></div><div data-line-type="change-addition" data-column-number="559" data-line-index="558,558"><span data-line-number-content="">559</span></div><div data-line-type="change-addition" data-column-number="560" data-line-index="559,559"><span data-line-number-content="">560</span></div><div data-line-type="change-addition" data-column-number="561" data-line-index="560,560"><span data-line-number-content="">561</span></div><div data-line-type="change-addition" data-column-number="562" data-line-index="561,561"><span data-line-number-content="">562</span></div><div data-line-type="change-addition" data-column-number="563" data-line-index="562,562"><span data-line-number-content="">563</span></div><div data-line-type="change-addition" data-column-number="564" data-line-index="563,563"><span data-line-number-content="">564</span></div><div data-line-type="change-addition" data-column-number="565" data-line-index="564,564"><span data-line-number-content="">565</span></div><div data-line-type="change-addition" data-column-number="566" data-line-index="565,565"><span data-line-number-content="">566</span></div><div data-line-type="change-addition" data-column-number="567" data-line-index="566,566"><span data-line-number-content="">567</span></div><div data-line-type="change-addition" data-column-number="568" data-line-index="567,567"><span data-line-number-content="">568</span></div><div data-line-type="change-addition" data-column-number="569" data-line-index="568,568"><span data-line-number-content="">569</span></div><div data-line-type="change-addition" data-column-number="570" data-line-index="569,569"><span data-line-number-content="">570</span></div><div data-line-type="change-addition" data-column-number="571" data-line-index="570,570"><span data-line-number-content="">571</span></div><div data-line-type="change-addition" data-column-number="572" data-line-index="571,571"><span data-line-number-content="">572</span></div><div data-line-type="change-addition" data-column-number="573" data-line-index="572,572"><span data-line-number-content="">573</span></div><div data-line-type="change-addition" data-column-number="574" data-line-index="573,573"><span data-line-number-content="">574</span></div><div data-line-type="change-addition" data-column-number="575" data-line-index="574,574"><span data-line-number-content="">575</span></div><div data-line-type="change-addition" data-column-number="576" data-line-index="575,575"><span data-line-number-content="">576</span></div><div data-line-type="change-addition" data-column-number="577" data-line-index="576,576"><span data-line-number-content="">577</span></div><div data-line-type="change-addition" data-column-number="578" data-line-index="577,577"><span data-line-number-content="">578</span></div><div data-line-type="change-addition" data-column-number="579" data-line-index="578,578"><span data-line-number-content="">579</span></div><div data-line-type="change-addition" data-column-number="580" data-line-index="579,579"><span data-line-number-content="">580</span></div><div data-line-type="change-addition" data-column-number="581" data-line-index="580,580"><span data-line-number-content="">581</span></div><div data-line-type="change-addition" data-column-number="582" data-line-index="581,581"><span data-line-number-content="">582</span></div><div data-line-type="change-addition" data-column-number="583" data-line-index="582,582"><span data-line-number-content="">583</span></div><div data-line-type="change-addition" data-column-number="584" data-line-index="583,583"><span data-line-number-content="">584</span></div><div data-line-type="change-addition" data-column-number="585" data-line-index="584,584"><span data-line-number-content="">585</span></div><div data-line-type="change-addition" data-column-number="586" data-line-index="585,585"><span data-line-number-content="">586</span></div><div data-line-type="change-addition" data-column-number="587" data-line-index="586,586"><span data-line-number-content="">587</span></div><div data-line-type="change-addition" data-column-number="588" data-line-index="587,587"><span data-line-number-content="">588</span></div><div data-line-type="change-addition" data-column-number="589" data-line-index="588,588"><span data-line-number-content="">589</span></div><div data-line-type="change-addition" data-column-number="590" data-line-index="589,589"><span data-line-number-content="">590</span></div><div data-line-type="change-addition" data-column-number="591" data-line-index="590,590"><span data-line-number-content="">591</span></div><div data-line-type="change-addition" data-column-number="592" data-line-index="591,591"><span data-line-number-content="">592</span></div><div data-line-type="change-addition" data-column-number="593" data-line-index="592,592"><span data-line-number-content="">593</span></div><div data-line-type="change-addition" data-column-number="594" data-line-index="593,593"><span data-line-number-content="">594</span></div><div data-line-type="change-addition" data-column-number="595" data-line-index="594,594"><span data-line-number-content="">595</span></div><div data-line-type="change-addition" data-column-number="596" data-line-index="595,595"><span data-line-number-content="">596</span></div><div data-line-type="change-addition" data-column-number="597" data-line-index="596,596"><span data-line-number-content="">597</span></div><div data-line-type="change-addition" data-column-number="598" data-line-index="597,597"><span data-line-number-content="">598</span></div><div data-line-type="change-addition" data-column-number="599" data-line-index="598,598"><span data-line-number-content="">599</span></div><div data-line-type="change-addition" data-column-number="600" data-line-index="599,599"><span data-line-number-content="">600</span></div><div data-line-type="change-addition" data-column-number="601" data-line-index="600,600"><span data-line-number-content="">601</span></div><div data-line-type="change-addition" data-column-number="602" data-line-index="601,601"><span data-line-number-content="">602</span></div><div data-line-type="change-addition" data-column-number="603" data-line-index="602,602"><span data-line-number-content="">603</span></div><div data-line-type="change-addition" data-column-number="604" data-line-index="603,603"><span data-line-number-content="">604</span></div><div data-line-type="change-addition" data-column-number="605" data-line-index="604,604"><span data-line-number-content="">605</span></div><div data-line-type="change-addition" data-column-number="606" data-line-index="605,605"><span data-line-number-content="">606</span></div><div data-line-type="change-addition" data-column-number="607" data-line-index="606,606"><span data-line-number-content="">607</span></div><div data-line-type="change-addition" data-column-number="608" data-line-index="607,607"><span data-line-number-content="">608</span></div><div data-line-type="change-addition" data-column-number="609" data-line-index="608,608"><span data-line-number-content="">609</span></div><div data-line-type="change-addition" data-column-number="610" data-line-index="609,609"><span data-line-number-content="">610</span></div><div data-line-type="change-addition" data-column-number="611" data-line-index="610,610"><span data-line-number-content="">611</span></div><div data-line-type="change-addition" data-column-number="612" data-line-index="611,611"><span data-line-number-content="">612</span></div><div data-line-type="change-addition" data-column-number="613" data-line-index="612,612"><span data-line-number-content="">613</span></div><div data-line-type="change-addition" data-column-number="614" data-line-index="613,613"><span data-line-number-content="">614</span></div><div data-line-type="change-addition" data-column-number="615" data-line-index="614,614"><span data-line-number-content="">615</span></div><div data-line-type="change-addition" data-column-number="616" data-line-index="615,615"><span data-line-number-content="">616</span></div><div data-line-type="change-addition" data-column-number="617" data-line-index="616,616"><span data-line-number-content="">617</span></div><div data-line-type="change-addition" data-column-number="618" data-line-index="617,617"><span data-line-number-content="">618</span></div><div data-line-type="change-addition" data-column-number="619" data-line-index="618,618"><span data-line-number-content="">619</span></div><div data-line-type="change-addition" data-column-number="620" data-line-index="619,619"><span data-line-number-content="">620</span></div><div data-line-type="change-addition" data-column-number="621" data-line-index="620,620"><span data-line-number-content="">621</span></div><div data-line-type="change-addition" data-column-number="622" data-line-index="621,621"><span data-line-number-content="">622</span></div><div data-line-type="change-addition" data-column-number="623" data-line-index="622,622"><span data-line-number-content="">623</span></div><div data-line-type="change-addition" data-column-number="624" data-line-index="623,623"><span data-line-number-content="">624</span></div><div data-line-type="context" data-column-number="625" data-line-index="624,624"><span data-line-number-content="">625</span></div><div data-line-type="context" data-column-number="626" data-line-index="625,625"><span data-line-number-content="">626</span></div><div data-line-type="context" data-column-number="627" data-line-index="626,626"><span data-line-number-content="">627</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">3937 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="4565" data-line-index="4564,4564"><span data-line-number-content="">4565</span></div><div data-line-type="context" data-column-number="4566" data-line-index="4565,4565"><span data-line-number-content="">4566</span></div><div data-line-type="context" data-column-number="4567" data-line-index="4566,4566"><span data-line-number-content="">4567</span></div><div data-line-type="change-addition" data-column-number="4568" data-line-index="4568,4567"><span data-line-number-content="">4568</span></div><div data-line-type="context" data-column-number="4569" data-line-index="4569,4568"><span data-line-number-content="">4569</span></div><div data-line-type="context" data-column-number="4570" data-line-index="4570,4569"><span data-line-number-content="">4570</span></div><div data-line-type="context" data-column-number="4571" data-line-index="4571,4570"><span data-line-number-content="">4571</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1815 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6387" data-line-index="6387,6386"><span data-line-number-content="">6387</span></div><div data-line-type="context" data-column-number="6388" data-line-index="6388,6387"><span data-line-number-content="">6388</span></div><div data-line-type="context" data-column-number="6389" data-line-index="6389,6388"><span data-line-number-content="">6389</span></div><div data-line-type="change-addition" data-column-number="6390" data-line-index="6390,6389"><span data-line-number-content="">6390</span></div><div data-line-type="context" data-column-number="6391" data-line-index="6391,6390"><span data-line-number-content="">6391</span></div><div data-line-type="context" data-column-number="6392" data-line-index="6392,6391"><span data-line-number-content="">6392</span></div><div data-line-type="change-addition" data-column-number="6393" data-line-index="6393,6392"><span data-line-number-content="">6393</span></div><div data-line-type="context" data-column-number="6394" data-line-index="6394,6393"><span data-line-number-content="">6394</span></div><div data-line-type="context" data-column-number="6395" data-line-index="6395,6394"><span data-line-number-content="">6395</span></div><div data-line-type="context" data-column-number="6396" data-line-index="6396,6395"><span data-line-number-content="">6396</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">59 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6456" data-line-index="6456,6455"><span data-line-number-content="">6456</span></div><div data-line-type="context" data-column-number="6457" data-line-index="6457,6456"><span data-line-number-content="">6457</span></div><div data-line-type="context" data-column-number="6458" data-line-index="6458,6457"><span data-line-number-content="">6458</span></div><div data-line-type="change-addition" data-column-number="6459" data-line-index="6459,6458"><span data-line-number-content="">6459</span></div><div data-line-type="change-addition" data-column-number="6460" data-line-index="6460,6459"><span data-line-number-content="">6460</span></div><div data-line-type="change-addition" data-column-number="6461" data-line-index="6461,6460"><span data-line-number-content="">6461</span></div><div data-line-type="context" data-column-number="6462" data-line-index="6462,6461"><span data-line-number-content="">6462</span></div><div data-line-type="context" data-column-number="6463" data-line-index="6463,6462"><span data-line-number-content="">6463</span></div><div data-line-type="context" data-column-number="6464" data-line-index="6464,6463"><span data-line-number-content="">6464</span></div><div data-line-type="context" data-column-number="6465" data-line-index="6465,6464"><span data-line-number-content="">6465</span></div><div data-line-type="context" data-column-number="6466" data-line-index="6466,6465"><span data-line-number-content="">6466</span></div><div data-line-type="change-addition" data-column-number="6467" data-line-index="6467,6466"><span data-line-number-content="">6467</span></div><div data-line-type="context" data-column-number="6468" data-line-index="6468,6467"><span data-line-number-content="">6468</span></div><div data-line-type="context" data-column-number="6469" data-line-index="6469,6468"><span data-line-number-content="">6469</span></div><div data-line-type="context" data-column-number="6470" data-line-index="6470,6469"><span data-line-number-content="">6470</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">98 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6569" data-line-index="6569,6568"><span data-line-number-content="">6569</span></div><div data-line-type="context" data-column-number="6570" data-line-index="6570,6569"><span data-line-number-content="">6570</span></div><div data-line-type="context" data-column-number="6571" data-line-index="6571,6570"><span data-line-number-content="">6571</span></div><div data-line-type="change-addition" data-column-number="6572" data-line-index="6572,6571"><span data-line-number-content="">6572</span></div><div data-line-type="context" data-column-number="6573" data-line-index="6573,6572"><span data-line-number-content="">6573</span></div><div data-line-type="context" data-column-number="6574" data-line-index="6574,6573"><span data-line-number-content="">6574</span></div><div data-line-type="context" data-column-number="6575" data-line-index="6575,6574"><span data-line-number-content="">6575</span></div><div data-line-type="context" data-column-number="6576" data-line-index="6576,6575"><span data-line-number-content="">6576</span></div><div data-line-type="context" data-column-number="6577" data-line-index="6577,6576"><span data-line-number-content="">6577</span></div><div data-line-type="change-addition" data-column-number="6578" data-line-index="6590,6577"><span data-line-number-content="">6578</span></div><div data-gutter-buffer="buffer" data-buffer-size="11" style="grid-row: span 11;min-height:calc(11 * 1lh);"></div><div data-line-type="context" data-column-number="6579" data-line-index="6591,6589"><span data-line-number-content="">6579</span></div><div data-line-type="context" data-column-number="6580" data-line-index="6592,6590"><span data-line-number-content="">6580</span></div><div data-line-type="context" data-column-number="6581" data-line-index="6593,6591"><span data-line-number-content="">6581</span></div><div data-line-type="change-addition" data-column-number="6582" data-line-index="6597,6592"><span data-line-number-content="">6582</span></div><div data-gutter-buffer="buffer" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh);"></div><div data-line-type="context" data-column-number="6583" data-line-index="6598,6595"><span data-line-number-content="">6583</span></div><div data-line-type="context" data-column-number="6584" data-line-index="6599,6596"><span data-line-number-content="">6584</span></div><div data-line-type="context" data-column-number="6585" data-line-index="6600,6597"><span data-line-number-content="">6585</span></div><div data-line-type="context" data-column-number="6586" data-line-index="6601,6598"><span data-line-number-content="">6586</span></div><div data-line-type="context" data-column-number="6587" data-line-index="6602,6599"><span data-line-number-content="">6587</span></div><div data-line-type="context" data-column-number="6588" data-line-index="6603,6600"><span data-line-number-content="">6588</span></div><div data-line-type="change-addition" data-column-number="6589" data-line-index="6604,6601"><span data-line-number-content="">6589</span></div><div data-line-type="change-addition" data-column-number="6590" data-line-index="6605,6602"><span data-line-number-content="">6590</span></div><div data-line-type="change-addition" data-column-number="6591" data-line-index="6606,6603"><span data-line-number-content="">6591</span></div><div data-line-type="context" data-column-number="6592" data-line-index="6607,6604"><span data-line-number-content="">6592</span></div><div data-line-type="context" data-column-number="6593" data-line-index="6608,6605"><span data-line-number-content="">6593</span></div><div data-line-type="context" data-column-number="6594" data-line-index="6609,6606"><span data-line-number-content="">6594</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6597" data-line-index="6612,6609"><span data-line-number-content="">6597</span></div><div data-line-type="context" data-column-number="6598" data-line-index="6613,6610"><span data-line-number-content="">6598</span></div><div data-line-type="context" data-column-number="6599" data-line-index="6614,6611"><span data-line-number-content="">6599</span></div><div data-line-type="change-addition" data-column-number="6600" data-line-index="6635,6612"><span data-line-number-content="">6600</span></div><div data-line-type="change-addition" data-column-number="6601" data-line-index="6636,6613"><span data-line-number-content="">6601</span></div><div data-line-type="change-addition" data-column-number="6602" data-line-index="6637,6614"><span data-line-number-content="">6602</span></div><div data-line-type="change-addition" data-column-number="6603" data-line-index="6638,6615"><span data-line-number-content="">6603</span></div><div data-line-type="change-addition" data-column-number="6604" data-line-index="6639,6616"><span data-line-number-content="">6604</span></div><div data-line-type="change-addition" data-column-number="6605" data-line-index="6640,6617"><span data-line-number-content="">6605</span></div><div data-line-type="change-addition" data-column-number="6606" data-line-index="6641,6618"><span data-line-number-content="">6606</span></div><div data-gutter-buffer="buffer" data-buffer-size="13" style="grid-row: span 13;min-height:calc(13 * 1lh);"></div><div data-line-type="context" data-column-number="6607" data-line-index="6642,6632"><span data-line-number-content="">6607</span></div><div data-line-type="change-addition" data-column-number="6608" data-line-index="6653,6633"><span data-line-number-content="">6608</span></div><div data-line-type="change-addition" data-column-number="6609" data-line-index="6654,6634"><span data-line-number-content="">6609</span></div><div data-line-type="change-addition" data-column-number="6610" data-line-index="6655,6635"><span data-line-number-content="">6610</span></div><div data-line-type="change-addition" data-column-number="6611" data-line-index="6656,6636"><span data-line-number-content="">6611</span></div><div data-line-type="change-addition" data-column-number="6612" data-line-index="6657,6637"><span data-line-number-content="">6612</span></div><div data-line-type="change-addition" data-column-number="6613" data-line-index="6658,6638"><span data-line-number-content="">6613</span></div><div data-line-type="change-addition" data-column-number="6614" data-line-index="6659,6639"><span data-line-number-content="">6614</span></div><div data-line-type="change-addition" data-column-number="6615" data-line-index="6660,6640"><span data-line-number-content="">6615</span></div><div data-line-type="change-addition" data-column-number="6616" data-line-index="6661,6641"><span data-line-number-content="">6616</span></div><div data-line-type="change-addition" data-column-number="6617" data-line-index="6662,6642"><span data-line-number-content="">6617</span></div><div data-line-type="change-addition" data-column-number="6618" data-line-index="6663,6643"><span data-line-number-content="">6618</span></div><div data-line-type="change-addition" data-column-number="6619" data-line-index="6664,6644"><span data-line-number-content="">6619</span></div><div data-line-type="change-addition" data-column-number="6620" data-line-index="6665,6645"><span data-line-number-content="">6620</span></div><div data-line-type="change-addition" data-column-number="6621" data-line-index="6666,6646"><span data-line-number-content="">6621</span></div><div data-line-type="context" data-column-number="6622" data-line-index="6667,6647"><span data-line-number-content="">6622</span></div><div data-line-type="context" data-column-number="6623" data-line-index="6668,6648"><span data-line-number-content="">6623</span></div><div data-line-type="context" data-column-number="6624" data-line-index="6669,6649"><span data-line-number-content="">6624</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">302 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6927" data-line-index="6972,6952"><span data-line-number-content="">6927</span></div><div data-line-type="context" data-column-number="6928" data-line-index="6973,6953"><span data-line-number-content="">6928</span></div><div data-line-type="context" data-column-number="6929" data-line-index="6974,6954"><span data-line-number-content="">6929</span></div><div data-line-type="change-addition" data-column-number="6930" data-line-index="6975,6955"><span data-line-number-content="">6930</span></div><div data-line-type="context" data-column-number="6931" data-line-index="6976,6956"><span data-line-number-content="">6931</span></div><div data-line-type="context" data-column-number="6932" data-line-index="6977,6957"><span data-line-number-content="">6932</span></div><div data-line-type="context" data-column-number="6933" data-line-index="6978,6958"><span data-line-number-content="">6933</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="6935" data-line-index="6980,6960"><span data-line-number-content="">6935</span></div><div data-line-type="context" data-column-number="6936" data-line-index="6981,6961"><span data-line-number-content="">6936</span></div><div data-line-type="context" data-column-number="6937" data-line-index="6982,6962"><span data-line-number-content="">6937</span></div><div data-line-type="change-addition" data-column-number="6938" data-line-index="6995,6963"><span data-line-number-content="">6938</span></div><div data-gutter-buffer="buffer" data-buffer-size="11" style="grid-row: span 11;min-height:calc(11 * 1lh);"></div><div data-line-type="context" data-column-number="6939" data-line-index="6996,6975"><span data-line-number-content="">6939</span></div><div data-line-type="context" data-column-number="6940" data-line-index="6997,6976"><span data-line-number-content="">6940</span></div><div data-line-type="context" data-column-number="6941" data-line-index="6998,6977"><span data-line-number-content="">6941</span></div><div data-line-type="change-addition" data-column-number="6942" data-line-index="7002,6978"><span data-line-number-content="">6942</span></div><div data-gutter-buffer="buffer" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh);"></div><div data-line-type="context" data-column-number="6943" data-line-index="7003,6981"><span data-line-number-content="">6943</span></div><div data-line-type="context" data-column-number="6944" data-line-index="7004,6982"><span data-line-number-content="">6944</span></div><div data-line-type="context" data-column-number="6945" data-line-index="7005,6983"><span data-line-number-content="">6945</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="6947" data-line-index="7007,6985"><span data-line-number-content="">6947</span></div><div data-line-type="context" data-column-number="6948" data-line-index="7008,6986"><span data-line-number-content="">6948</span></div><div data-line-type="context" data-column-number="6949" data-line-index="7009,6987"><span data-line-number-content="">6949</span></div><div data-line-type="change-addition" data-column-number="6950" data-line-index="7010,6988"><span data-line-number-content="">6950</span></div><div data-line-type="change-addition" data-column-number="6951" data-line-index="7011,6989"><span data-line-number-content="">6951</span></div><div data-line-type="change-addition" data-column-number="6952" data-line-index="7012,6990"><span data-line-number-content="">6952</span></div><div data-line-type="context" data-column-number="6953" data-line-index="7013,6991"><span data-line-number-content="">6953</span></div><div data-line-type="context" data-column-number="6954" data-line-index="7014,6992"><span data-line-number-content="">6954</span></div><div data-line-type="context" data-column-number="6955" data-line-index="7015,6993"><span data-line-number-content="">6955</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="6958" data-line-index="7018,6996"><span data-line-number-content="">6958</span></div><div data-line-type="context" data-column-number="6959" data-line-index="7019,6997"><span data-line-number-content="">6959</span></div><div data-line-type="context" data-column-number="6960" data-line-index="7020,6998"><span data-line-number-content="">6960</span></div><div data-line-type="change-addition" data-column-number="6961" data-line-index="7023,6999"><span data-line-number-content="">6961</span></div><div data-line-type="change-addition" data-column-number="6962" data-line-index="7024,7000"><span data-line-number-content="">6962</span></div><div data-line-type="change-addition" data-column-number="6963" data-line-index="7025,7001"><span data-line-number-content="">6963</span></div><div data-line-type="change-addition" data-column-number="6964" data-line-index="7026,7002"><span data-line-number-content="">6964</span></div><div data-line-type="change-addition" data-column-number="6965" data-line-index="7027,7003"><span data-line-number-content="">6965</span></div><div data-line-type="change-addition" data-column-number="6966" data-line-index="7028,7004"><span data-line-number-content="">6966</span></div><div data-line-type="change-addition" data-column-number="6967" data-line-index="7029,7005"><span data-line-number-content="">6967</span></div><div data-line-type="change-addition" data-column-number="6968" data-line-index="7030,7006"><span data-line-number-content="">6968</span></div><div data-line-type="change-addition" data-column-number="6969" data-line-index="7031,7007"><span data-line-number-content="">6969</span></div><div data-line-type="change-addition" data-column-number="6970" data-line-index="7032,7008"><span data-line-number-content="">6970</span></div><div data-line-type="change-addition" data-column-number="6971" data-line-index="7033,7009"><span data-line-number-content="">6971</span></div><div data-line-type="change-addition" data-column-number="6972" data-line-index="7034,7010"><span data-line-number-content="">6972</span></div><div data-line-type="change-addition" data-column-number="6973" data-line-index="7035,7011"><span data-line-number-content="">6973</span></div><div data-line-type="change-addition" data-column-number="6974" data-line-index="7036,7012"><span data-line-number-content="">6974</span></div><div data-line-type="change-addition" data-column-number="6975" data-line-index="7037,7013"><span data-line-number-content="">6975</span></div><div data-line-type="change-addition" data-column-number="6976" data-line-index="7038,7014"><span data-line-number-content="">6976</span></div><div data-line-type="change-addition" data-column-number="6977" data-line-index="7039,7015"><span data-line-number-content="">6977</span></div><div data-line-type="change-addition" data-column-number="6978" data-line-index="7040,7016"><span data-line-number-content="">6978</span></div><div data-line-type="change-addition" data-column-number="6979" data-line-index="7041,7017"><span data-line-number-content="">6979</span></div><div data-line-type="change-addition" data-column-number="6980" data-line-index="7042,7018"><span data-line-number-content="">6980</span></div><div data-line-type="context" data-column-number="6981" data-line-index="7043,7019"><span data-line-number-content="">6981</span></div><div data-line-type="context" data-column-number="6982" data-line-index="7044,7020"><span data-line-number-content="">6982</span></div><div data-line-type="change-addition" data-column-number="6983" data-line-index="7074,7021"><span data-line-number-content="">6983</span></div><div data-gutter-buffer="buffer" data-buffer-size="28" style="grid-row: span 28;min-height:calc(28 * 1lh);"></div><div data-line-type="context" data-column-number="6984" data-line-index="7075,7050"><span data-line-number-content="">6984</span></div><div data-line-type="context" data-column-number="6985" data-line-index="7076,7051"><span data-line-number-content="">6985</span></div><div data-line-type="context" data-column-number="6986" data-line-index="7077,7052"><span data-line-number-content="">6986</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">873 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="7860" data-line-index="7951,7926"><span data-line-number-content="">7860</span></div><div data-line-type="context" data-column-number="7861" data-line-index="7952,7927"><span data-line-number-content="">7861</span></div><div data-line-type="context" data-column-number="7862" data-line-index="7953,7928"><span data-line-number-content="">7862</span></div><div data-line-type="change-addition" data-column-number="7863" data-line-index="7956,7929"><span data-line-number-content="">7863</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="7864" data-line-index="7957,7931"><span data-line-number-content="">7864</span></div><div data-line-type="context" data-column-number="7865" data-line-index="7958,7932"><span data-line-number-content="">7865</span></div><div data-line-type="change-addition" data-column-number="7866" data-line-index="7959,7933"><span data-line-number-content="">7866</span></div><div data-line-type="change-addition" data-column-number="7867" data-line-index="7960,7934"><span data-line-number-content="">7867</span></div><div data-line-type="context" data-column-number="7868" data-line-index="7961,7935"><span data-line-number-content="">7868</span></div><div data-line-type="context" data-column-number="7869" data-line-index="7962,7936"><span data-line-number-content="">7869</span></div><div data-line-type="context" data-column-number="7870" data-line-index="7963,7937"><span data-line-number-content="">7870</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">13 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="7884" data-line-index="7977,7951"><span data-line-number-content="">7884</span></div><div data-line-type="context" data-column-number="7885" data-line-index="7978,7952"><span data-line-number-content="">7885</span></div><div data-line-type="context" data-column-number="7886" data-line-index="7979,7953"><span data-line-number-content="">7886</span></div><div data-line-type="change-addition" data-column-number="7887" data-line-index="7981,7954"><span data-line-number-content="">7887</span></div><div data-line-type="context" data-column-number="7888" data-line-index="7982,7955"><span data-line-number-content="">7888</span></div><div data-line-type="context" data-column-number="7889" data-line-index="7983,7956"><span data-line-number-content="">7889</span></div><div data-line-type="context" data-column-number="7890" data-line-index="7984,7957"><span data-line-number-content="">7890</span></div></div><div data-content="" style="grid-row: span 327"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">540 unmodified lines</span></div></div></div><div data-line="541" data-alt-line="541" data-line-type="context" data-line-index="540,540"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="542" data-alt-line="542" data-line-type="context" data-line-index="541,541"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="543" data-alt-line="543" data-line-type="context" data-line-index="542,542">
|
|
</div><div data-line="544" data-line-type="change-addition" data-line-index="543,543"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> OPTION_PRINT_LOOKUP_BATCH_SIZE</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 100</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="545" data-line-type="change-addition" data-line-index="544,544"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> FLOW_PACKET_LOOKUP_BATCH_SIZE</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 12</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="546" data-line-type="change-addition" data-line-index="545,545">
|
|
</div><div data-line="547" data-line-type="change-addition" data-line-index="546,546"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> unknown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> boolean</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="548" data-line-type="change-addition" data-line-index="547,547"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="549" data-line-type="change-addition" data-line-index="548,548"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> typeof</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "object"</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span></div><div data-line="550" data-line-type="change-addition" data-line-index="549,549"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !==</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span></div><div data-line="551" data-line-type="change-addition" data-line-index="550,550"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "name"</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> in</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span></div><div data-line="552" data-line-type="change-addition" data-line-index="551,551"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> as</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> name</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> unknown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }).</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">name</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "AbortError"</span></div><div data-line="553" data-line-type="change-addition" data-line-index="552,552"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="554" data-line-type="change-addition" data-line-index="553,553"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="555" data-line-type="change-addition" data-line-index="554,554">
|
|
</div><div data-line="556" data-line-type="change-addition" data-line-index="555,555"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> uniqueNonEmpty</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">items</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="557" data-line-type="change-addition" data-line-index="556,556"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">items</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">trim</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">Boolean</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)));</span></div><div data-line="558" data-line-type="change-addition" data-line-index="557,557"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="559" data-line-type="change-addition" data-line-index="558,558">
|
|
</div><div data-line="560" data-line-type="change-addition" data-line-index="559,559"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> chunkItems</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> &#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">T</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,>(</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">items</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> T</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[],</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> size</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> number</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> T</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[][]</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="561" data-line-type="change-addition" data-line-index="560,560"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> chunks</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> T</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[][]</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [];</span></div><div data-line="562" data-line-type="change-addition" data-line-index="561,561"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">let</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> index</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> index</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x3C;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> items</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> index</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> +=</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> size</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="563" data-line-type="change-addition" data-line-index="562,562"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> chunks</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">push</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">items</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">slice</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">index</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> index</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> +</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> size</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="564" data-line-type="change-addition" data-line-index="563,563"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="565" data-line-type="change-addition" data-line-index="564,564"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> chunks</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="566" data-line-type="change-addition" data-line-index="565,565"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="567" data-line-type="change-addition" data-line-index="566,566">
|
|
</div><div data-line="568" data-line-type="change-addition" data-line-index="567,567"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetchFlowPacketsByIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="569" data-line-type="change-addition" data-line-index="568,568"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> packetIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[],</span></div><div data-line="570" data-line-type="change-addition" data-line-index="569,569"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> signal</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> AbortSignal</span></div><div data-line="571" data-line-type="change-addition" data-line-index="570,570"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="572" data-line-type="change-addition" data-line-index="571,571"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [];</span></div><div data-line="573" data-line-type="change-addition" data-line-index="572,572"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> batch</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> chunkItems</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">uniqueNonEmpty</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packetIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> FLOW_PACKET_LOOKUP_BATCH_SIZE</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="574" data-line-type="change-addition" data-line-index="573,573"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">?.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="575" data-line-type="change-addition" data-line-index="574,574"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> break</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="576" data-line-type="change-addition" data-line-index="575,575"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="577" data-line-type="change-addition" data-line-index="576,576"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> batchPackets</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">all</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="578" data-line-type="change-addition" data-line-index="577,577"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> batch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="579" data-line-type="change-addition" data-line-index="578,578"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">/flow/packets/</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">${</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">encodeURIComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packetId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="580" data-line-type="change-addition" data-line-index="579,579"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> signal</span></div><div data-line="581" data-line-type="change-addition" data-line-index="580,580"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="582" data-line-type="change-addition" data-line-index="581,581"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="583" data-line-type="change-addition" data-line-index="582,582"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="584" data-line-type="change-addition" data-line-index="583,583"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="585" data-line-type="change-addition" data-line-index="584,584"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> payload</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> as</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="586" data-line-type="change-addition" data-line-index="585,585"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="587" data-line-type="change-addition" data-line-index="586,586"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="588" data-line-type="change-addition" data-line-index="587,587"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="589" data-line-type="change-addition" data-line-index="588,588"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packet</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> batchPackets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="590" data-line-type="change-addition" data-line-index="589,589"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="591" data-line-type="change-addition" data-line-index="590,590"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">push</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="592" data-line-type="change-addition" data-line-index="591,591"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="593" data-line-type="change-addition" data-line-index="592,592"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="594" data-line-type="change-addition" data-line-index="593,593"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="595" data-line-type="change-addition" data-line-index="594,594"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="596" data-line-type="change-addition" data-line-index="595,595"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="597" data-line-type="change-addition" data-line-index="596,596">
|
|
</div><div data-line="598" data-line-type="change-addition" data-line-index="597,597"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetchOptionPrintsByTraceIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="599" data-line-type="change-addition" data-line-index="598,598"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> traceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[],</span></div><div data-line="600" data-line-type="change-addition" data-line-index="599,599"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> signal</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> AbortSignal</span></div><div data-line="601" data-line-type="change-addition" data-line-index="600,600"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="602" data-line-type="change-addition" data-line-index="601,601"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [];</span></div><div data-line="603" data-line-type="change-addition" data-line-index="602,602"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> batch</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> chunkItems</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">uniqueNonEmpty</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">traceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> OPTION_PRINT_LOOKUP_BATCH_SIZE</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="604" data-line-type="change-addition" data-line-index="603,603"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">?.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="605" data-line-type="change-addition" data-line-index="604,604"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> break</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="606" data-line-type="change-addition" data-line-index="605,605"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="607" data-line-type="change-addition" data-line-index="606,606"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> url</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"/option-prints/by-trace"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="608" data-line-type="change-addition" data-line-index="607,607"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> traceId</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> batch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="609" data-line-type="change-addition" data-line-index="608,608"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">append</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"trace_id"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> traceId</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="610" data-line-type="change-addition" data-line-index="609,609"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="611" data-line-type="change-addition" data-line-index="610,610"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="612" data-line-type="change-addition" data-line-index="611,611"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="613" data-line-type="change-addition" data-line-index="612,612"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> throw</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readErrorDetail</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="614" data-line-type="change-addition" data-line-index="613,613"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="615" data-line-type="change-addition" data-line-index="614,614"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> payload</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">await</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">json</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> as</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> data</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">[]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="616" data-line-type="change-addition" data-line-index="615,615"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> item</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> payload</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">data</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [])</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="617" data-line-type="change-addition" data-line-index="616,616"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">?.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="618" data-line-type="change-addition" data-line-index="617,617"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">push</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="619" data-line-type="change-addition" data-line-index="618,618"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="620" data-line-type="change-addition" data-line-index="619,619"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="621" data-line-type="change-addition" data-line-index="620,620"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="622" data-line-type="change-addition" data-line-index="621,621"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="623" data-line-type="change-addition" data-line-index="622,622"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="624" data-line-type="change-addition" data-line-index="623,623">
|
|
</div><div data-line="625" data-alt-line="544" data-line-type="context" data-line-index="624,624"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">type</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> WsStatus</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "connecting"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "connected"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "disconnected"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "stale"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="626" data-alt-line="545" data-line-type="context" data-line-index="625,625">
|
|
</div><div data-line="627" data-alt-line="546" data-line-type="context" data-line-index="626,626"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">type</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> TapeMode</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "live"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "replay"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">3937 unmodified lines</span></div></div></div><div data-line="4565" data-alt-line="4484" data-line-type="context" data-line-index="4564,4564"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"underlying_id"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> ticker</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="4566" data-alt-line="4485" data-line-type="context" data-line-index="4565,4565"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"start_ts"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Math</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">floor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">startTs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">());</span></div><div data-line="4567" data-alt-line="4486" data-line-type="context" data-line-index="4566,4566"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"end_ts"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Math</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">floor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">endTs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">());</span></div><div data-line="4568" data-line-type="change-addition" data-line-index="4568,4567"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">searchParams</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"limit"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">1000</span></span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="4569" data-alt-line="4488" data-line-type="context" data-line-index="4569,4568">
|
|
</div><div data-line="4570" data-alt-line="4489" data-line-type="context" data-line-index="4570,4569"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toString</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="4571" data-alt-line="4490" data-line-type="context" data-line-index="4571,4570"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">ok</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1815 unmodified lines</span></div></div></div><div data-line="6387" data-alt-line="6306" data-line-type="context" data-line-index="6387,6386"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6388" data-alt-line="6307" data-line-type="context" data-line-index="6388,6387">
|
|
</div><div data-line="6389" data-alt-line="6308" data-line-type="context" data-line-index="6389,6388"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> let</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> cancelled</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6390" data-line-type="change-addition" data-line-index="6390,6389"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> abort</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> AbortController</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6391" data-alt-line="6309" data-line-type="context" data-line-index="6391,6390"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">buildApiUrl</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"/lookup/options-support"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6392" data-alt-line="6310" data-line-type="context" data-line-index="6392,6391"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> method</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "POST"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="6393" data-line-type="change-addition" data-line-index="6393,6392"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="6394" data-alt-line="6311" data-line-type="context" data-line-index="6394,6393"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "content-type"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "application/json"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span></div><div data-line="6395" data-alt-line="6312" data-line-type="context" data-line-index="6395,6394"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> body</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> JSON</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">stringify</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span></div><div data-line="6396" data-alt-line="6313" data-line-type="context" data-line-index="6396,6395"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> trace_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> uniqueTraceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">59 unmodified lines</span></div></div></div><div data-line="6456" data-alt-line="6373" data-line-type="context" data-line-index="6456,6455"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6457" data-alt-line="6374" data-line-type="context" data-line-index="6457,6456"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> })</span></div><div data-line="6458" data-alt-line="6375" data-line-type="context" data-line-index="6458,6457"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6459" data-line-type="change-addition" data-line-index="6459,6458"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cancelled</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6460" data-line-type="change-addition" data-line-index="6460,6459"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6461" data-line-type="change-addition" data-line-index="6461,6460"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6462" data-alt-line="6376" data-line-type="context" data-line-index="6462,6461"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to hydrate option row support"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6463" data-alt-line="6377" data-line-type="context" data-line-index="6463,6462"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="6464" data-alt-line="6378" data-line-type="context" data-line-index="6464,6463">
|
|
</div><div data-line="6465" data-alt-line="6379" data-line-type="context" data-line-index="6465,6464"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6466" data-alt-line="6380" data-line-type="context" data-line-index="6466,6465"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> cancelled</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> true</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6467" data-line-type="change-addition" data-line-index="6467,6466"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6468" data-alt-line="6381" data-line-type="context" data-line-index="6468,6467"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="6469" data-alt-line="6382" data-line-type="context" data-line-index="6469,6468"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span></div><div data-line="6470" data-alt-line="6383" data-line-type="context" data-line-index="6470,6469"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">98 unmodified lines</span></div></div></div><div data-line="6569" data-alt-line="6482" data-line-type="context" data-line-index="6569,6568"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6570" data-alt-line="6483" data-line-type="context" data-line-index="6570,6569"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6571" data-alt-line="6484" data-line-type="context" data-line-index="6571,6570">
|
|
</div><div data-line="6572" data-line-type="change-addition" data-line-index="6572,6571"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> abort</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> AbortController</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6573" data-alt-line="6485" data-line-type="context" data-line-index="6573,6572"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6574" data-alt-line="6486" data-line-type="context" data-line-index="6574,6573"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6575" data-alt-line="6487" data-line-type="context" data-line-index="6575,6574"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6576" data-alt-line="6488" data-line-type="context" data-line-index="6576,6575"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6577" data-alt-line="6489" data-line-type="context" data-line-index="6577,6576"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6578" data-line-type="change-addition" data-line-index="6590,6577"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">fetchFlowPacketsByIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span></div><div data-content-buffer="" data-buffer-size="11" style="grid-row: span 11;min-height:calc(11 * 1lh)"></div><div data-line="6579" data-alt-line="6502" data-line-type="context" data-line-index="6591,6589"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6580" data-alt-line="6503" data-line-type="context" data-line-index="6592,6590"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6581" data-alt-line="6504" data-line-type="context" data-line-index="6593,6591"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packet</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6582" data-line-type="change-addition" data-line-index="6597,6592"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span></span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-content-buffer="" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh)"></div><div data-line="6583" data-alt-line="6508" data-line-type="context" data-line-index="6598,6595"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6584" data-alt-line="6509" data-line-type="context" data-line-index="6599,6596"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6585" data-alt-line="6510" data-line-type="context" data-line-index="6600,6597"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()));</span></div><div data-line="6586" data-alt-line="6511" data-line-type="context" data-line-index="6601,6598"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6587" data-alt-line="6512" data-line-type="context" data-line-index="6602,6599"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6588" data-alt-line="6513" data-line-type="context" data-line-index="6603,6600"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6589" data-line-type="change-addition" data-line-index="6604,6601"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6590" data-line-type="change-addition" data-line-index="6605,6602"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6591" data-line-type="change-addition" data-line-index="6606,6603"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6592" data-alt-line="6514" data-line-type="context" data-line-index="6607,6604"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6593" data-alt-line="6515" data-line-type="context" data-line-index="6608,6605"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to fetch smart-money flow packets"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6594" data-alt-line="6516" data-line-type="context" data-line-index="6609,6606"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="6597" data-alt-line="6519" data-line-type="context" data-line-index="6612,6609"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPrintIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">member_print_ids</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6598" data-alt-line="6520" data-line-type="context" data-line-index="6613,6610"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6599" data-alt-line="6521" data-line-type="context" data-line-index="6614,6611"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6600" data-line-type="change-addition" data-line-index="6635,6612"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">></span></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6601" data-line-type="change-addition" data-line-index="6636,6613"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6602" data-line-type="change-addition" data-line-index="6637,6614"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetchOptionPrintsByTraceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span></div><div data-line="6603" data-line-type="change-addition" data-line-index="6638,6615"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6604" data-line-type="change-addition" data-line-index="6639,6616"><span data-diff-span=""><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> </span></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">next</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>()</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6605" data-line-type="change-addition" data-line-index="6640,6617"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">item</span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prints</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6606" data-line-type="change-addition" data-line-index="6641,6618"><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-content-buffer="" data-buffer-size="13" style="grid-row: span 13;min-height:calc(13 * 1lh)"></div><div data-line="6607" data-alt-line="6542" data-line-type="context" data-line-index="6642,6632"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6608" data-line-type="change-addition" data-line-index="6653,6633"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6609" data-line-type="change-addition" data-line-index="6654,6634"><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()));</span></span></div><div data-line="6610" data-line-type="change-addition" data-line-index="6655,6635"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span></div><div data-line="6611" data-line-type="change-addition" data-line-index="6656,6636"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></span></div><div data-line="6612" data-line-type="change-addition" data-line-index="6657,6637"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6613" data-line-type="change-addition" data-line-index="6658,6638"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="6614" data-line-type="change-addition" data-line-index="6659,6639"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></span></div><div data-line="6615" data-line-type="change-addition" data-line-index="6660,6640"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span></div><div data-line="6616" data-line-type="change-addition" data-line-index="6661,6641"><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">pinnedFetchFailures</span></span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">1</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6617" data-line-type="change-addition" data-line-index="6662,6642"><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to fetch smart-money option prints"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6618" data-line-type="change-addition" data-line-index="6663,6643"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="6619" data-line-type="change-addition" data-line-index="6664,6644"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6620" data-line-type="change-addition" data-line-index="6665,6645">
|
|
</div><div data-line="6621" data-line-type="change-addition" data-line-index="6666,6646"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6622" data-alt-line="6553" data-line-type="context" data-line-index="6667,6647"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> selectedSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">]</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6623" data-alt-line="6554" data-line-type="context" data-line-index="6668,6648">
|
|
</div><div data-line="6624" data-alt-line="6555" data-line-type="context" data-line-index="6669,6649"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> inferAlertUnderlying</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> useCallback</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">302 unmodified lines</span></div></div></div><div data-line="6927" data-alt-line="6858" data-line-type="context" data-line-index="6972,6952"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6928" data-alt-line="6859" data-line-type="context" data-line-index="6973,6953"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6929" data-alt-line="6860" data-line-type="context" data-line-index="6974,6954">
|
|
</div><div data-line="6930" data-line-type="change-addition" data-line-index="6975,6955"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> abort</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> AbortController</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6931" data-alt-line="6861" data-line-type="context" data-line-index="6976,6956"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> visiblePacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> visibleAlerts</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">flatMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">alert</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> getAlertFlowPacketRefs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">alert</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6932" data-alt-line="6862" data-line-type="context" data-line-index="6977,6957"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPacketIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">visiblePacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6933" data-alt-line="6863" data-line-type="context" data-line-index="6978,6958"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="6935" data-alt-line="6865" data-line-type="context" data-line-index="6980,6960">
|
|
</div><div data-line="6936" data-alt-line="6866" data-line-type="context" data-line-index="6981,6961"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6937" data-alt-line="6867" data-line-type="context" data-line-index="6982,6962"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6938" data-line-type="change-addition" data-line-index="6995,6963"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">fetchFlowPacketsByIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPacketIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span></div><div data-content-buffer="" data-buffer-size="11" style="grid-row: span 11;min-height:calc(11 * 1lh)"></div><div data-line="6939" data-alt-line="6880" data-line-type="context" data-line-index="6996,6975"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6940" data-alt-line="6881" data-line-type="context" data-line-index="6997,6976"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> FlowPacket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6941" data-alt-line="6882" data-line-type="context" data-line-index="6998,6977"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> packet</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> packets</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6942" data-line-type="change-addition" data-line-index="7002,6978"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> </span></span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">packet</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-content-buffer="" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh)"></div><div data-line="6943" data-alt-line="6886" data-line-type="context" data-line-index="7003,6981"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6944" data-alt-line="6887" data-line-type="context" data-line-index="7004,6982"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6945" data-alt-line="6888" data-line-type="context" data-line-index="7005,6983"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> now</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="6947" data-alt-line="6890" data-line-type="context" data-line-index="7007,6985"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="6948" data-alt-line="6891" data-line-type="context" data-line-index="7008,6986"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> })</span></div><div data-line="6949" data-alt-line="6892" data-line-type="context" data-line-index="7009,6987"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6950" data-line-type="change-addition" data-line-index="7010,6988"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6951" data-line-type="change-addition" data-line-index="7011,6989"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6952" data-line-type="change-addition" data-line-index="7012,6990"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6953" data-alt-line="6893" data-line-type="context" data-line-index="7013,6991"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6954" data-alt-line="6894" data-line-type="context" data-line-index="7014,6992"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to prefetch visible alert packets"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6955" data-alt-line="6895" data-line-type="context" data-line-index="7015,6993"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="6958" data-alt-line="6898" data-line-type="context" data-line-index="7018,6996"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> missingPrintIds</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">visibleAlertEvidenceRefs</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="6959" data-alt-line="6899" data-line-type="context" data-line-index="7019,6997"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedFlowPacketMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> !</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">resolvedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6960" data-alt-line="6900" data-line-type="context" data-line-index="7020,6998"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="6961" data-line-type="change-addition" data-line-index="7023,6999"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">></span></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6962" data-line-type="change-addition" data-line-index="7024,7000"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchMisses"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">length</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6963" data-line-type="change-addition" data-line-index="7025,7001"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> void</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> fetchOptionPrintsByTraceIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">missingPrintIds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6964" data-line-type="change-addition" data-line-index="7026,7002"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">then</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6965" data-line-type="change-addition" data-line-index="7027,7003"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> next</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> OptionPrint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="6966" data-line-type="change-addition" data-line-index="7028,7004"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> item</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> prints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6967" data-line-type="change-addition" data-line-index="7029,7005"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trace_id</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> item</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6968" data-line-type="change-addition" data-line-index="7030,7006"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6969" data-line-type="change-addition" data-line-index="7031,7007"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">size</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6970" data-line-type="change-addition" data-line-index="7032,7008"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> now</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Date</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="6971" data-line-type="change-addition" data-line-index="7033,7009"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> setPinnedOptionPrintMap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> upsertPinnedEntries</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">prev</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> next</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> now</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">));</span></div><div data-line="6972" data-line-type="change-addition" data-line-index="7034,7010"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6973" data-line-type="change-addition" data-line-index="7035,7011"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> })</span></div><div data-line="6974" data-line-type="change-addition" data-line-index="7036,7012"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6975" data-line-type="change-addition" data-line-index="7037,7013"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">signal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">aborted</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ||</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> isAbortLikeError</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="6976" data-line-type="change-addition" data-line-index="7038,7014"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="6977" data-line-type="change-addition" data-line-index="7039,7015"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6978" data-line-type="change-addition" data-line-index="7040,7016"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> incrementRetentionMetric</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"pinnedFetchFailures"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6979" data-line-type="change-addition" data-line-index="7041,7017"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> console</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">warn</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"Failed to prefetch visible alert evidence"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="6980" data-line-type="change-addition" data-line-index="7042,7018"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="6981" data-alt-line="6903" data-line-type="context" data-line-index="7043,7019"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="6982" data-alt-line="6904" data-line-type="context" data-line-index="7044,7020">
|
|
</div><div data-line="6983" data-line-type="change-addition" data-line-index="7074,7021"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">abort</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-content-buffer="" data-buffer-size="28" style="grid-row: span 28;min-height:calc(28 * 1lh)"></div><div data-line="6984" data-alt-line="6934" data-line-type="context" data-line-index="7075,7050"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span></div><div data-line="6985" data-alt-line="6935" data-line-type="context" data-line-index="7076,7051"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> mode</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="6986" data-alt-line="6936" data-line-type="context" data-line-index="7077,7052"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> visibleAlerts</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">873 unmodified lines</span></div></div></div><div data-line="7860" data-alt-line="7810" data-line-type="context" data-line-index="7951,7926"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> )</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="7861" data-alt-line="7811" data-line-type="context" data-line-index="7952,7927">
|
|
</div><div data-line="7862" data-alt-line="7812" data-line-type="context" data-line-index="7953,7928"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> decor</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="7863" data-line-type="change-addition" data-line-index="7956,7929"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> &#x3C;</span><span data-diff-span=""><span style="--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F">div</span></span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="7864" data-alt-line="7815" data-line-type="context" data-line-index="7957,7931"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">...</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">commonProps</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div><div data-line="7865" data-alt-line="7816" data-line-type="context" data-line-index="7958,7932"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> key</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">key</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div><div data-line="7866" data-line-type="change-addition" data-line-index="7959,7933"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> role</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"button"</span></div><div data-line="7867" data-line-type="change-addition" data-line-index="7960,7934"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> tabIndex</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div><div data-line="7868" data-alt-line="7817" data-line-type="context" data-line-index="7961,7935"><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> onClick</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">() </span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">=></span></div><div data-line="7869" data-alt-line="7818" data-line-type="context" data-line-index="7962,7936"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> decor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">smartMoney</span></div><div data-line="7870" data-alt-line="7819" data-line-type="context" data-line-index="7963,7937"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> state</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">openFromSmartMoneyEvent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">decor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">smartMoney</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">13 unmodified lines</span></div></div></div><div data-line="7884" data-alt-line="7833" data-line-type="context" data-line-index="7977,7951"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }}</span></div><div data-line="7885" data-alt-line="7834" data-line-type="context" data-line-index="7978,7952"><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ></span></div><div data-line="7886" data-alt-line="7835" data-line-type="context" data-line-index="7979,7953"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cells</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span></div><div data-line="7887" data-line-type="change-addition" data-line-index="7981,7954"><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x3C;/</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">div</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">></span></div><div data-line="7888" data-alt-line="7837" data-line-type="context" data-line-index="7982,7955"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> ) : </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="7889" data-alt-line="7838" data-line-type="context" data-line-index="7983,7956"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> &#x3C;</span><span style="--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F">div</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">...</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">commonProps</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#60D199;--diffs-token-light:#18A46C"> key</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">=</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">{</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">key</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span></div><div data-line="7890" data-alt-line="7839" data-line-type="context" data-line-index="7984,7957"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cells</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span></div></div></code></pre>
|
|
<hr class="diff-break" />
|
|
<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
|
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
|
|
<path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
|
|
<path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
|
|
<path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
|
|
<path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand" viewBox="0 0 16 16">
|
|
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-plus" viewBox="0 0 16 16">
|
|
<path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
</symbol>
|
|
</svg><style data-core-css="">@layer base, theme, rendered, unsafe;
|
|
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:"+";color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:"-";color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:"";-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth="1"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
|
|
@layer theme {
|
|
|
|
}</style><style data-theme-css="">@layer base, theme, rendered, unsafe;
|
|
@layer rendered {
|
|
:host {
|
|
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
|
|
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
|
|
}
|
|
}</style><div data-diffs-header="default" data-change-type="change"><div data-header-content=""><slot name="header-prefix"></slot><svg width="16" height="16" viewBox="0 0 16 16" data-change-icon="change"><use href="#diffs-icon-symbol-modified"></use></svg><div data-title=""><bdi>apps/web/next.config.mjs</bdi></div></div><div data-metadata=""><span data-additions-count="">+22</span><slot name="header-metadata"></slot></div></div><pre data-diff="" data-diff-type="split" data-overflow="scroll" data-background="" data-indicators="bars" tabindex="0" style="--diffs-min-number-column-width-default:2ch;" data-dehydrated=""><code data-code="" data-container-size="" data-deletions=""><div data-gutter="" style="grid-row: span 34"><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="1" data-line-index="1,1"><span data-line-number-content="">1</span></div><div data-line-type="context" data-column-number="2" data-line-index="2,2"><span data-line-number-content="">2</span></div><div data-gutter-buffer="buffer" data-buffer-size="20" style="grid-row: span 20;min-height:calc(20 * 1lh);"></div><div data-line-type="context" data-column-number="3" data-line-index="23,23"><span data-line-number-content="">3</span></div><div data-line-type="context" data-column-number="4" data-line-index="24,24"><span data-line-number-content="">4</span></div><div data-line-type="context" data-column-number="5" data-line-index="25,25"><span data-line-number-content="">5</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">5 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="11" data-line-index="31,31"><span data-line-number-content="">11</span></div><div data-line-type="context" data-column-number="12" data-line-index="32,32"><span data-line-number-content="">12</span></div><div data-line-type="context" data-column-number="13" data-line-index="33,33"><span data-line-number-content="">13</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="14" data-line-index="35,35"><span data-line-number-content="">14</span></div><div data-line-type="context" data-column-number="15" data-line-index="36,36"><span data-line-number-content="">15</span></div><div data-line-type="context" data-column-number="16" data-line-index="37,37"><span data-line-number-content="">16</span></div></div><div data-content="" style="grid-row: span 34"><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="1" data-alt-line="2" data-line-type="context" data-line-index="1,1"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">import</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> PHASE_DEVELOPMENT_SERVER</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "next/constants.js"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="2" data-alt-line="3" data-line-type="context" data-line-index="2,2">
|
|
</div><div data-content-buffer="" data-buffer-size="20" style="grid-row: span 20;min-height:calc(20 * 1lh)"></div><div data-line="3" data-alt-line="24" data-line-type="context" data-line-index="23,23"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373">/**</span></div><div data-line="4" data-alt-line="25" data-line-type="context" data-line-index="24,24"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373"> * Keep dev and production build artifacts separate to avoid chunk/runtime</span></div><div data-line="5" data-alt-line="26" data-line-type="context" data-line-index="25,25"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373"> * mismatches when `next dev` and `next build` are run in overlapping sessions.</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">5 unmodified lines</span></div></div></div><div data-line="11" data-alt-line="32" data-line-type="context" data-line-index="31,31"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> isDev</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> phase</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> PHASE_DEVELOPMENT_SERVER</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="12" data-alt-line="33" data-line-type="context" data-line-index="32,32">
|
|
</div><div data-line="13" data-alt-line="34" data-line-type="context" data-line-index="33,33"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="14" data-alt-line="36" data-line-type="context" data-line-index="35,35"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> distDir</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> isDev</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ".next-dev"</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> :</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ".next"</span></div><div data-line="15" data-alt-line="37" data-line-type="context" data-line-index="36,36"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="16" data-alt-line="38" data-line-type="context" data-line-index="37,37"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span></div></div></code><code data-code="" data-container-size="" data-additions=""><div data-gutter="" style="grid-row: span 34"><div data-line-type="change-addition" data-column-number="1" data-line-index="0,0"><span data-line-number-content="">1</span></div><div data-line-type="context" data-column-number="2" data-line-index="1,1"><span data-line-number-content="">2</span></div><div data-line-type="context" data-column-number="3" data-line-index="2,2"><span data-line-number-content="">3</span></div><div data-line-type="change-addition" data-column-number="4" data-line-index="3,3"><span data-line-number-content="">4</span></div><div data-line-type="change-addition" data-column-number="5" data-line-index="4,4"><span data-line-number-content="">5</span></div><div data-line-type="change-addition" data-column-number="6" data-line-index="5,5"><span data-line-number-content="">6</span></div><div data-line-type="change-addition" data-column-number="7" data-line-index="6,6"><span data-line-number-content="">7</span></div><div data-line-type="change-addition" data-column-number="8" data-line-index="7,7"><span data-line-number-content="">8</span></div><div data-line-type="change-addition" data-column-number="9" data-line-index="8,8"><span data-line-number-content="">9</span></div><div data-line-type="change-addition" data-column-number="10" data-line-index="9,9"><span data-line-number-content="">10</span></div><div data-line-type="change-addition" data-column-number="11" data-line-index="10,10"><span data-line-number-content="">11</span></div><div data-line-type="change-addition" data-column-number="12" data-line-index="11,11"><span data-line-number-content="">12</span></div><div data-line-type="change-addition" data-column-number="13" data-line-index="12,12"><span data-line-number-content="">13</span></div><div data-line-type="change-addition" data-column-number="14" data-line-index="13,13"><span data-line-number-content="">14</span></div><div data-line-type="change-addition" data-column-number="15" data-line-index="14,14"><span data-line-number-content="">15</span></div><div data-line-type="change-addition" data-column-number="16" data-line-index="15,15"><span data-line-number-content="">16</span></div><div data-line-type="change-addition" data-column-number="17" data-line-index="16,16"><span data-line-number-content="">17</span></div><div data-line-type="change-addition" data-column-number="18" data-line-index="17,17"><span data-line-number-content="">18</span></div><div data-line-type="change-addition" data-column-number="19" data-line-index="18,18"><span data-line-number-content="">19</span></div><div data-line-type="change-addition" data-column-number="20" data-line-index="19,19"><span data-line-number-content="">20</span></div><div data-line-type="change-addition" data-column-number="21" data-line-index="20,20"><span data-line-number-content="">21</span></div><div data-line-type="change-addition" data-column-number="22" data-line-index="21,21"><span data-line-number-content="">22</span></div><div data-line-type="change-addition" data-column-number="23" data-line-index="22,22"><span data-line-number-content="">23</span></div><div data-line-type="context" data-column-number="24" data-line-index="23,23"><span data-line-number-content="">24</span></div><div data-line-type="context" data-column-number="25" data-line-index="24,24"><span data-line-number-content="">25</span></div><div data-line-type="context" data-column-number="26" data-line-index="25,25"><span data-line-number-content="">26</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">5 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="32" data-line-index="31,31"><span data-line-number-content="">32</span></div><div data-line-type="context" data-column-number="33" data-line-index="32,32"><span data-line-number-content="">33</span></div><div data-line-type="context" data-column-number="34" data-line-index="33,33"><span data-line-number-content="">34</span></div><div data-line-type="change-addition" data-column-number="35" data-line-index="34,34"><span data-line-number-content="">35</span></div><div data-line-type="context" data-column-number="36" data-line-index="35,35"><span data-line-number-content="">36</span></div><div data-line-type="context" data-column-number="37" data-line-index="36,36"><span data-line-number-content="">37</span></div><div data-line-type="context" data-column-number="38" data-line-index="37,37"><span data-line-number-content="">38</span></div></div><div data-content="" style="grid-row: span 34"><div data-line="1" data-line-type="change-addition" data-line-index="0,0"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">import</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> networkInterfaces</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "node:os"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="2" data-alt-line="1" data-line-type="context" data-line-index="1,1"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">import</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> PHASE_DEVELOPMENT_SERVER</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "next/constants.js"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="3" data-alt-line="2" data-line-type="context" data-line-index="2,2">
|
|
</div><div data-line="4" data-line-type="change-addition" data-line-index="3,3"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> configuredAllowedDevOrigins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="5" data-line-type="change-addition" data-line-index="4,4"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">process</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">NEXT_ALLOWED_DEV_ORIGINS</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ""</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="6" data-line-type="change-addition" data-line-index="5,5"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">split</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">","</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="7" data-line-type="change-addition" data-line-index="6,6"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">trim</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span></div><div data-line="8" data-line-type="change-addition" data-line-index="7,7"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">Boolean</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="9" data-line-type="change-addition" data-line-index="8,8"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="10" data-line-type="change-addition" data-line-index="9,9">
|
|
</div><div data-line="11" data-line-type="change-addition" data-line-index="10,10"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> localIpv4DevOrigins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="12" data-line-type="change-addition" data-line-index="11,11"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Object</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">values</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">networkInterfaces</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">())</span></div><div data-line="13" data-line-type="change-addition" data-line-index="12,12"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">flat</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="14" data-line-type="change-addition" data-line-index="13,13"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">filter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">address</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> address</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">?.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">family</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "IPv4"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="15" data-line-type="change-addition" data-line-index="14,14"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">map</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">address</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> address</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">address</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="16" data-line-type="change-addition" data-line-index="15,15"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="17" data-line-type="change-addition" data-line-index="16,16">
|
|
</div><div data-line="18" data-line-type="change-addition" data-line-index="17,17"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> allowedDevOrigins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="19" data-line-type="change-addition" data-line-index="18,18"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> Array</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">from</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="20" data-line-type="change-addition" data-line-index="19,19"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">([</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"localhost"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "127.0.0.1"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ...</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">localIpv4DevOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(),</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ...</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">configuredAllowedDevOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()])</span></div><div data-line="21" data-line-type="change-addition" data-line-index="20,20"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="22" data-line-type="change-addition" data-line-index="21,21"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="23" data-line-type="change-addition" data-line-index="22,22">
|
|
</div><div data-line="24" data-alt-line="3" data-line-type="context" data-line-index="23,23"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373">/**</span></div><div data-line="25" data-alt-line="4" data-line-type="context" data-line-index="24,24"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373"> * Keep dev and production build artifacts separate to avoid chunk/runtime</span></div><div data-line="26" data-alt-line="5" data-line-type="context" data-line-index="25,25"><span style="--diffs-token-dark:#737373;--diffs-token-light:#737373"> * mismatches when `next dev` and `next build` are run in overlapping sessions.</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">5 unmodified lines</span></div></div></div><div data-line="32" data-alt-line="11" data-line-type="context" data-line-index="31,31"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> isDev</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> phase</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> PHASE_DEVELOPMENT_SERVER</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="33" data-alt-line="12" data-line-type="context" data-line-index="32,32">
|
|
</div><div data-line="34" data-alt-line="13" data-line-type="context" data-line-index="33,33"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="35" data-line-type="change-addition" data-line-index="34,34"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedDevOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> isDev</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> allowedDevOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> :</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> undefined</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="36" data-alt-line="14" data-line-type="context" data-line-index="35,35"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> distDir</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> isDev</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ".next-dev"</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> :</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ".next"</span></div><div data-line="37" data-alt-line="15" data-line-type="context" data-line-index="36,36"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> };</span></div><div data-line="38" data-alt-line="16" data-line-type="context" data-line-index="37,37"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span></div></div></code></pre>
|
|
<hr class="diff-break" />
|
|
<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
|
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
|
|
<path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
|
|
<path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
|
|
<path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
|
|
<path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand" viewBox="0 0 16 16">
|
|
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-plus" viewBox="0 0 16 16">
|
|
<path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
</symbol>
|
|
</svg><style data-core-css="">@layer base, theme, rendered, unsafe;
|
|
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:"+";color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:"-";color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:"";-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth="1"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
|
|
@layer theme {
|
|
|
|
}</style><style data-theme-css="">@layer base, theme, rendered, unsafe;
|
|
@layer rendered {
|
|
:host {
|
|
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
|
|
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
|
|
}
|
|
}</style><div data-diffs-header="default" data-change-type="new"><div data-header-content=""><slot name="header-prefix"></slot><svg width="16" height="16" viewBox="0 0 16 16" data-change-icon="new"><use href="#diffs-icon-symbol-added"></use></svg><div data-title=""><bdi>services/api/src/cors.ts</bdi></div></div><div data-metadata=""><span data-additions-count="">+107</span><slot name="header-metadata"></slot></div></div><pre data-diff="" data-diff-type="single" data-overflow="scroll" data-background="" data-indicators="bars" tabindex="0" style="--diffs-min-number-column-width-default:3ch;" data-dehydrated=""><code data-code="" data-container-size="" data-additions=""><div data-gutter="" style="grid-row: span 107"><div data-line-type="change-addition" data-column-number="1" data-line-index="0,0"><span data-line-number-content="">1</span></div><div data-line-type="change-addition" data-column-number="2" data-line-index="1,1"><span data-line-number-content="">2</span></div><div data-line-type="change-addition" data-column-number="3" data-line-index="2,2"><span data-line-number-content="">3</span></div><div data-line-type="change-addition" data-column-number="4" data-line-index="3,3"><span data-line-number-content="">4</span></div><div data-line-type="change-addition" data-column-number="5" data-line-index="4,4"><span data-line-number-content="">5</span></div><div data-line-type="change-addition" data-column-number="6" data-line-index="5,5"><span data-line-number-content="">6</span></div><div data-line-type="change-addition" data-column-number="7" data-line-index="6,6"><span data-line-number-content="">7</span></div><div data-line-type="change-addition" data-column-number="8" data-line-index="7,7"><span data-line-number-content="">8</span></div><div data-line-type="change-addition" data-column-number="9" data-line-index="8,8"><span data-line-number-content="">9</span></div><div data-line-type="change-addition" data-column-number="10" data-line-index="9,9"><span data-line-number-content="">10</span></div><div data-line-type="change-addition" data-column-number="11" data-line-index="10,10"><span data-line-number-content="">11</span></div><div data-line-type="change-addition" data-column-number="12" data-line-index="11,11"><span data-line-number-content="">12</span></div><div data-line-type="change-addition" data-column-number="13" data-line-index="12,12"><span data-line-number-content="">13</span></div><div data-line-type="change-addition" data-column-number="14" data-line-index="13,13"><span data-line-number-content="">14</span></div><div data-line-type="change-addition" data-column-number="15" data-line-index="14,14"><span data-line-number-content="">15</span></div><div data-line-type="change-addition" data-column-number="16" data-line-index="15,15"><span data-line-number-content="">16</span></div><div data-line-type="change-addition" data-column-number="17" data-line-index="16,16"><span data-line-number-content="">17</span></div><div data-line-type="change-addition" data-column-number="18" data-line-index="17,17"><span data-line-number-content="">18</span></div><div data-line-type="change-addition" data-column-number="19" data-line-index="18,18"><span data-line-number-content="">19</span></div><div data-line-type="change-addition" data-column-number="20" data-line-index="19,19"><span data-line-number-content="">20</span></div><div data-line-type="change-addition" data-column-number="21" data-line-index="20,20"><span data-line-number-content="">21</span></div><div data-line-type="change-addition" data-column-number="22" data-line-index="21,21"><span data-line-number-content="">22</span></div><div data-line-type="change-addition" data-column-number="23" data-line-index="22,22"><span data-line-number-content="">23</span></div><div data-line-type="change-addition" data-column-number="24" data-line-index="23,23"><span data-line-number-content="">24</span></div><div data-line-type="change-addition" data-column-number="25" data-line-index="24,24"><span data-line-number-content="">25</span></div><div data-line-type="change-addition" data-column-number="26" data-line-index="25,25"><span data-line-number-content="">26</span></div><div data-line-type="change-addition" data-column-number="27" data-line-index="26,26"><span data-line-number-content="">27</span></div><div data-line-type="change-addition" data-column-number="28" data-line-index="27,27"><span data-line-number-content="">28</span></div><div data-line-type="change-addition" data-column-number="29" data-line-index="28,28"><span data-line-number-content="">29</span></div><div data-line-type="change-addition" data-column-number="30" data-line-index="29,29"><span data-line-number-content="">30</span></div><div data-line-type="change-addition" data-column-number="31" data-line-index="30,30"><span data-line-number-content="">31</span></div><div data-line-type="change-addition" data-column-number="32" data-line-index="31,31"><span data-line-number-content="">32</span></div><div data-line-type="change-addition" data-column-number="33" data-line-index="32,32"><span data-line-number-content="">33</span></div><div data-line-type="change-addition" data-column-number="34" data-line-index="33,33"><span data-line-number-content="">34</span></div><div data-line-type="change-addition" data-column-number="35" data-line-index="34,34"><span data-line-number-content="">35</span></div><div data-line-type="change-addition" data-column-number="36" data-line-index="35,35"><span data-line-number-content="">36</span></div><div data-line-type="change-addition" data-column-number="37" data-line-index="36,36"><span data-line-number-content="">37</span></div><div data-line-type="change-addition" data-column-number="38" data-line-index="37,37"><span data-line-number-content="">38</span></div><div data-line-type="change-addition" data-column-number="39" data-line-index="38,38"><span data-line-number-content="">39</span></div><div data-line-type="change-addition" data-column-number="40" data-line-index="39,39"><span data-line-number-content="">40</span></div><div data-line-type="change-addition" data-column-number="41" data-line-index="40,40"><span data-line-number-content="">41</span></div><div data-line-type="change-addition" data-column-number="42" data-line-index="41,41"><span data-line-number-content="">42</span></div><div data-line-type="change-addition" data-column-number="43" data-line-index="42,42"><span data-line-number-content="">43</span></div><div data-line-type="change-addition" data-column-number="44" data-line-index="43,43"><span data-line-number-content="">44</span></div><div data-line-type="change-addition" data-column-number="45" data-line-index="44,44"><span data-line-number-content="">45</span></div><div data-line-type="change-addition" data-column-number="46" data-line-index="45,45"><span data-line-number-content="">46</span></div><div data-line-type="change-addition" data-column-number="47" data-line-index="46,46"><span data-line-number-content="">47</span></div><div data-line-type="change-addition" data-column-number="48" data-line-index="47,47"><span data-line-number-content="">48</span></div><div data-line-type="change-addition" data-column-number="49" data-line-index="48,48"><span data-line-number-content="">49</span></div><div data-line-type="change-addition" data-column-number="50" data-line-index="49,49"><span data-line-number-content="">50</span></div><div data-line-type="change-addition" data-column-number="51" data-line-index="50,50"><span data-line-number-content="">51</span></div><div data-line-type="change-addition" data-column-number="52" data-line-index="51,51"><span data-line-number-content="">52</span></div><div data-line-type="change-addition" data-column-number="53" data-line-index="52,52"><span data-line-number-content="">53</span></div><div data-line-type="change-addition" data-column-number="54" data-line-index="53,53"><span data-line-number-content="">54</span></div><div data-line-type="change-addition" data-column-number="55" data-line-index="54,54"><span data-line-number-content="">55</span></div><div data-line-type="change-addition" data-column-number="56" data-line-index="55,55"><span data-line-number-content="">56</span></div><div data-line-type="change-addition" data-column-number="57" data-line-index="56,56"><span data-line-number-content="">57</span></div><div data-line-type="change-addition" data-column-number="58" data-line-index="57,57"><span data-line-number-content="">58</span></div><div data-line-type="change-addition" data-column-number="59" data-line-index="58,58"><span data-line-number-content="">59</span></div><div data-line-type="change-addition" data-column-number="60" data-line-index="59,59"><span data-line-number-content="">60</span></div><div data-line-type="change-addition" data-column-number="61" data-line-index="60,60"><span data-line-number-content="">61</span></div><div data-line-type="change-addition" data-column-number="62" data-line-index="61,61"><span data-line-number-content="">62</span></div><div data-line-type="change-addition" data-column-number="63" data-line-index="62,62"><span data-line-number-content="">63</span></div><div data-line-type="change-addition" data-column-number="64" data-line-index="63,63"><span data-line-number-content="">64</span></div><div data-line-type="change-addition" data-column-number="65" data-line-index="64,64"><span data-line-number-content="">65</span></div><div data-line-type="change-addition" data-column-number="66" data-line-index="65,65"><span data-line-number-content="">66</span></div><div data-line-type="change-addition" data-column-number="67" data-line-index="66,66"><span data-line-number-content="">67</span></div><div data-line-type="change-addition" data-column-number="68" data-line-index="67,67"><span data-line-number-content="">68</span></div><div data-line-type="change-addition" data-column-number="69" data-line-index="68,68"><span data-line-number-content="">69</span></div><div data-line-type="change-addition" data-column-number="70" data-line-index="69,69"><span data-line-number-content="">70</span></div><div data-line-type="change-addition" data-column-number="71" data-line-index="70,70"><span data-line-number-content="">71</span></div><div data-line-type="change-addition" data-column-number="72" data-line-index="71,71"><span data-line-number-content="">72</span></div><div data-line-type="change-addition" data-column-number="73" data-line-index="72,72"><span data-line-number-content="">73</span></div><div data-line-type="change-addition" data-column-number="74" data-line-index="73,73"><span data-line-number-content="">74</span></div><div data-line-type="change-addition" data-column-number="75" data-line-index="74,74"><span data-line-number-content="">75</span></div><div data-line-type="change-addition" data-column-number="76" data-line-index="75,75"><span data-line-number-content="">76</span></div><div data-line-type="change-addition" data-column-number="77" data-line-index="76,76"><span data-line-number-content="">77</span></div><div data-line-type="change-addition" data-column-number="78" data-line-index="77,77"><span data-line-number-content="">78</span></div><div data-line-type="change-addition" data-column-number="79" data-line-index="78,78"><span data-line-number-content="">79</span></div><div data-line-type="change-addition" data-column-number="80" data-line-index="79,79"><span data-line-number-content="">80</span></div><div data-line-type="change-addition" data-column-number="81" data-line-index="80,80"><span data-line-number-content="">81</span></div><div data-line-type="change-addition" data-column-number="82" data-line-index="81,81"><span data-line-number-content="">82</span></div><div data-line-type="change-addition" data-column-number="83" data-line-index="82,82"><span data-line-number-content="">83</span></div><div data-line-type="change-addition" data-column-number="84" data-line-index="83,83"><span data-line-number-content="">84</span></div><div data-line-type="change-addition" data-column-number="85" data-line-index="84,84"><span data-line-number-content="">85</span></div><div data-line-type="change-addition" data-column-number="86" data-line-index="85,85"><span data-line-number-content="">86</span></div><div data-line-type="change-addition" data-column-number="87" data-line-index="86,86"><span data-line-number-content="">87</span></div><div data-line-type="change-addition" data-column-number="88" data-line-index="87,87"><span data-line-number-content="">88</span></div><div data-line-type="change-addition" data-column-number="89" data-line-index="88,88"><span data-line-number-content="">89</span></div><div data-line-type="change-addition" data-column-number="90" data-line-index="89,89"><span data-line-number-content="">90</span></div><div data-line-type="change-addition" data-column-number="91" data-line-index="90,90"><span data-line-number-content="">91</span></div><div data-line-type="change-addition" data-column-number="92" data-line-index="91,91"><span data-line-number-content="">92</span></div><div data-line-type="change-addition" data-column-number="93" data-line-index="92,92"><span data-line-number-content="">93</span></div><div data-line-type="change-addition" data-column-number="94" data-line-index="93,93"><span data-line-number-content="">94</span></div><div data-line-type="change-addition" data-column-number="95" data-line-index="94,94"><span data-line-number-content="">95</span></div><div data-line-type="change-addition" data-column-number="96" data-line-index="95,95"><span data-line-number-content="">96</span></div><div data-line-type="change-addition" data-column-number="97" data-line-index="96,96"><span data-line-number-content="">97</span></div><div data-line-type="change-addition" data-column-number="98" data-line-index="97,97"><span data-line-number-content="">98</span></div><div data-line-type="change-addition" data-column-number="99" data-line-index="98,98"><span data-line-number-content="">99</span></div><div data-line-type="change-addition" data-column-number="100" data-line-index="99,99"><span data-line-number-content="">100</span></div><div data-line-type="change-addition" data-column-number="101" data-line-index="100,100"><span data-line-number-content="">101</span></div><div data-line-type="change-addition" data-column-number="102" data-line-index="101,101"><span data-line-number-content="">102</span></div><div data-line-type="change-addition" data-column-number="103" data-line-index="102,102"><span data-line-number-content="">103</span></div><div data-line-type="change-addition" data-column-number="104" data-line-index="103,103"><span data-line-number-content="">104</span></div><div data-line-type="change-addition" data-column-number="105" data-line-index="104,104"><span data-line-number-content="">105</span></div><div data-line-type="change-addition" data-column-number="106" data-line-index="105,105"><span data-line-number-content="">106</span></div><div data-line-type="change-addition" data-column-number="107" data-line-index="106,106"><span data-line-number-content="">107</span></div></div><div data-content="" style="grid-row: span 107"><div data-line="1" data-line-type="change-addition" data-line-index="0,0"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">export</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> DEFAULT_API_CORS_ORIGINS</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> [</span></div><div data-line="2" data-line-type="change-addition" data-line-index="1,1"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "https://flow.deltaisland.io"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="3" data-line-type="change-addition" data-line-index="2,2"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "http://127.0.0.1:3000"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="4" data-line-type="change-addition" data-line-index="3,3"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "http://localhost:3000"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="5" data-line-type="change-addition" data-line-index="4,4"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "http://127.0.0.1:3100"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="6" data-line-type="change-addition" data-line-index="5,5"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "http://localhost:3100"</span></div><div data-line="7" data-line-type="change-addition" data-line-index="6,6"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">].</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">join</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">","</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="8" data-line-type="change-addition" data-line-index="7,7">
|
|
</div><div data-line="9" data-line-type="change-addition" data-line-index="8,8"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> DEFAULT_ALLOWED_HEADERS</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "authorization,content-type,x-synthetic-admin-token"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="10" data-line-type="change-addition" data-line-index="9,9"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> DEFAULT_ALLOWED_METHODS</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "GET,POST,PUT,OPTIONS"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="11" data-line-type="change-addition" data-line-index="10,10">
|
|
</div><div data-line="12" data-line-type="change-addition" data-line-index="11,11"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> normalizeOrigin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> null</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="13" data-line-type="change-addition" data-line-index="12,12"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> trimmed</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">trim</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="14" data-line-type="change-addition" data-line-index="13,13"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trimmed</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="15" data-line-type="change-addition" data-line-index="14,14"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="16" data-line-type="change-addition" data-line-index="15,15"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="17" data-line-type="change-addition" data-line-index="16,16"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trimmed</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "*"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="18" data-line-type="change-addition" data-line-index="17,17"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> trimmed</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="19" data-line-type="change-addition" data-line-index="18,18"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="20" data-line-type="change-addition" data-line-index="19,19">
|
|
</div><div data-line="21" data-line-type="change-addition" data-line-index="20,20"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> try</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="22" data-line-type="change-addition" data-line-index="21,21"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trimmed</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="23" data-line-type="change-addition" data-line-index="22,22"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> catch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="24" data-line-type="change-addition" data-line-index="23,23"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="25" data-line-type="change-addition" data-line-index="24,24"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="26" data-line-type="change-addition" data-line-index="25,25"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="27" data-line-type="change-addition" data-line-index="26,26">
|
|
</div><div data-line="28" data-line-type="change-addition" data-line-index="27,27"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">export</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> parseCorsAllowedOrigins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="29" data-line-type="change-addition" data-line-index="28,28"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> origins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>();</span></div><div data-line="30" data-line-type="change-addition" data-line-index="29,29"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> entry</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> of</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">split</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">","</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="31" data-line-type="change-addition" data-line-index="30,30"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> origin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> normalizeOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">entry</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="32" data-line-type="change-addition" data-line-index="31,31"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="33" data-line-type="change-addition" data-line-index="32,32"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> origins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">add</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="34" data-line-type="change-addition" data-line-index="33,33"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="35" data-line-type="change-addition" data-line-index="34,34"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="36" data-line-type="change-addition" data-line-index="35,35"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> origins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="37" data-line-type="change-addition" data-line-index="36,36"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="38" data-line-type="change-addition" data-line-index="37,37">
|
|
</div><div data-line="39" data-line-type="change-addition" data-line-index="38,38"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">export</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> resolveCorsOrigin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Request</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">>):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> |</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> null</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="40" data-line-type="change-addition" data-line-index="39,39"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> origin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> normalizeOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">get</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"origin"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> ""</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="41" data-line-type="change-addition" data-line-index="40,40"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="42" data-line-type="change-addition" data-line-index="41,41"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="43" data-line-type="change-addition" data-line-index="42,42"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="44" data-line-type="change-addition" data-line-index="43,43"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"*"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="45" data-line-type="change-addition" data-line-index="44,44"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "*"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="46" data-line-type="change-addition" data-line-index="45,45"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="47" data-line-type="change-addition" data-line-index="46,46"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">has</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> ?</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> origin</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> :</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="48" data-line-type="change-addition" data-line-index="47,47"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="49" data-line-type="change-addition" data-line-index="48,48">
|
|
</div><div data-line="50" data-line-type="change-addition" data-line-index="49,49"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> appendVaryOrigin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> void</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="51" data-line-type="change-addition" data-line-index="50,50"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> vary</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">get</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"vary"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="52" data-line-type="change-addition" data-line-index="51,51"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">vary</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="53" data-line-type="change-addition" data-line-index="52,52"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"vary"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "Origin"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="54" data-line-type="change-addition" data-line-index="53,53"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="55" data-line-type="change-addition" data-line-index="54,54"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="56" data-line-type="change-addition" data-line-index="55,55"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">vary</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">split</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">","</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">).</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">some</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">((</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">trim</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">().</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">toLowerCase</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "origin"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="57" data-line-type="change-addition" data-line-index="56,56"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"vary"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> `</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">${</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">vary</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">}</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">, Origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">`</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="58" data-line-type="change-addition" data-line-index="57,57"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="59" data-line-type="change-addition" data-line-index="58,58"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="60" data-line-type="change-addition" data-line-index="59,59">
|
|
</div><div data-line="61" data-line-type="change-addition" data-line-index="60,60"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">export</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> withCorsHeaders</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="62" data-line-type="change-addition" data-line-index="61,61"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Request</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="63" data-line-type="change-addition" data-line-index="62,62"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="64" data-line-type="change-addition" data-line-index="63,63"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span></div><div data-line="65" data-line-type="change-addition" data-line-index="64,64"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Response</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="66" data-line-type="change-addition" data-line-index="65,65"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">status</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 101</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="67" data-line-type="change-addition" data-line-index="66,66"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="68" data-line-type="change-addition" data-line-index="67,67"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="69" data-line-type="change-addition" data-line-index="68,68">
|
|
</div><div data-line="70" data-line-type="change-addition" data-line-index="69,69"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> allowedOrigin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> resolveCorsOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="71" data-line-type="change-addition" data-line-index="70,70"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF">!</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">allowedOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="72" data-line-type="change-addition" data-line-index="71,71"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="73" data-line-type="change-addition" data-line-index="72,72"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="74" data-line-type="change-addition" data-line-index="73,73">
|
|
</div><div data-line="75" data-line-type="change-addition" data-line-index="74,74"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> headers</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="76" data-line-type="change-addition" data-line-index="75,75"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"access-control-allow-origin"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="77" data-line-type="change-addition" data-line-index="76,76"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> appendVaryOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="78" data-line-type="change-addition" data-line-index="77,77">
|
|
</div><div data-line="79" data-line-type="change-addition" data-line-index="78,78"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">body</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="80" data-line-type="change-addition" data-line-index="79,79"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> status</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">status</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="81" data-line-type="change-addition" data-line-index="80,80"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> statusText</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">statusText</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="82" data-line-type="change-addition" data-line-index="81,81"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span></div><div data-line="83" data-line-type="change-addition" data-line-index="82,82"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="84" data-line-type="change-addition" data-line-index="83,83"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div><div data-line="85" data-line-type="change-addition" data-line-index="84,84">
|
|
</div><div data-line="86" data-line-type="change-addition" data-line-index="85,85"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">export</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> createCorsPreflightResponse</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span></div><div data-line="87" data-line-type="change-addition" data-line-index="86,86"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Request</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="88" data-line-type="change-addition" data-line-index="87,87"><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span></div><div data-line="89" data-line-type="change-addition" data-line-index="88,88"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">):</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Response</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="90" data-line-type="change-addition" data-line-index="89,89"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> headers</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="91" data-line-type="change-addition" data-line-index="90,90"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> allowedOrigin</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> resolveCorsOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="92" data-line-type="change-addition" data-line-index="91,91"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">allowedOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="93" data-line-type="change-addition" data-line-index="92,92"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"access-control-allow-origin"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> allowedOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="94" data-line-type="change-addition" data-line-index="93,93"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"access-control-allow-methods"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> DEFAULT_ALLOWED_METHODS</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="95" data-line-type="change-addition" data-line-index="94,94"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span></div><div data-line="96" data-line-type="change-addition" data-line-index="95,95"><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "access-control-allow-headers"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="97" data-line-type="change-addition" data-line-index="96,96"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">get</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"access-control-request-headers"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ??</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> DEFAULT_ALLOWED_HEADERS</span></div><div data-line="98" data-line-type="change-addition" data-line-index="97,97"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> );</span></div><div data-line="99" data-line-type="change-addition" data-line-index="98,98"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">set</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">"access-control-max-age"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "86400"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="100" data-line-type="change-addition" data-line-index="99,99"><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> appendVaryOrigin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">headers</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="101" data-line-type="change-addition" data-line-index="100,100"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="102" data-line-type="change-addition" data-line-index="101,101">
|
|
</div><div data-line="103" data-line-type="change-addition" data-line-index="102,102"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> Response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">null</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="104" data-line-type="change-addition" data-line-index="103,103"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> status</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 204</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="105" data-line-type="change-addition" data-line-index="104,104"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> headers</span></div><div data-line="106" data-line-type="change-addition" data-line-index="105,105"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="107" data-line-type="change-addition" data-line-index="106,106"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">};</span></div></div></code></pre>
|
|
<hr class="diff-break" />
|
|
<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
|
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
|
|
<path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
|
|
<path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
|
|
<path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
|
|
<path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand" viewBox="0 0 16 16">
|
|
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-plus" viewBox="0 0 16 16">
|
|
<path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
</symbol>
|
|
</svg><style data-core-css="">@layer base, theme, rendered, unsafe;
|
|
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:"+";color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:"-";color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:"";-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth="1"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
|
|
@layer theme {
|
|
|
|
}</style><style data-theme-css="">@layer base, theme, rendered, unsafe;
|
|
@layer rendered {
|
|
:host {
|
|
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
|
|
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
|
|
}
|
|
}</style><div data-diffs-header="default" data-change-type="change"><div data-header-content=""><slot name="header-prefix"></slot><svg width="16" height="16" viewBox="0 0 16 16" data-change-icon="change"><use href="#diffs-icon-symbol-modified"></use></svg><div data-title=""><bdi>services/api/src/index.ts</bdi></div></div><div data-metadata=""><span data-deletions-count="">-6</span><span data-additions-count="">+23</span><slot name="header-metadata"></slot></div></div><pre data-diff="" data-diff-type="split" data-overflow="scroll" data-background="" data-indicators="bars" tabindex="0" style="--diffs-min-number-column-width-default:4ch;" data-dehydrated=""><code data-code="" data-container-size="" data-deletions=""><div data-gutter="" style="grid-row: span 55"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">137 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="138" data-line-index="137,137"><span data-line-number-content="">138</span></div><div data-line-type="context" data-column-number="139" data-line-index="138,138"><span data-line-number-content="">139</span></div><div data-line-type="context" data-column-number="140" data-line-index="139,139"><span data-line-number-content="">140</span></div><div data-gutter-buffer="buffer" data-buffer-size="6" style="grid-row: span 6;min-height:calc(6 * 1lh);"></div><div data-line-type="context" data-column-number="141" data-line-index="146,146"><span data-line-number-content="">141</span></div><div data-line-type="context" data-column-number="142" data-line-index="147,147"><span data-line-number-content="">142</span></div><div data-line-type="context" data-column-number="143" data-line-index="148,148"><span data-line-number-content="">143</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">28 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="172" data-line-index="177,177"><span data-line-number-content="">172</span></div><div data-line-type="context" data-column-number="173" data-line-index="178,178"><span data-line-number-content="">173</span></div><div data-line-type="context" data-column-number="174" data-line-index="179,179"><span data-line-number-content="">174</span></div><div data-line-type="change-deletion" data-column-number="175" data-line-index="180,180"><span data-line-number-content="">175</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="176" data-line-index="183,182"><span data-line-number-content="">176</span></div><div data-line-type="context" data-column-number="177" data-line-index="184,183"><span data-line-number-content="">177</span></div><div data-line-type="context" data-column-number="178" data-line-index="185,184"><span data-line-number-content="">178</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="179" data-line-index="187,186"><span data-line-number-content="">179</span></div><div data-line-type="context" data-column-number="180" data-line-index="188,187"><span data-line-number-content="">180</span></div><div data-line-type="context" data-column-number="181" data-line-index="189,188"><span data-line-number-content="">181</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1181 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="1363" data-line-index="1371,1370"><span data-line-number-content="">1363</span></div><div data-line-type="context" data-column-number="1364" data-line-index="1372,1371"><span data-line-number-content="">1364</span></div><div data-line-type="context" data-column-number="1365" data-line-index="1373,1372"><span data-line-number-content="">1365</span></div><div data-line-type="change-deletion" data-column-number="1366" data-line-index="1374,1373"><span data-line-number-content="">1366</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="1367" data-line-index="1377,1375"><span data-line-number-content="">1367</span></div><div data-line-type="change-deletion" data-column-number="1368" data-line-index="1378,1376"><span data-line-number-content="">1368</span></div><div data-line-type="change-deletion" data-column-number="1369" data-line-index="1379,1377"><span data-line-number-content="">1369</span></div><div data-line-type="change-deletion" data-column-number="1370" data-line-index="1380,1378"><span data-line-number-content="">1370</span></div><div data-gutter-buffer="buffer" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh);"></div><div data-line-type="context" data-column-number="1371" data-line-index="1388,1383"><span data-line-number-content="">1371</span></div><div data-line-type="context" data-column-number="1372" data-line-index="1389,1384"><span data-line-number-content="">1372</span></div><div data-line-type="context" data-column-number="1373" data-line-index="1390,1385"><span data-line-number-content="">1373</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">577 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="1951" data-line-index="1968,1963"><span data-line-number-content="">1951</span></div><div data-line-type="context" data-column-number="1952" data-line-index="1969,1964"><span data-line-number-content="">1952</span></div><div data-line-type="context" data-column-number="1953" data-line-index="1970,1965"><span data-line-number-content="">1953</span></div><div data-line-type="change-deletion" data-column-number="1954" data-line-index="1971,1966"><span data-line-number-content="">1954</span></div><div data-gutter-buffer="buffer" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh);"></div><div data-line-type="context" data-column-number="1955" data-line-index="1977,1971"><span data-line-number-content="">1955</span></div><div data-line-type="context" data-column-number="1956" data-line-index="1978,1972"><span data-line-number-content="">1956</span></div><div data-line-type="context" data-column-number="1957" data-line-index="1979,1973"><span data-line-number-content="">1957</span></div></div><div data-content="" style="grid-row: span 55"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">137 unmodified lines</span></div></div></div><div data-line="138" data-alt-line="138" data-line-type="context" data-line-index="137,137"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> recordSyntheticProfileHit</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="139" data-alt-line="139" data-line-type="context" data-line-index="138,138"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolveSyntheticBackendMode</span></div><div data-line="140" data-alt-line="140" data-line-type="context" data-line-index="139,139"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">} </span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "./synthetic-control"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-content-buffer="" data-buffer-size="6" style="grid-row: span 6;min-height:calc(6 * 1lh)"></div><div data-line="141" data-alt-line="147" data-line-type="context" data-line-index="146,146">
|
|
</div><div data-line="142" data-alt-line="148" data-line-type="context" data-line-index="147,147"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> service</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "api"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="143" data-alt-line="149" data-line-type="context" data-line-index="148,148"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> logger</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> createLogger</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> service</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">28 unmodified lines</span></div></div></div><div data-line="172" data-alt-line="178" data-line-type="context" data-line-index="177,177"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="173" data-alt-line="179" data-line-type="context" data-line-index="178,178"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> z</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">boolean</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">)</span></div><div data-line="174" data-alt-line="180" data-line-type="context" data-line-index="179,179"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">default</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span></div><div data-line="175" data-line-type="change-deletion" data-line-index="180,180"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> SYNTHETIC_ADMIN_TOKEN</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> z</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">().</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">default</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">""</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="176" data-alt-line="183" data-line-type="context" data-line-index="183,182"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">})</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="177" data-alt-line="184" data-line-type="context" data-line-index="184,183">
|
|
</div><div data-line="178" data-alt-line="185" data-line-type="context" data-line-index="185,184"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> env</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readEnv</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">envSchema</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="179" data-alt-line="187" data-line-type="context" data-line-index="187,186">
|
|
</div><div data-line="180" data-alt-line="188" data-line-type="context" data-line-index="188,187"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> state</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="181" data-alt-line="189" data-line-type="context" data-line-index="189,188"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> shuttingDown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1181 unmodified lines</span></div></div></div><div data-line="1363" data-alt-line="1371" data-line-type="context" data-line-index="1371,1370"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> hostname</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">API_HOST</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1364" data-alt-line="1372" data-line-type="context" data-line-index="1372,1371"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> port</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">API_PORT</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1365" data-alt-line="1373" data-line-type="context" data-line-index="1373,1372"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Request</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> serverRef</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> any</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1366" data-line-type="change-deletion" data-line-index="1374,1373"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">url</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="1367" data-alt-line="1376" data-line-type="context" data-line-index="1377,1375">
|
|
</div><div data-line="1368" data-line-type="change-deletion" data-line-index="1378,1376"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">method</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">GET"</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">pathname</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "/health"</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1369" data-line-type="change-deletion" data-line-index="1379,1377"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> status</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "ok"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1370" data-line-type="change-deletion" data-line-index="1380,1378"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span></div><div data-content-buffer="" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh)"></div><div data-line="1371" data-alt-line="1384" data-line-type="context" data-line-index="1388,1383">
|
|
</div><div data-line="1372" data-alt-line="1385" data-line-type="context" data-line-index="1389,1384"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">method</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "GET"</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">pathname</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "/admin/synthetic/status"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1373" data-alt-line="1386" data-line-type="context" data-line-index="1390,1385"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> authError</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> authenticateSyntheticAdminRequest</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">577 unmodified lines</span></div></div></div><div data-line="1951" data-alt-line="1964" data-line-type="context" data-line-index="1968,1963"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "websocket upgrade failed"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 400</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1952" data-alt-line="1965" data-line-type="context" data-line-index="1969,1964"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="1953" data-alt-line="1966" data-line-type="context" data-line-index="1970,1965">
|
|
</div><div data-line="1954" data-line-type="change-deletion" data-line-index="1971,1966"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "not found"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 404</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-content-buffer="" data-buffer-size="4" style="grid-row: span 4;min-height:calc(4 * 1lh)"></div><div data-line="1955" data-alt-line="1972" data-line-type="context" data-line-index="1977,1971"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1956" data-alt-line="1973" data-line-type="context" data-line-index="1978,1972"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> websocket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1957" data-alt-line="1974" data-line-type="context" data-line-index="1979,1973"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> open</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">socket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> any</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div></div></code><code data-code="" data-container-size="" data-additions=""><div data-gutter="" style="grid-row: span 55"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">137 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="138" data-line-index="137,137"><span data-line-number-content="">138</span></div><div data-line-type="context" data-column-number="139" data-line-index="138,138"><span data-line-number-content="">139</span></div><div data-line-type="context" data-column-number="140" data-line-index="139,139"><span data-line-number-content="">140</span></div><div data-line-type="change-addition" data-column-number="141" data-line-index="140,140"><span data-line-number-content="">141</span></div><div data-line-type="change-addition" data-column-number="142" data-line-index="141,141"><span data-line-number-content="">142</span></div><div data-line-type="change-addition" data-column-number="143" data-line-index="142,142"><span data-line-number-content="">143</span></div><div data-line-type="change-addition" data-column-number="144" data-line-index="143,143"><span data-line-number-content="">144</span></div><div data-line-type="change-addition" data-column-number="145" data-line-index="144,144"><span data-line-number-content="">145</span></div><div data-line-type="change-addition" data-column-number="146" data-line-index="145,145"><span data-line-number-content="">146</span></div><div data-line-type="context" data-column-number="147" data-line-index="146,146"><span data-line-number-content="">147</span></div><div data-line-type="context" data-column-number="148" data-line-index="147,147"><span data-line-number-content="">148</span></div><div data-line-type="context" data-column-number="149" data-line-index="148,148"><span data-line-number-content="">149</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">28 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="178" data-line-index="177,177"><span data-line-number-content="">178</span></div><div data-line-type="context" data-column-number="179" data-line-index="178,178"><span data-line-number-content="">179</span></div><div data-line-type="context" data-column-number="180" data-line-index="179,179"><span data-line-number-content="">180</span></div><div data-line-type="change-addition" data-column-number="181" data-line-index="181,180"><span data-line-number-content="">181</span></div><div data-line-type="change-addition" data-column-number="182" data-line-index="182,181"><span data-line-number-content="">182</span></div><div data-line-type="context" data-column-number="183" data-line-index="183,182"><span data-line-number-content="">183</span></div><div data-line-type="context" data-column-number="184" data-line-index="184,183"><span data-line-number-content="">184</span></div><div data-line-type="context" data-column-number="185" data-line-index="185,184"><span data-line-number-content="">185</span></div><div data-line-type="change-addition" data-column-number="186" data-line-index="186,185"><span data-line-number-content="">186</span></div><div data-line-type="context" data-column-number="187" data-line-index="187,186"><span data-line-number-content="">187</span></div><div data-line-type="context" data-column-number="188" data-line-index="188,187"><span data-line-number-content="">188</span></div><div data-line-type="context" data-column-number="189" data-line-index="189,188"><span data-line-number-content="">189</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1181 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="1371" data-line-index="1371,1370"><span data-line-number-content="">1371</span></div><div data-line-type="context" data-column-number="1372" data-line-index="1372,1371"><span data-line-number-content="">1372</span></div><div data-line-type="context" data-column-number="1373" data-line-index="1373,1372"><span data-line-number-content="">1373</span></div><div data-line-type="change-addition" data-column-number="1374" data-line-index="1375,1373"><span data-line-number-content="">1374</span></div><div data-line-type="change-addition" data-column-number="1375" data-line-index="1376,1374"><span data-line-number-content="">1375</span></div><div data-line-type="context" data-column-number="1376" data-line-index="1377,1375"><span data-line-number-content="">1376</span></div><div data-line-type="change-addition" data-column-number="1377" data-line-index="1381,1376"><span data-line-number-content="">1377</span></div><div data-line-type="change-addition" data-column-number="1378" data-line-index="1382,1377"><span data-line-number-content="">1378</span></div><div data-line-type="change-addition" data-column-number="1379" data-line-index="1383,1378"><span data-line-number-content="">1379</span></div><div data-line-type="change-addition" data-column-number="1380" data-line-index="1384,1379"><span data-line-number-content="">1380</span></div><div data-line-type="change-addition" data-column-number="1381" data-line-index="1385,1380"><span data-line-number-content="">1381</span></div><div data-line-type="change-addition" data-column-number="1382" data-line-index="1386,1381"><span data-line-number-content="">1382</span></div><div data-line-type="change-addition" data-column-number="1383" data-line-index="1387,1382"><span data-line-number-content="">1383</span></div><div data-line-type="context" data-column-number="1384" data-line-index="1388,1383"><span data-line-number-content="">1384</span></div><div data-line-type="context" data-column-number="1385" data-line-index="1389,1384"><span data-line-number-content="">1385</span></div><div data-line-type="context" data-column-number="1386" data-line-index="1390,1385"><span data-line-number-content="">1386</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">577 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="1964" data-line-index="1968,1963"><span data-line-number-content="">1964</span></div><div data-line-type="context" data-column-number="1965" data-line-index="1969,1964"><span data-line-number-content="">1965</span></div><div data-line-type="context" data-column-number="1966" data-line-index="1970,1965"><span data-line-number-content="">1966</span></div><div data-line-type="change-addition" data-column-number="1967" data-line-index="1972,1966"><span data-line-number-content="">1967</span></div><div data-line-type="change-addition" data-column-number="1968" data-line-index="1973,1967"><span data-line-number-content="">1968</span></div><div data-line-type="change-addition" data-column-number="1969" data-line-index="1974,1968"><span data-line-number-content="">1969</span></div><div data-line-type="change-addition" data-column-number="1970" data-line-index="1975,1969"><span data-line-number-content="">1970</span></div><div data-line-type="change-addition" data-column-number="1971" data-line-index="1976,1970"><span data-line-number-content="">1971</span></div><div data-line-type="context" data-column-number="1972" data-line-index="1977,1971"><span data-line-number-content="">1972</span></div><div data-line-type="context" data-column-number="1973" data-line-index="1978,1972"><span data-line-number-content="">1973</span></div><div data-line-type="context" data-column-number="1974" data-line-index="1979,1973"><span data-line-number-content="">1974</span></div></div><div data-content="" style="grid-row: span 55"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">137 unmodified lines</span></div></div></div><div data-line="138" data-alt-line="138" data-line-type="context" data-line-index="137,137"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> recordSyntheticProfileHit</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="139" data-alt-line="139" data-line-type="context" data-line-index="138,138"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> resolveSyntheticBackendMode</span></div><div data-line="140" data-alt-line="140" data-line-type="context" data-line-index="139,139"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">} </span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "./synthetic-control"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="141" data-line-type="change-addition" data-line-index="140,140"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">import</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="142" data-line-type="change-addition" data-line-index="141,141"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> DEFAULT_API_CORS_ORIGINS</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="143" data-line-type="change-addition" data-line-index="142,142"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> createCorsPreflightResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="144" data-line-type="change-addition" data-line-index="143,143"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> parseCorsAllowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="145" data-line-type="change-addition" data-line-index="144,144"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> withCorsHeaders</span></div><div data-line="146" data-line-type="change-addition" data-line-index="145,145"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> from</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "./cors"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="147" data-alt-line="141" data-line-type="context" data-line-index="146,146">
|
|
</div><div data-line="148" data-alt-line="142" data-line-type="context" data-line-index="147,147"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> service</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "api"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="149" data-alt-line="143" data-line-type="context" data-line-index="148,148"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> logger</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> createLogger</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> service</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">28 unmodified lines</span></div></div></div><div data-line="178" data-alt-line="172" data-line-type="context" data-line-index="177,177"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> value</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="179" data-alt-line="173" data-line-type="context" data-line-index="178,178"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> z</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">boolean</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">)</span></div><div data-line="180" data-alt-line="174" data-line-type="context" data-line-index="179,179"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">default</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">),</span></div><div data-line="181" data-line-type="change-addition" data-line-index="181,180"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> SYNTHETIC_ADMIN_TOKEN</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> z</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">().</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">default</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">""</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></span></div><div data-line="182" data-line-type="change-addition" data-line-index="182,181"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> API_CORS_ORIGINS</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> z</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">string</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">().</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">default</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">DEFAULT_API_CORS_ORIGINS</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="183" data-alt-line="176" data-line-type="context" data-line-index="183,182"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">})</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="184" data-alt-line="177" data-line-type="context" data-line-index="184,183">
|
|
</div><div data-line="185" data-alt-line="178" data-line-type="context" data-line-index="185,184"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> env</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> readEnv</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">envSchema</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="186" data-line-type="change-addition" data-line-index="186,185"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> corsAllowedOrigins</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> parseCorsAllowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">API_CORS_ORIGINS</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="187" data-alt-line="179" data-line-type="context" data-line-index="187,186">
|
|
</div><div data-line="188" data-alt-line="180" data-line-type="context" data-line-index="188,187"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> state</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="189" data-alt-line="181" data-line-type="context" data-line-index="189,188"><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> shuttingDown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1181 unmodified lines</span></div></div></div><div data-line="1371" data-alt-line="1363" data-line-type="context" data-line-index="1371,1370"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> hostname</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">API_HOST</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1372" data-alt-line="1364" data-line-type="context" data-line-index="1372,1371"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> port</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> env</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">API_PORT</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1373" data-alt-line="1365" data-line-type="context" data-line-index="1373,1372"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> fetch</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Request</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363"> serverRef</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> any</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1374" data-line-type="change-addition" data-line-index="1375,1373"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">handleApiRequest</span></span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">async</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> ()</span></span><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> Promise</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">&#x3C;</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE">Response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">></span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></span></div><div data-line="1375" data-line-type="change-addition" data-line-index="1376,1374"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> url</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> new</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> URL</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1376" data-alt-line="1367" data-line-type="context" data-line-index="1377,1375">
|
|
</div><div data-line="1377" data-line-type="change-addition" data-line-index="1381,1376"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">method</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "</span><span data-diff-span=""><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43">OPTIONS"</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1378" data-line-type="change-addition" data-line-index="1382,1377"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">createCorsPreflightResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> corsAllowedOrigins</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1379" data-line-type="change-addition" data-line-index="1383,1378"><span data-diff-span=""><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> </span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">}</span></div><div data-line="1380" data-line-type="change-addition" data-line-index="1384,1379">
|
|
</div><div data-line="1381" data-line-type="change-addition" data-line-index="1385,1380"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">method</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "GET"</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">pathname</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "/health"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1382" data-line-type="change-addition" data-line-index="1386,1381"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> status</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "ok"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> });</span></div><div data-line="1383" data-line-type="change-addition" data-line-index="1387,1382"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="1384" data-alt-line="1371" data-line-type="context" data-line-index="1388,1383">
|
|
</div><div data-line="1385" data-alt-line="1372" data-line-type="context" data-line-index="1389,1384"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> if</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">method</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "GET"</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> &#x26;&#x26;</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> url</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">pathname</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> ===</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "/admin/synthetic/status"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1386" data-alt-line="1373" data-line-type="context" data-line-index="1390,1385"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> authError</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> authenticateSyntheticAdminRequest</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">577 unmodified lines</span></div></div></div><div data-line="1964" data-alt-line="1951" data-line-type="context" data-line-index="1968,1963"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "websocket upgrade failed"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 400</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1965" data-alt-line="1952" data-line-type="context" data-line-index="1969,1964"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="1966" data-alt-line="1953" data-line-type="context" data-line-index="1970,1965">
|
|
</div><div data-line="1967" data-line-type="change-addition" data-line-index="1972,1966"><span data-diff-span=""><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> </span></span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> jsonResponse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">({</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> error</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "not found"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> },</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 404</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1968" data-line-type="change-addition" data-line-index="1973,1967"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">;</span></div><div data-line="1969" data-line-type="change-addition" data-line-index="1974,1968">
|
|
</div><div data-line="1970" data-line-type="change-addition" data-line-index="1975,1969"><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> const</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C"> response</span><span style="--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF"> =</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> await</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> handleApiRequest</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">();</span></div><div data-line="1971" data-line-type="change-addition" data-line-index="1976,1970"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> withCorsHeaders</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">req</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> response</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628"> corsAllowedOrigins</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">);</span></div><div data-line="1972" data-alt-line="1955" data-line-type="context" data-line-index="1977,1971"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">,</span></div><div data-line="1973" data-alt-line="1956" data-line-type="context" data-line-index="1978,1972"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> websocket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="1974" data-alt-line="1957" data-line-type="context" data-line-index="1979,1973"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> open</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> (</span><span style="--diffs-token-dark:#A3A3A3;--diffs-token-light:#636363">socket</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> any</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> =></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div></div></code></pre></div></body></html>"></iframe></div></section>
|
|
<section><h2>Expected Impact for End-Users</h2><p>Developers can run <code>bun run dev:web</code> or <code>bun run dev:desktop</code> and see the local terminal connect to the hosted native backend without CORS failures. The live terminal should also stay calmer under evidence-heavy alert windows because it no longer emits oversized by-trace URLs or piles up stale support requests.</p></section>
|
|
<section><h2>Validation</h2><ul class="validation-list"><li>Ran <code>bun test services/api/tests</code>: 38 tests passed.</li><li>Ran <code>bun run typecheck</code>: passed across apps, packages, and services.</li><li>Ran <code>bun --cwd=apps/web run build</code>: passed Next production build.</li><li>Verified hosted API CORS with curl health, OPTIONS preflight, options REST, and websocket checks from local origins.</li><li>Verified <code>bun run dev:web</code> in the in-app browser at <code>http://127.0.0.1:3000/</code>: page showed <code>LIVE: CONNECTED</code> and fresh logs stayed clear of backend network warnings.</li><li>Verified <code>bun run dev:desktop</code>: Electron launched, the runner served the local web UI, and browser verification against its <code>127.0.0.1:3000</code> endpoint showed <code>LIVE: CONNECTED</code>.</li><li>Confirmed no dev server was left listening on port 3000 after validation.</li></ul></section>
|
|
<section><h2>Issues, Limitations, and Mitigations</h2><ul><li>The native deploy command returned a nonzero status during its verification tail, but the native user service was active and direct live API checks passed. I did not leave Docker deployment state running.</li><li>The web build temporarily flipped <code>apps/web/next-env.d.ts</code> from the dev routes file to the production routes file. That generated change was restored and excluded from the final commit.</li><li>The frontend request chunking fixes are validated locally. I did not deploy the hosted web frontend in this pass because the user-facing breakage was local dev access and the hosted API CORS fix is the deployed native change.</li></ul></section>
|
|
<section><h2>Follow-up Work</h2><ul><li>Add a POST batch endpoint for evidence lookups so the terminal never has to encode many trace IDs into a query string.</li><li>Add a scripted browser smoke test for local dev against <code>https://api.flow.deltaisland.io</code>.</li><li>Improve the native deploy script verification path so a successful service restart is reported cleanly.</li></ul></section>
|
|
</main>
|
|
</body>
|
|
</html>
|