ucr-max commited on
Commit
7233de0
·
verified ·
1 Parent(s): bba47fb

Deploy prebuilt CompactLMIndex

Browse files
.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ node_modules/
2
+ .svelte-kit/
3
+ .DS_Store
4
+ DEPLOYMENT.md
README.md CHANGED
@@ -1,12 +1,76 @@
1
  ---
2
- title: Clmi
3
- emoji: 🏢
4
- colorFrom: pink
5
- colorTo: indigo
6
  sdk: static
7
- pinned: false
8
- license: apache-2.0
9
  short_description: Chance-normalized evaluation of compact language models.
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: Compact Language Model Index
3
+ emoji: 📊
4
+ colorFrom: indigo
5
+ colorTo: blue
6
  sdk: static
7
+ app_file: build/index.html
8
+ fullWidth: true
9
  short_description: Chance-normalized evaluation of compact language models.
10
  ---
11
 
12
+ # Compact Language Model Index
13
+
14
+ CompactLMIndex is a curated benchmark for smaller language models. It uses one
15
+ fixed protocol to compare models across commonsense reasoning, science and
16
+ world knowledge, and grammatical competence.
17
+
18
+ ## Evaluation suite
19
+
20
+ The published composite includes six benchmarks:
21
+
22
+ | Area | Benchmark |
23
+ | --- | --- |
24
+ | Situational commonsense | HellaSwag |
25
+ | Physical commonsense | PIQA |
26
+ | Science and world knowledge | ARC-Easy |
27
+ | Science and world knowledge | ARC-Challenge |
28
+ | Conceptual commonsense | CommonsenseQA |
29
+ | Grammatical competence | BLiMP |
30
+
31
+ All models use zero-shot, non-chat log-likelihood prompts. A complete run of
32
+ the core suite is required for a model to receive a rank.
33
+
34
+ ## Scoring
35
+
36
+ Each benchmark score is normalized for random chance:
37
+
38
+ ```text
39
+ 100 × (accuracy − chance) / (1 − chance)
40
+ ```
41
+
42
+ Random performance maps to 0 and perfect performance maps to 100. Scores
43
+ below chance remain negative.
44
+
45
+ The composite is domain-balanced:
46
+
47
+ - commonsense: 50%, split equally between HellaSwag, PIQA, and CommonsenseQA;
48
+ - science and world knowledge: 25%, with ARC-Easy contributing 75% and
49
+ ARC-Challenge 25% within that domain;
50
+ - grammatical competence: 25%, from BLiMP.
51
+
52
+ BLiMP is macro-averaged across its 12 linguistic categories. CommonsenseQA
53
+ scores the full answer text with length normalization rather than answer labels
54
+ such as A–E.
55
+
56
+ ## Uncertainty and ranking
57
+
58
+ Every displayed benchmark and composite interval is a 95% percentile bootstrap
59
+ interval. Model comparisons use paired bootstrap resampling on matched
60
+ evaluation items. Rank ranges show when neighbouring models cannot be reliably
61
+ distinguished under those comparisons.
62
+
63
+ ## Scope and inclusion
64
+
65
+ CompactLMIndex is curated rather than an open intake list. Published results
66
+ are checked against their saved evaluation artifacts, and final inclusion and
67
+ presentation decisions remain with Universal Computing Research.
68
+
69
+ If you have results for a model that fits the benchmark scope, open a
70
+ discussion on this Space for consideration.
71
+
72
+ ## Credits
73
+
74
+ Inspired by the [Open LLM Leaderboard](https://huggingface.co/open-llm-leaderboard),
75
+ [Axiomic Labs Open SLM Leaderboard](https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard),
76
+ and [OpenAI Parameter Golf](https://github.com/openai/parameter-golf).
build/_app/immutable/assets/0.uHywWbNV.css ADDED
@@ -0,0 +1 @@
 
 
1
+ :root{--bg: #040619;--block: #1a1820;--primary: #6C8CFF;--secondary: #52B788;--instruction: color-mix(in srgb, var(--secondary) 70%, var(--primary));--highlight: #ffe23e;--separator: #302934;--font-sans: Manrope, "Avenir Next", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-sans);color:color-mix(in srgb,white 92%,var(--block));background:var(--bg);font-synthesis:none;font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background-color:var(--bg);background-image:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--highlight) 5%,transparent),transparent 34rem),radial-gradient(circle at 0% 38%,color-mix(in srgb,var(--highlight) 5%,transparent),transparent 25rem),radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--highlight) 4%,transparent),transparent 24rem),radial-gradient(circle at 22% 82%,color-mix(in srgb,var(--highlight) 2.5%,transparent),transparent 28rem);background-attachment:fixed;font-size:16px;font-weight:400;line-height:1.5;scrollbar-color:color-mix(in srgb,var(--secondary) 42%,var(--block)) var(--bg);scrollbar-width:thin}*{scrollbar-color:color-mix(in srgb,var(--secondary) 42%,var(--block)) var(--bg);scrollbar-width:thin}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:color-mix(in srgb,var(--bg) 92%,var(--block))}*::-webkit-scrollbar-thumb{border:2px solid color-mix(in srgb,var(--bg) 92%,var(--block));border-radius:999px;background:color-mix(in srgb,var(--secondary) 42%,var(--block))}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--secondary) 68%,var(--primary))}*::-webkit-scrollbar-corner{background:var(--bg)}button{font:inherit}strong{font-weight:500}main{max-width:1440px;margin:0 auto;padding:0 40px}.track{color:color-mix(in srgb,white 66%,var(--block));border:0;border-radius:0;padding:0;font-size:12px;font-weight:400}.hero{position:relative;display:block;max-width:900px;min-height:620px;padding:68px 0 62px}.hero-copy{position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:22px}.hero-kicker .eyebrow{margin:0}.edition{margin-left:3px;padding-left:12px;border-left:1px solid color-mix(in srgb,white 22%,transparent);color:color-mix(in srgb,white 44%,var(--block));font-size:10px;letter-spacing:.12em;text-transform:uppercase}.eyebrow{margin:0 0 13px;color:color-mix(in srgb,white 74%,var(--block));text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.12em}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-weight:400}h1{margin-bottom:0;font-size:clamp(56px,6.4vw,88px);line-height:.91;color:color-mix(in srgb,white 94%,var(--block))}h1 span{color:inherit;font-style:italic;font-weight:300}h2{font-size:29px;line-height:1.15}.hero-description{max-width:590px;margin:34px 0 0;color:color-mix(in srgb,white 65%,var(--block));font-size:17px;line-height:1.6}.hero-link{display:inline-block;margin-top:26px;color:var(--primary);font-size:12px;font-weight:500;letter-spacing:.08em;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 65%,transparent);text-decoration-thickness:1px;text-underline-offset:5px;text-transform:uppercase;transition:color .16s ease,text-decoration-color .16s ease}.hero-link:hover,.hero-link:focus-visible{color:color-mix(in srgb,var(--primary) 78%,white);text-decoration-color:currentColor}.protocol-notice{max-width:650px;margin:18px 0 0;padding-left:13px;border-left:2px solid color-mix(in srgb,var(--highlight) 70%,var(--block));color:color-mix(in srgb,white 62%,var(--block));font-size:13px;line-height:1.55}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid color-mix(in srgb,var(--secondary) 45%,transparent);background:color-mix(in srgb,var(--secondary) 45%,transparent)}.summary-grid article{position:relative;min-height:132px;display:flex;align-items:flex-end;justify-content:space-between;padding:24px 27px;background:var(--bg)}.summary-grid article+article{border-left:1px solid color-mix(in srgb,var(--secondary) 45%,transparent)}.summary-grid article>div{display:grid;gap:2px}.summary-index{position:absolute;left:27px;top:20px;color:color-mix(in srgb,white 35%,var(--block))!important;font-size:10px!important;letter-spacing:.14em;text-transform:uppercase}.summary-grid strong{color:color-mix(in srgb,white 92%,var(--block));font-size:40px;font-weight:400;letter-spacing:-.05em}.summary-grid span{color:color-mix(in srgb,white 60%,var(--block));font-size:13px}.leaderboard-section{padding:68px 0 46px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px}.section-heading .eyebrow{margin-bottom:9px}.filters,.task-tabs,.size-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-stack{display:grid;justify-items:end;gap:8px}.top-filter-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.leaderboard-controls{display:flex;align-items:center;gap:12px}.view-filter{width:max-content;flex:0 0 auto}.filters{border:1px solid var(--block);padding:3px;border-radius:9px;background:var(--block)}.filters button,.task-tabs button,.size-filters button{border:1px solid transparent;background:transparent;color:color-mix(in srgb,white 65%,var(--block));border-radius:6px;cursor:pointer;padding:9px 12px;font-size:13px;font-weight:400}.filters button:hover,.task-tabs button:hover,.size-filters button:hover{color:color-mix(in srgb,white 92%,var(--block))}.filters button.active{color:color-mix(in srgb,white 88%,var(--block));background:color-mix(in srgb,var(--block) 70%,var(--primary))}.size-filters{border:1px solid var(--block);padding:3px;border-radius:9px;background:var(--block);color:color-mix(in srgb,white 48%,var(--block));font-size:11px}.size-filters span{margin-right:2px;text-transform:uppercase;letter-spacing:.1em}.size-filters button{padding:6px 9px;border-color:var(--block);font-size:11px}.filters button,.size-filters button,.view-filter button{height:30px;padding:0 9px;font-size:11px;line-height:1}.size-filters button.active{color:color-mix(in srgb,white 88%,var(--block));border-color:var(--block);background:color-mix(in srgb,var(--block) 70%,var(--primary))}.table-wrap{overflow:auto;margin-top:24px;border:1px solid var(--block);border-radius:10px;background:var(--block);scrollbar-color:color-mix(in srgb,var(--secondary) 46%,var(--block)) color-mix(in srgb,var(--bg) 82%,var(--block))}.table-wrap::-webkit-scrollbar-track{background:color-mix(in srgb,var(--bg) 82%,var(--block))}.table-wrap::-webkit-scrollbar-thumb{border-color:color-mix(in srgb,var(--bg) 82%,var(--block));background:color-mix(in srgb,var(--secondary) 46%,var(--block))}.table-wrap::-webkit-scrollbar-thumb:hover{background:var(--secondary)}table{min-width:1320px;width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}th{color:color-mix(in srgb,white 64%,var(--block));background:color-mix(in srgb,var(--primary) 30%,var(--block));padding:16px;border-bottom:1px solid var(--block);text-align:left;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:500;white-space:nowrap}.sort-button{display:block;width:100%;margin:0;padding:0;border:0;color:color-mix(in srgb,white 82%,var(--block));background:transparent;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;white-space:inherit;cursor:pointer}.sort-button:hover,th.sortable.sorted .sort-button{color:color-mix(in srgb,white 94%,var(--block))}.sort-button:focus-visible{outline:1px solid color-mix(in srgb,white 52%,transparent);outline-offset:4px}th:first-child,td:first-child{padding-left:22px}th span{text-transform:none;letter-spacing:0;font-weight:400}td{border-bottom:1px solid color-mix(in srgb,white 6%,var(--block));padding:18px 16px;vertical-align:middle;white-space:nowrap;color:color-mix(in srgb,white 78%,var(--block))}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--block) 92%,white)}.rank{color:color-mix(in srgb,white 92%,var(--block));font-variant-numeric:tabular-nums;font-weight:500}.model-name{color:color-mix(in srgb,white 92%,var(--block));font-weight:500}.model-link{color:inherit;text-decoration:none}.model-link:hover .model-name,.model-link:focus-visible .model-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.model-link:focus-visible{outline:2px solid color-mix(in srgb,white 45%,transparent);outline-offset:3px;border-radius:2px}.model-source,.metric span{display:block;color:color-mix(in srgb,white 52%,var(--block));font-size:11px;margin-top:4px}.metric{font-variant-numeric:tabular-nums}.score-main{color:color-mix(in srgb,white 88%,var(--block));font-weight:500}.simplified .model-source,.simplified .metric span,.simplified .score-head span,.simplified .metadata,.simplified .metadata-head,.simplified .track-cell,.simplified .track-head{display:none}.simplified .score-head,.simplified .metric-head,.simplified .metric{text-align:center}.track{padding:0}.track.instruction{color:color-mix(in srgb,white 78%,var(--block));background:transparent}.empty-row td{color:color-mix(in srgb,white 55%,var(--block));padding:45px 18px;text-align:center}.panel{border:1px solid var(--block);background:var(--block);border-radius:12px}.landscape{padding:32px 34px 28px}.legend{display:flex;align-items:center;gap:7px;color:color-mix(in srgb,white 64%,var(--block));font-size:13px;white-space:nowrap}.legend-dot{display:inline-block;height:8px;width:8px;margin-left:8px;border-radius:50%;background:var(--primary)}.legend-dot:first-child{margin-left:0}.legend-dot.instruction{background:var(--instruction)}.frontier-key{display:inline-block;width:22px;margin-left:10px;border-top:2px dashed color-mix(in srgb,white 78%,var(--block))}.frontier-label{display:inline-flex;align-items:center;gap:7px;margin-left:10px}.scatter-area{position:relative;margin-top:22px;min-height:412px;padding-bottom:22px}.scatter-area svg{display:block;width:100%;height:auto;min-height:320px;overflow:visible;shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.grid-line{stroke:color-mix(in srgb,var(--primary) 35%,var(--bg));stroke-width:1}.axis-line{stroke:color-mix(in srgb,var(--primary) 42%,var(--bg));stroke-width:1}.axis-text,.axis-title{fill:color-mix(in srgb,white 57%,var(--block));font-size:13px;font-family:var(--font-sans);font-weight:400;letter-spacing:.005em}.axis-title{font-size:13.5px;fill:color-mix(in srgb,white 72%,var(--block));letter-spacing:.01em}.frontier-line{fill:none;stroke:color-mix(in srgb,white 78%,var(--block));stroke-width:2;stroke-dasharray:7 6;opacity:.9}.point{fill:var(--primary);stroke:var(--block);stroke-width:3;cursor:pointer;transition:r .15s ease,filter .15s ease}.point:hover,.point:focus-visible{r:8;filter:brightness(1.25)}.point:focus{outline:none}.point.instruction-point{fill:var(--instruction)}.chart-tooltip{pointer-events:none;position:absolute;transform:translate(-50%,-100%);min-width:160px;max-width:calc(100% - 20px);z-index:2;padding:12px 14px;border:1px solid var(--block);border-radius:8px;background:var(--block);color:color-mix(in srgb,white 92%,var(--block));box-shadow:0 12px 28px #00000073;font-size:13px}.chart-tooltip strong,.chart-tooltip span,.chart-tooltip b{display:block}.chart-tooltip strong{font-weight:500}.chart-tooltip span{margin:4px 0 8px;color:color-mix(in srgb,white 68%,var(--block))}.chart-tooltip b{color:color-mix(in srgb,white 88%,var(--block));font-size:15px;font-weight:500}.chart-tooltip em{font-style:normal;font-size:11px;color:color-mix(in srgb,white 56%,var(--block));font-weight:400}.chart-controls{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:46px 0 22px}.chart-controls .eyebrow{margin-bottom:7px}.chart-controls .section-note{margin:0;max-width:460px}.chart-controls .task-tabs{margin:0;justify-content:flex-end}.score-panel{margin-top:22px;padding:32px 34px 34px}.compact-heading{display:block}.section-note{max-width:720px;margin:12px 0 0;color:color-mix(in srgb,white 65%,var(--block));font-size:14px;line-height:1.6}.task-tabs{margin:28px 0 22px}.task-tabs button{border-color:transparent;background:color-mix(in srgb,var(--bg) 62%,var(--block));border-radius:6px;font-size:12px}.task-tabs button.active{border-color:transparent;background:color-mix(in srgb,var(--block) 70%,var(--primary));color:color-mix(in srgb,white 88%,var(--block))}.bar-list{padding:12px 0}.bar-toggle{display:grid;place-items:center;width:46px;height:32px;margin:12px auto 0;padding:0;border:0;border-radius:999px;background:transparent;color:color-mix(in srgb,white 72%,var(--block));cursor:pointer;transition:background .16s ease,color .16s ease}.bar-toggle:hover,.bar-toggle:focus-visible{background:color-mix(in srgb,var(--primary) 28%,transparent);color:color-mix(in srgb,white 92%,var(--block));outline:none}.bar-toggle-chevron{width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .18s ease}.bar-toggle.expanded .bar-toggle-chevron{transform:translateY(3px) rotate(225deg)}.bar-row{display:grid;grid-template-columns:30px minmax(165px,220px) 1fr 58px;gap:16px;align-items:center;min-height:46px}.bar-rank{color:color-mix(in srgb,white 48%,var(--block));font-size:12px;text-align:right}.bar-name{color:color-mix(in srgb,white 74%,var(--block));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.bar-track{position:relative;height:18px;overflow:hidden;border-radius:4px;background:color-mix(in srgb,var(--block) 88%,var(--primary))}.zero-line{position:absolute;z-index:1;top:0;bottom:0;left:var(--zero);border-left:1px solid color-mix(in srgb,var(--secondary) 45%,var(--bg))}.bar-fill{position:absolute;z-index:2;top:2px;bottom:2px;left:var(--start);width:var(--width);border-radius:3px;background:var(--primary)}.bar-fill.instruction-fill{background:var(--instruction)}.bar-fill.negative{background:color-mix(in srgb,var(--primary) 48%,var(--block))}.ci-band{position:absolute;z-index:3;top:2px;bottom:2px;left:var(--start);width:var(--width);border-radius:3px;background:color-mix(in srgb,white 30%,transparent)}.ci-band.instruction-band{background:color-mix(in srgb,white 26%,transparent)}.ci-band.negative-band{background:color-mix(in srgb,white 22%,transparent)}.bar-row strong{color:color-mix(in srgb,white 83%,var(--block));font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.empty-chart{min-height:320px;display:grid;place-items:center;color:color-mix(in srgb,white 58%,var(--block));border:1px dashed var(--block);background:var(--block);margin-top:20px;border-radius:8px;font-size:14px}.empty-chart.short{min-height:180px}.bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:22px 0 46px}.method-card,.protocol-card{padding:32px 34px}.method-card p:not(.eyebrow),.protocol-card p:not(.eyebrow),.protocol-card li{color:color-mix(in srgb,white 70%,var(--block));font-size:14px;line-height:1.6}.formula{color:color-mix(in srgb,white 92%,var(--block))!important;font-size:24px!important;letter-spacing:-.04em;margin:24px 0 18px}.formula span{color:color-mix(in srgb,white 78%,var(--block))}.protocol-card ul{padding-left:17px;margin:20px 0}.protocol-card a{color:color-mix(in srgb,white 84%,var(--block));font-size:14px;font-weight:500;text-decoration-color:color-mix(in srgb,var(--primary) 55%,transparent);text-underline-offset:3px}.protocol-card a:hover{color:#fff}.additional-card{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:22px;padding:30px 34px}.additional-card .eyebrow{margin-bottom:9px}.additional-card h2{margin:0}.credits-content{max-width:680px}.credits-content p{margin:0;color:color-mix(in srgb,white 70%,var(--block));font-size:14px;line-height:1.6}.credits-content .credits-attribution{margin-top:14px;color:color-mix(in srgb,white 58%,var(--block))}.credits-content a{color:color-mix(in srgb,white 84%,var(--block));text-decoration-color:color-mix(in srgb,var(--primary) 55%,transparent);text-underline-offset:3px}.credits-content a:hover{color:#fff}footer{color:color-mix(in srgb,white 50%,var(--block));border-top:1px solid var(--separator);padding:26px 0 38px;font-size:12px;line-height:1.6}footer p{margin:0}footer p+p{margin-top:4px}footer a{color:var(--secondary);text-decoration:none}footer a:hover,footer a:focus-visible{color:color-mix(in srgb,white 92%,var(--block));text-decoration:underline}@media(max-width:760px){html,body{width:100%}main{width:100%;max-width:none;padding:0 20px}.hero{grid-template-columns:1fr;gap:35px;min-height:0;padding:52px 0 38px}h1{font-size:clamp(51px,16vw,72px)}.hero-description{margin-top:26px;font-size:15px}.hero-kicker{flex-wrap:wrap}.summary-grid{width:min(100%,390px);margin-inline:auto;grid-template-columns:1fr}.summary-grid article{display:grid;align-content:center;justify-items:center;text-align:center;padding-inline:27px}.summary-grid article+article{padding-left:27px}.summary-index{left:0;right:0;width:100%;transform:none;text-align:center!important}.summary-grid article>div{position:absolute;left:0;right:0;top:58%;width:auto;max-width:none;margin:0;display:grid!important;justify-items:center;gap:2px;transform:translateY(-50%);text-align:center!important}.summary-grid article>div>strong,.summary-grid article>div>span{display:block;align-self:center;text-align:center!important}.summary-grid strong{font-size:30px}.section-heading{align-items:flex-start;flex-direction:column}.chart-controls{align-items:flex-start;flex-direction:column;gap:12px;margin:34px 0 18px}.chart-controls .task-tabs{justify-content:flex-start;width:100%;overflow:visible;flex-wrap:wrap;gap:4px}.chart-controls .task-tabs button{padding:8px 9px;font-size:11px}.filters,.filter-stack{width:100%}.leaderboard-controls{width:100%;flex-direction:column;align-items:stretch;gap:8px}.top-filter-row{width:100%}.top-filter-row .view-filter{width:max-content}.top-filter-row .filters{width:auto;flex:1;min-width:0}.filter-stack{justify-items:stretch}.size-filters{justify-self:start;width:max-content;max-width:100%;flex-wrap:nowrap;overflow-x:auto}.filters button{flex:1}.leaderboard-section{padding:52px 0 35px}.landscape,.score-panel{padding:22px 16px}.legend{flex-wrap:wrap;white-space:normal}.frontier-label{margin-left:0}.scatter-area{min-height:0;margin-top:14px;padding-bottom:6px}.scatter-area svg{height:auto;min-height:0}.chart-tooltip{left:50%!important;min-width:0;width:max-content;max-width:calc(100% - 20px);padding:10px 12px;font-size:12px}.bar-row{grid-template-columns:22px minmax(90px,120px) 1fr 58px;gap:9px}.bar-name,.bar-row strong{font-size:11px}.bottom-grid{grid-template-columns:1fr}.method-card,.protocol-card{padding:28px 24px}.additional-card{grid-template-columns:1fr;gap:14px;padding:26px 24px}}@media(min-width:761px)and (max-width:1040px){.hero{min-height:620px}.visual-tag{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
build/_app/immutable/chunks/CdZ30l9o.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var tt=Object.defineProperty;var _n=e=>{throw TypeError(e)};var rt=(e,n,t)=>n in e?tt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var V=(e,n,t)=>rt(e,typeof n!="symbol"?n+"":n,t),je=(e,n,t)=>n.has(e)||_n("Cannot "+t);var c=(e,n,t)=>(je(e,n,"read from private field"),t?t.call(e):n.get(e)),w=(e,n,t)=>n.has(e)?_n("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),m=(e,n,t,r)=>(je(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),D=(e,n,t)=>(je(e,n,"access private method"),t);const tr=16,rr=32;const sr=128;const ir=8192,lr=16384,fr=32768,ar=33554432,ur=65536;const or=262144,cr=524288;const _r=33554432;const De=Symbol("$state"),Er=Symbol("legacy props"),vr=Symbol(""),st=Symbol("attributes"),it=Symbol("class"),lt=Symbol("style"),ft=Symbol("text"),Oe=new class extends Error{constructor(){super(...arguments);V(this,"name","StaleReactionError");V(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Cn;const dr=!!((Cn=globalThis.document)!=null&&Cn.contentType)&&globalThis.document.contentType.includes("xml"),Be=3,An=8,Dn=!1;var at=Array.isArray,ut=Array.prototype.indexOf,Ye=Array.prototype.includes,pr=Array.from,Tr=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,ot=Object.getOwnPropertyDescriptors,ct=Object.prototype,_t=Array.prototype,Nn=Object.getPrototypeOf,En=Object.isExtensible;function Rr(e){return typeof e=="function"}const Et=()=>{};function Cr(e){return e()}function vt(e){for(var n=0;n<e.length;n++)e[n]()}function Fn(){var e,n,t=new Promise((r,s)=>{e=r,n=s});return{promise:t,resolve:e,reject:n}}function yn(e){return e===this.v}function ht(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function wn(e){return!ht(e,this.v)}function dt(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Ar(e,n,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function pt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Tt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Rt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ct(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Dr(){throw new Error("https://svelte.dev/e/hydration_failed")}function Nr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function At(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Dt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Nt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Fr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}let Ve=!1,Ft=!1;function yr(){Ve=!0}const wr=1,Ir=2,Or=4,gr=8,Sr=16,mr=1,Yr=2,br=4,Lr=8,Mr=16,kr=4,xr=1,Pr=2,yt="[",wt="[!",Br="[?",It="]",Qe={},N=Symbol("uninitialized"),Vr="http://www.w3.org/1999/xhtml";let F=null;function be(e){F=e}function Hr(e,n=!1,t){F={p:F,i:!1,c:null,e:null,s:e,x:null,r:R,l:Ve&&!n?{s:null,u:null,$:[]}:null}}function Ur(e){var n=F,t=n.e;if(t!==null){n.e=null;for(var r of t)Xn(r)}return n.i=!0,F=n.p,{}}function ge(){return!Ve||F!==null&&F.l===null}let X=[];function In(){var e=X;X=[],vt(e)}function vn(e){if(X.length===0&&!ye){var n=X;queueMicrotask(()=>{n===X&&In()})}X.push(e)}function Ot(){for(;X.length>0;)In()}function gt(){console.warn("https://svelte.dev/e/derived_inert")}function en(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function jr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let te=!1;function Kr(e){te=e}let y;function he(e){if(e===null)throw en(),Qe;return y=e}function Gr(){return he($(y))}function qr(e){if(te){if($(y)!==null)throw en(),Qe;y=e}}function Wr(e=1){if(te){for(var n=e,t=y;n--;)t=$(t);y=t}}function $r(e=!0){for(var n=0,t=y;;){if(t.nodeType===An){var r=t.data;if(r===It){if(n===0)return t;n-=1}else(r===yt||r===wt||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=$(t);e&&t.remove(),t=s}}function zr(e){if(!e||e.nodeType!==An)throw en(),Qe;return e.data}function pe(e){if(typeof e!="object"||e===null||De in e)return e;const n=Nn(e);if(n!==ct&&n!==_t)return e;var t=new Map,r=at(e),s=j(0),i=ne,o=a=>{if(ne===i)return a();var f=d,u=ne;q(null),Rn(i);var E=a();return q(f),Rn(u),E};return r&&t.set("length",j(e.length)),new Proxy(e,{defineProperty(a,f,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&At();var E=t.get(f);return E===void 0?o(()=>{var v=j(u.value);return t.set(f,v),v}):z(E,u.value,!0),!0},deleteProperty(a,f){var u=t.get(f);if(u===void 0){if(f in a){const E=o(()=>j(N));t.set(f,E),qe(s)}}else z(u,N),qe(s);return!0},get(a,f,u){var _;if(f===De)return e;var E=t.get(f),v=f in a;if(E===void 0&&(!v||(_=Ne(a,f))!=null&&_.writable)&&(E=o(()=>{var h=pe(v?a[f]:N),T=j(h);return T}),t.set(f,E)),E!==void 0){var l=Ae(E);return l===N?void 0:l}return Reflect.get(a,f,u)},getOwnPropertyDescriptor(a,f){var u=Reflect.getOwnPropertyDescriptor(a,f);if(u&&"value"in u){var E=t.get(f);E&&(u.value=Ae(E))}else if(u===void 0){var v=t.get(f),l=v==null?void 0:v.v;if(v!==void 0&&l!==N)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return u},has(a,f){var l;if(f===De)return!0;var u=t.get(f),E=u!==void 0&&u.v!==N||Reflect.has(a,f);if(u!==void 0||R!==null&&(!E||(l=Ne(a,f))!=null&&l.writable)){u===void 0&&(u=o(()=>{var _=E?pe(a[f]):N,h=j(_);return h}),t.set(f,u));var v=Ae(u);if(v===N)return!1}return E},set(a,f,u,E){var cn;var v=t.get(f),l=f in a;if(r&&f==="length")for(var _=u;_<v.v;_+=1){var h=t.get(_+"");h!==void 0?z(h,N):_ in a&&(h=o(()=>j(N)),t.set(_+"",h))}if(v===void 0)(!l||(cn=Ne(a,f))!=null&&cn.writable)&&(v=o(()=>j(void 0)),z(v,pe(u)),t.set(f,v));else{l=v.v!==N;var T=o(()=>pe(u));z(v,T)}var O=Reflect.getOwnPropertyDescriptor(a,f);if(O!=null&&O.set&&O.set.call(E,u),!l){if(r&&typeof f=="string"){var on=t.get("length"),Ue=Number(f);Number.isInteger(Ue)&&Ue>=on.v&&z(on,Ue+1)}qe(s)}return!0},ownKeys(a){Ae(s);var f=Reflect.ownKeys(a).filter(v=>{var l=t.get(v);return l===void 0||l.v!==N});for(var[u,E]of t)E.v!==N&&!(u in a)&&f.push(u);return f},setPrototypeOf(){Dt()}})}var hn,St,mt,On,gn;function Xr(){if(hn===void 0){hn=window,St=document,mt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;On=Ne(n,"firstChild").get,gn=Ne(n,"nextSibling").get,En(e)&&(e[it]=void 0,e[st]=null,e[lt]=void 0,e.__e=void 0),En(t)&&(t[ft]=void 0)}}function Le(e=""){return document.createTextNode(e)}function We(e){return On.call(e)}function $(e){return gn.call(e)}function Zr(e,n){if(!te)return We(e);var t=We(y);if(t===null)t=y.appendChild(Le());else if(n&&t.nodeType!==Be){var r=Le();return t==null||t.before(r),he(r),r}return n&&nn(t),he(t),t}function Jr(e,n=!1){if(!te){var t=We(e);return t instanceof Comment&&t.data===""?$(t):t}if(n){if((y==null?void 0:y.nodeType)!==Be){var r=Le();return y==null||y.before(r),he(r),r}nn(y)}return y}function Qr(e,n=1,t=!1){let r=te?y:e;for(var s;n--;)s=r,r=$(r);if(!te)return r;if(t){if((r==null?void 0:r.nodeType)!==Be){var i=Le();return r===null?s==null||s.after(i):r.before(i),he(i),i}nn(r)}return he(r),r}function es(e){e.textContent=""}function ns(){return!1}function ts(e,n,t){return t?document.createElement(e,{is:t}):document.createElement(e)}function nn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===Be;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}function Yt(e){var n=R;if(n===null)return d.f|=8388608,e;if((n.f&32768)===0&&(n.f&4)===0)throw e;Me(e,n)}function Me(e,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}}const bt=-7169;function A(e,n){e.f=e.f&bt|n}function tn(e){(e.f&512)!==0||e.deps===null?A(e,1024):A(e,4096)}function Sn(e){if(e!==null)for(const n of e)(n.f&2)===0||(n.f&65536)===0||(n.f^=65536,Sn(n.deps))}function Lt(e,n,t){(e.f&2048)!==0?n.add(e):(e.f&4096)!==0&&t.add(e),Sn(e.deps),A(e,1024)}function He(e){var n=d,t=R;q(null),W(null);try{return e()}finally{q(n),W(t)}}function Mt(e,n,t,r){const s=ge()?rn:Pt;var i=e.filter(_=>!_.settled),o=n.map(s);if(t.length===0&&i.length===0){r(o);return}var a=R,f=kt(),u=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function E(_){if((a.f&16384)===0){f();try{r([...o,..._])}catch(h){Me(h,a)}ke()}}var v=mn();if(t.length===0){u.then(()=>E([])).finally(v);return}function l(){Promise.all(t.map(_=>xt(_))).then(E).catch(_=>Me(_,a)).finally(v)}u?u.then(()=>{f(),l(),ke()}):l()}function kt(){var e=R,n=d,t=F,r=p;return function(i=!0){W(e),q(n),be(t),i&&(e.f&16384)===0&&(r==null||r.activate(),r==null||r.apply())}}function ke(e=!0){W(null),q(null),be(null),e&&(p==null||p.deactivate())}function mn(){var e=R,n=e.b,t=p,r=!!(n!=null&&n.is_rendered());return n==null||n.update_pending_count(1,t),t.increment(r,e),()=>{n==null||n.update_pending_count(-1,t),t.decrement(r,e)}}function rn(e){var n=2050;return R!==null&&(R.f|=524288),{ctx:F,deps:null,effects:null,equals:yn,f:n,fn:e,reactions:null,rv:0,v:N,wv:0,parent:R,ac:null}}const Te=Symbol("obsolete");function xt(e,n,t){let r=R;r===null&&dt();var s=void 0,i=an(N),o=!d,a=new Set;return Zt(()=>{var _,h;var f=R,u=Fn();s=u.promise;try{Promise.resolve(e()).then(u.resolve,T=>{T!==Oe&&u.reject(T)}).finally(ke)}catch(T){u.reject(T),ke()}var E=p;if(o){if((f.f&32768)!==0)var v=mn();if((_=r.b)!=null&&_.is_rendered())(h=E.async_deriveds.get(f))==null||h.reject(Te);else for(const T of a.values())T.reject(Te);a.add(u),E.async_deriveds.set(f,u)}const l=(T,O=void 0)=>{v==null||v(),a.delete(u),O!==Te&&(E.activate(),O?(i.f|=8388608,Ze(i,O)):((i.f&8388608)!==0&&(i.f^=8388608),Ze(i,T)),E.deactivate())};u.promise.then(l,T=>l(null,T||"unknown"))}),Xt(()=>{for(const f of a)f.reject(Te)}),new Promise(f=>{function u(E){function v(){E===s?f(i):u(s)}E.then(v,v)}u(s)})}function rs(e){const n=rn(e);return Hn(n),n}function Pt(e){const n=rn(e);return n.equals=wn,n}function Bt(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t<n.length;t+=1)ie(n[t])}}function sn(e){var n,t=R,r=e.parent;if(!G&&r!==null&&e.v!==N&&(r.f&24576)!==0)return gt(),e.v;W(r);try{e.f&=-65537,Bt(e),n=Gn(e)}finally{W(t)}return n}function Yn(e){var n=sn(e);if(!e.equals(n)&&(e.wv=jn(),(!(p!=null&&p.is_fork)||e.deps===null)&&(p!==null?(p.capture(e,n,!0),Fe==null||Fe.capture(e,n,!0)):e.v=n,e.deps===null))){A(e,1024);return}G||(I!==null?(zn()||p!=null&&p.is_fork)&&I.set(e,n):tn(e))}function Vt(e){var n;if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&((n=t.teardown)==null||n.call(t),t.ac!==null&&He(()=>{t.ac.abort(Oe),t.ac=null}),t.fn!==null&&(t.teardown=Et),we(t,0),un(t))}function bn(e){if(e.effects!==null)for(const n of e.effects)n.teardown&&n.fn!==null&&se(n)}let Ke=null,le=null,p=null,Fe=null,I=null,$e=null,ye=!1,Ge=!1,ae=null,Se=null;var dn=0;let Ht=1;var ue,K,J,oe,ce,_e,H,Ee,g,Ie,U,M,x,ve,Q,C,ze,Re,Xe,Ln,Mn,fe,Ut,Ce;const Pe=class Pe{constructor(){w(this,C);V(this,"id",Ht++);w(this,ue,!1);V(this,"linked",!0);w(this,K,null);w(this,J,null);V(this,"async_deriveds",new Map);V(this,"current",new Map);V(this,"previous",new Map);w(this,oe,new Set);w(this,ce,new Set);w(this,_e,0);w(this,H,new Map);w(this,Ee,null);w(this,g,[]);w(this,Ie,[]);w(this,U,new Set);w(this,M,new Set);w(this,x,new Map);w(this,ve,new Set);V(this,"is_fork",!1);w(this,Q,!1);le===null?Ke=le=this:(m(le,J,this),m(this,K,le)),le=this}skip_effect(n){c(this,x).has(n)||c(this,x).set(n,{d:[],m:[]}),c(this,ve).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=c(this,x).get(n);if(r){c(this,x).delete(n);for(var s of r.d)A(s,2048),t(s);for(s of r.m)A(s,4096),t(s)}c(this,ve).add(n)}capture(n,t,r=!1){n.v!==N&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[t,r]),I==null||I.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,I=null}flush(){try{Ge=!0,p=this,D(this,C,Re).call(this)}finally{dn=0,$e=null,ae=null,Se=null,Ge=!1,p=null,I=null,ee.clear()}}discard(){var n;for(const t of c(this,ce))t(this);c(this,ce).clear();for(const t of this.async_deriveds.values())t.reject(Te);D(this,C,Ce).call(this),(n=c(this,Ee))==null||n.resolve()}register_created_effect(n){c(this,Ie).push(n)}increment(n,t){if(m(this,_e,c(this,_e)+1),n){let r=c(this,H).get(t)??0;c(this,H).set(t,r+1)}}decrement(n,t){if(m(this,_e,c(this,_e)-1),n){let r=c(this,H).get(t)??0;r===1?c(this,H).delete(t):c(this,H).set(t,r-1)}c(this,Q)||(m(this,Q,!0),vn(()=>{m(this,Q,!1),this.linked&&this.flush()}))}transfer_effects(n,t){for(const r of n)c(this,U).add(r);for(const r of t)c(this,M).add(r);n.clear(),t.clear()}oncommit(n){c(this,oe).add(n)}ondiscard(n){c(this,ce).add(n)}settled(){return(c(this,Ee)??m(this,Ee,Fn())).promise}static ensure(){if(p===null){const n=p=new Pe;!Ge&&!ye&&vn(()=>{c(n,ue)||n.flush()})}return p}apply(){{I=null;return}}schedule(n){var s;if($e=n,(s=n.b)!=null&&s.is_pending&&(n.f&16777228)!==0&&(n.f&32768)===0){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(ae!==null&&t===R&&(d===null||(d.f&2)===0))return;if((r&96)!==0){if((r&1024)===0)return;t.f^=1024}}c(this,g).push(t)}};ue=new WeakMap,K=new WeakMap,J=new WeakMap,oe=new WeakMap,ce=new WeakMap,_e=new WeakMap,H=new WeakMap,Ee=new WeakMap,g=new WeakMap,Ie=new WeakMap,U=new WeakMap,M=new WeakMap,x=new WeakMap,ve=new WeakMap,Q=new WeakMap,C=new WeakSet,ze=function(){if(this.is_fork)return!0;for(const r of c(this,H).keys()){for(var n=r,t=!1;n.parent!==null;){if(c(this,x).has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1},Re=function(){var f,u,E,v;m(this,ue,!0),dn++>1e3&&(D(this,C,Ce).call(this),Kt());for(const l of c(this,U))c(this,M).delete(l),A(l,2048),this.schedule(l);for(const l of c(this,M))A(l,4096),this.schedule(l);const n=c(this,g);m(this,g,[]),this.apply();var t=ae=[],r=[],s=Se=[];for(const l of n)try{D(this,C,Xe).call(this,l,t,r)}catch(_){throw Pn(l),D(this,C,ze).call(this)||this.discard(),_}if(p=null,s.length>0){var i=Pe.ensure();for(const l of s)i.schedule(l)}if(ae=null,Se=null,D(this,C,ze).call(this)){D(this,C,fe).call(this,r),D(this,C,fe).call(this,t);for(const[l,_]of c(this,x))xn(l,_);s.length>0&&D(f=p,C,Re).call(f);return}const o=D(this,C,Ln).call(this);if(o){D(this,C,fe).call(this,r),D(this,C,fe).call(this,t),D(u=o,C,Mn).call(u,this);return}c(this,U).clear(),c(this,M).clear();for(const l of c(this,oe))l(this);c(this,oe).clear(),Fe=this,pn(r),pn(t),Fe=null,(E=c(this,Ee))==null||E.resolve();var a=p;if(c(this,_e)===0&&(c(this,g).length===0||a!==null)&&D(this,C,Ce).call(this),c(this,g).length>0)if(a!==null){const l=a;c(l,g).push(...c(this,g).filter(_=>!c(l,g).includes(_)))}else a=this;a!==null&&D(v=a,C,Re).call(v)},Xe=function(n,t,r){n.f^=1024;for(var s=n.first;s!==null;){var i=s.f,o=(i&96)!==0,a=o&&(i&1024)!==0,f=a||(i&8192)!==0||c(this,x).has(s);if(!f&&s.fn!==null){o?s.f^=1024:(i&4)!==0?t.push(s):de(s)&&((i&16)!==0&&c(this,M).add(s),se(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var E=s.next;if(E!==null){s=E;break}s=s.parent}}},Ln=function(){for(var n=c(this,K);n!==null;){if(!n.is_fork){for(const[t,[,r]]of this.current)if(n.current.has(t)&&!r)return n}n=c(n,K)}return null},Mn=function(n){var r;for(const[s,i]of n.current)!this.previous.has(s)&&n.previous.has(s)&&this.previous.set(s,n.previous.get(s)),this.current.set(s,i);for(const[s,i]of n.async_deriveds){const o=this.async_deriveds.get(s);o&&i.promise.then(o.resolve).catch(o.reject)}n.async_deriveds.clear(),this.transfer_effects(c(n,U),c(n,M));const t=s=>{var i=s.reactions;if(i!==null&&!((s.f&2)!==0&&(s.f&6144)===0))for(const f of i){var o=f.f;if((o&2)!==0)t(f);else{var a=f;o&4194320&&!this.async_deriveds.has(a)&&(c(this,M).delete(a),A(a,2048),this.schedule(a))}}};for(const s of this.current.keys())t(s);this.oncommit(()=>n.discard()),D(r=n,C,Ce).call(r),p=this,D(this,C,Re).call(this)},fe=function(n){for(var t=0;t<n.length;t+=1)Lt(n[t],c(this,U),c(this,M))},Ut=function(){var v;for(let l=Ke;l!==null;l=c(l,J)){var n=l.id<this.id,t=[];for(const[_,[h,T]]of this.current){if(l.current.has(_)){var r=l.current.get(_)[0];if(n&&h!==r)l.current.set(_,[h,T]);else continue}t.push(_)}if(n)for(const[_,h]of this.async_deriveds){const T=l.async_deriveds.get(_);T&&h.promise.then(T.resolve).catch(T.reject)}var s=[...l.current.keys()].filter(_=>!l.current.get(_)[1]);if(!(!c(l,ue)||s.length===0)){var i=s.filter(_=>!this.current.has(_));if(i.length===0)n&&l.discard();else if(t.length>0){if(n)for(const _ of c(this,ve))l.unskip_effect(_,h=>{var T;(h.f&4194320)!==0?l.schedule(h):D(T=l,C,fe).call(T,[h])});l.activate();var o=new Set,a=new Map;for(var f of t)kn(f,i,o,a);a=new Map;var u=[...l.current].filter(([_,h])=>{const T=this.current.get(_);return T?T[0]!==h[0]||T[1]!==h[1]:!0}).map(([_])=>_);if(u.length>0)for(const _ of c(this,Ie))(_.f&155648)===0&&ln(_,u,a)&&((_.f&4194320)!==0?(A(_,2048),l.schedule(_)):c(l,U).add(_));if(c(l,g).length>0&&!c(l,Q)){l.apply();for(var E of c(l,g))D(v=l,C,Xe).call(v,E,[],[]);m(l,g,[])}l.deactivate()}}}},Ce=function(){if(this.linked){var n=c(this,K),t=c(this,J);n===null?Ke=t:m(n,J,t),t===null?le=n:m(t,K,n),this.linked=!1}};let re=Pe;function jt(e){var n=ye;ye=!0;try{for(var t;;){if(Ot(),p===null)return t;p.flush()}}finally{ye=n}}function Kt(){try{Ct()}catch(e){Me(e,$e)}}let L=null;function pn(e){var n=e.length;if(n!==0){for(var t=0;t<n;){var r=e[t++];if((r.f&24576)===0&&de(r)&&(L=new Set,se(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Qn(r),(L==null?void 0:L.size)>0)){ee.clear();for(const s of L){if((s.f&24576)!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)L.has(o)&&(L.delete(o),i.push(o)),o=o.parent;for(let a=i.length-1;a>=0;a--){const f=i[a];(f.f&24576)===0&&se(f)}}L.clear()}}L=null}}function kn(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&2)!==0?kn(s,n,t,r):(i&4194320)!==0&&(i&2048)===0&&ln(s,n,r)&&(A(s,2048),fn(s))}}function ln(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Ye.call(n,s))return!0;if((s.f&2)!==0&&ln(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function fn(e){p.schedule(e)}function xn(e,n){if(!((e.f&32)!==0&&(e.f&1024)!==0)){(e.f&2048)!==0?n.d.push(e):(e.f&4096)!==0&&n.m.push(e),A(e,1024);for(var t=e.first;t!==null;)xn(t,n),t=t.next}}function Pn(e){A(e,1024);for(var n=e.first;n!==null;)Pn(n),n=n.next}let xe=new Set;const ee=new Map;let Bn=!1;function an(e,n){var t={f:0,v:e,reactions:null,equals:yn,rv:0,wv:0};return t}function j(e,n){const t=an(e);return Hn(t),t}function ss(e,n=!1,t=!0){var s;const r=an(e);return n||(r.equals=wn),Ve&&t&&F!==null&&F.l!==null&&((s=F.l).s??(s.s=[])).push(r),r}function z(e,n,t=!1){d!==null&&(!k||(d.f&131072)!==0)&&ge()&&(d.f&4325394)!==0&&(P===null||!P.has(e))&&Nt();let r=t?pe(n):n;return Ze(e,r,Se)}function Ze(e,n,t=null){if(!e.equals(n)){ee.set(e,G?n:e.v);var r=re.ensure();if(r.capture(e,n),(e.f&2)!==0){const s=e;(e.f&2048)!==0&&sn(s),I===null&&tn(s)}e.wv=jn(),Vn(e,2048,t),ge()&&R!==null&&(R.f&1024)!==0&&(R.f&96)===0&&(b===null?qt([e]):b.push(e)),!r.is_fork&&xe.size>0&&!Bn&&Gt()}return n}function Gt(){Bn=!1;for(const e of xe){(e.f&1024)!==0&&A(e,4096);let n;try{n=de(e)}catch{n=!0}n&&se(e)}xe.clear()}function qe(e){z(e,e.v+1)}function Vn(e,n,t){var r=e.reactions;if(r!==null)for(var s=ge(),i=r.length,o=0;o<i;o++){var a=r[o],f=a.f;if(!(!s&&a===R)){var u=(f&2048)===0;if(u&&A(a,n),(f&131072)!==0)xe.add(a);else if((f&2)!==0){var E=a;I==null||I.delete(E),(f&65536)===0&&(f&512&&(R===null||(R.f&2097152)===0)&&(a.f|=65536),Vn(E,4096,t))}else if(u){var v=a;(f&16)!==0&&L!==null&&L.add(v),t!==null?t.push(v):fn(v)}}}}let me=!1,G=!1;function Tn(e){G=e}let d=null,k=!1;function q(e){d=e}let R=null;function W(e){R=e}let P=null;function Hn(e){d!==null&&(P??(P=new Set)).add(e)}let S=null,Y=0,b=null;function qt(e){b=e}let Un=1,Z=0,ne=Z;function Rn(e){ne=e}function jn(){return++Un}function de(e){var n=e.f;if((n&2048)!==0)return!0;if(n&2&&(e.f&=-65537),(n&4096)!==0){for(var t=e.deps,r=t.length,s=0;s<r;s++){var i=t[s];if(de(i)&&Yn(i),i.wv>e.wv)return!0}(n&512)!==0&&I===null&&A(e,1024)}return!1}function Kn(e,n,t=!0){var r=e.reactions;if(r!==null&&!(P!==null&&P.has(e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&2)!==0?Kn(i,n,!1):n===i&&(t?A(i,2048):(i.f&1024)!==0&&A(i,4096),fn(i))}}function Gn(e){var T;var n=S,t=Y,r=b,s=d,i=P,o=F,a=k,f=ne,u=e.f;S=null,Y=0,b=null,d=(u&96)===0?e:null,P=null,be(e.ctx),k=!1,ne=++Z,e.ac!==null&&(He(()=>{e.ac.abort(Oe)}),e.ac=null);try{e.f|=2097152;var E=e.fn,v=E();e.f|=32768;var l=e.deps,_=p==null?void 0:p.is_fork;if(S!==null){var h;if(_||we(e,Y),l!==null&&Y>0)for(l.length=Y+S.length,h=0;h<S.length;h++)l[Y+h]=S[h];else e.deps=l=S;if(zn()&&(e.f&512)!==0)for(h=Y;h<l.length;h++)((T=l[h]).reactions??(T.reactions=[])).push(e)}else!_&&l!==null&&Y<l.length&&(we(e,Y),l.length=Y);if(ge()&&b!==null&&!k&&l!==null&&(e.f&6146)===0)for(h=0;h<b.length;h++)Kn(b[h],e);if(s!==null&&s!==e){if(Z++,s.deps!==null)for(let O=0;O<t;O+=1)s.deps[O].rv=Z;if(n!==null)for(const O of n)O.rv=Z;b!==null&&(r===null?r=b:r.push(...b))}return(e.f&8388608)!==0&&(e.f^=8388608),v}catch(O){return Yt(O)}finally{e.f^=2097152,S=n,Y=t,b=r,d=s,P=i,be(o),k=a,ne=f}}function Wt(e,n){let t=n.reactions;if(t!==null){var r=ut.call(t,e);if(r!==-1){var s=t.length-1;s===0?t=n.reactions=null:(t[r]=t[s],t.pop())}}if(t===null&&(n.f&2)!==0&&(S===null||!Ye.call(S,n))){var i=n;(i.f&512)!==0&&(i.f^=512,i.f&=-65537),i.v!==N&&tn(i),i.ac!==null&&He(()=>{i.ac.abort(Oe),i.ac=null}),Vt(i),we(i,0)}}function we(e,n){var t=e.deps;if(t!==null)for(var r=n;r<t.length;r++)Wt(e,t[r])}function se(e){var n=e.f;if((n&16384)===0){A(e,1024);var t=R,r=me;R=e,me=(n&96)===0;try{(n&16777232)!==0?Jt(e):un(e),Jn(e);var s=Gn(e);e.teardown=typeof s=="function"?s:null,e.wv=Un;var i;Dn&&Ft&&(e.f&2048)!==0&&e.deps}finally{me=r,R=t}}}async function is(){await Promise.resolve(),jt()}function ls(){return re.ensure().settled()}function Ae(e){var n=e.f,t=(n&2)!==0;if(d!==null&&!k){var r=R!==null&&(R.f&16384)!==0;if(!r&&(P===null||!P.has(e))){var s=d.deps;if((d.f&2097152)!==0)e.rv<Z&&(e.rv=Z,S===null&&s!==null&&s[Y]===e?Y++:S===null?S=[e]:S.push(e));else{d.deps??(d.deps=[]),Ye.call(d.deps,e)||d.deps.push(e);var i=e.reactions;i===null?e.reactions=[d]:Ye.call(i,d)||i.push(d)}}}if(G&&ee.has(e))return ee.get(e);if(t){var o=e;if(G){var a=o.v;return((o.f&1024)===0&&o.reactions!==null||Wn(o))&&(a=sn(o)),ee.set(o,a),a}var f=(o.f&512)===0&&!k&&d!==null&&(me||(d.f&512)!==0),u=(o.f&32768)===0;de(o)&&(f&&(o.f|=512),Yn(o)),f&&!u&&(bn(o),qn(o))}if(I!=null&&I.has(e))return I.get(e);if((e.f&8388608)!==0)throw e.v;return e.v}function qn(e){if(e.f|=512,e.deps!==null)for(const n of e.deps)(n.reactions??(n.reactions=[])).push(e),(n.f&2)!==0&&(n.f&512)===0&&(bn(n),qn(n))}function Wn(e){if(e.v===N)return!0;if(e.deps===null)return!1;for(const n of e.deps)if(ee.has(n)||(n.f&2)!==0&&Wn(n))return!0;return!1}function $t(e){var n=k;try{return k=!0,e()}finally{k=n}}function fs(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(De in e)Je(e);else if(!Array.isArray(e))for(let n in e){const t=e[n];typeof t=="object"&&t&&De in t&&Je(t)}}}function Je(e,n=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!n.has(e)){n.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Je(e[r],n)}catch{}const t=Nn(e);if(t!==Object.prototype&&t!==Array.prototype&&t!==Map.prototype&&t!==Set.prototype&&t!==Date.prototype){const r=ot(t);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function $n(e){R===null&&(d===null&&Rt(),Tt()),G&&pt()}function zt(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function B(e,n){var t=R;t!==null&&(t.f&8192)!==0&&(e|=8192);var r={ctx:F,deps:null,nodes:null,f:e|2048|512,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if((e&4)!==0)ae!==null?ae.push(r):re.ensure().schedule(r);else if(n!==null){try{se(r)}catch(o){throw ie(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&524288)===0&&(s=s.first,(e&16)!==0&&(e&65536)!==0&&s!==null&&(s.f|=65536))}if(s!==null&&(s.parent=t,t!==null&&zt(s,t),d!==null&&(d.f&2)!==0&&(e&64)===0)){var i=d;(i.effects??(i.effects=[])).push(s)}return r}function zn(){return d!==null&&!k}function Xt(e){const n=B(8,null);return A(n,1024),n.teardown=e,n}function as(e){$n();var n=R.f,t=!d&&(n&32)!==0&&F!==null&&!F.i;if(t){var r=F;(r.e??(r.e=[])).push(e)}else return Xn(e)}function Xn(e){return B(1048580,e)}function us(e){return $n(),B(1048584,e)}function os(e){re.ensure();const n=B(524352,e);return(t={})=>new Promise(r=>{t.outro?er(n,()=>{ie(n),r(void 0)}):(ie(n),r(void 0))})}function cs(e){return B(4,e)}function _s(e,n){var t=F,r={effect:null,ran:!1,deps:e};t.l.$.push(r),r.effect=Zn(()=>{if(e(),!r.ran){r.ran=!0;var s=R;try{W(s.parent),$t(n)}finally{W(s)}}})}function Es(){var e=F;Zn(()=>{for(var n of e.l.$){n.deps();var t=n.effect;(t.f&1024)!==0&&t.deps!==null&&A(t,4096),de(t)&&se(t),n.ran=!1}})}function Zt(e){return B(4718592,e)}function Zn(e,n=0){return B(8|n,e)}function vs(e,n=[],t=[],r=[]){Mt(r,n,t,s=>{B(8,()=>{e(...s.map(Ae))})})}function hs(e,n=0){var t=B(16|n,e);return t}function ds(e){return B(524320,e)}function Jn(e){var n=e.teardown;if(n!==null){const t=G,r=d;Tn(!0),q(null);try{n.call(null)}finally{Tn(t),q(r)}}}function un(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&He(()=>{s.abort(Oe)});var r=t.next;(t.f&64)!==0?t.parent=null:ie(t,n),t=r}}function Jt(e){for(var n=e.first;n!==null;){var t=n.next;(n.f&32)===0&&ie(n),n=t}}function ie(e,n=!0){var t=!1;(n||(e.f&262144)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Qt(e.nodes.start,e.nodes.end),t=!0),e.f|=33554432,un(e,n&&!t),we(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Jn(e),e.f^=33554432,e.f|=16384;var s=e.parent;s!==null&&s.first!==null&&Qn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Qt(e,n){for(;e!==null;){var t=e===n?null:$(e);e.remove(),e=t}}function Qn(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function er(e,n,t=!0){var r=[];et(e,r,!0);var s=()=>{t&&ie(e),n&&n()},i=r.length;if(i>0){var o=()=>--i||s();for(var a of r)a.out(o)}else s()}function et(e,n,t){if((e.f&8192)===0){e.f^=8192;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||t)&&n.push(a);for(var s=e.first;s!==null;){var i=s.next;if((s.f&64)===0){var o=(s.f&65536)!==0||(s.f&32)!==0&&(e.f&16)!==0;et(s,n,o?t:!1)}s=i}}}function ps(e){nt(e,!0)}function nt(e,n){if((e.f&8192)!==0){e.f^=8192,(e.f&1024)===0&&(A(e,2048),re.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&65536)!==0||(t.f&32)!==0;nt(t,s?n:!1),t=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||n)&&o.in()}}function Ts(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:$(t);n.append(t),t=s}}export{d as $,qr as A,Qr as B,ts as C,R as D,ur as E,We as F,mt as G,Pr as H,Be as I,nn as J,zn as K,Ae as L,Zn as M,qe as N,vn as O,an as P,sr as Q,fr as R,wt as S,xr as T,Br as U,Lt as V,W,q as X,be as Y,re as Z,Yt as _,p as a,Nn as a$,Ze as a0,Wr as a1,Me as a2,cr as a3,Fr as a4,jr as a5,Tr as a6,Xt as a7,He as a8,ft as a9,mr as aA,rn as aB,Pt as aC,Mr as aD,us as aE,is as aF,j as aG,rs as aH,Or as aI,_r as aJ,Ar as aK,at as aL,wr as aM,Sr as aN,Ir as aO,ir as aP,rr as aQ,gr as aR,tr as aS,kr as aT,Rr as aU,Et as aV,or as aW,it as aX,lt as aY,st as aZ,Vr as a_,Xr as aa,An as ab,yt as ac,$ as ad,Qe as ae,Dr as af,es as ag,os as ah,pr as ai,It as aj,en as ak,z as al,Er as am,jt as an,ss as ao,cs as ap,ar as aq,De as ar,Ne as as,Nr as at,br as au,pe as av,G as aw,lr as ax,Lr as ay,Yr as az,ds as b,ot as b0,vr as b1,dr as b2,vt as b3,Cr as b4,fs as b5,_s as b6,Es as b7,St as b8,ht as b9,ls as ba,Le as c,ie as d,yr as e,y as f,hs as g,te as h,Gr as i,zr as j,$r as k,he as l,Ts as m,Kr as n,Ve as o,er as p,F as q,ps as r,ns as s,$t as t,as as u,Hr as v,Jr as w,vs as x,Ur as y,Zr as z};
build/_app/immutable/chunks/CryQBVor.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ var Me=Object.defineProperty;var _e=t=>{throw TypeError(t)};var Ce=(t,e,r)=>e in t?Me(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var j=(t,e,r)=>Ce(t,typeof e!="symbol"?e+"":e,r),re=(t,e,r)=>e.has(t)||_e("Cannot "+r);var s=(t,e,r)=>(re(t,e,"read from private field"),r?r.call(t):e.get(t)),c=(t,e,r)=>e.has(t)?_e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),a=(t,e,r,i)=>(re(t,e,"write to private field"),i?i.call(t,r):e.set(t,r),r),u=(t,e,r)=>(re(t,e,"access private method"),r);import{K as He,L as we,M as Ie,t as Ye,N as pe,O as x,P as Te,f as L,h as M,D as P,Q as ge,g as Pe,i as Ve,S as We,U as ve,b as O,c as Se,p as se,a as F,m as xe,V as Be,W as Q,X as Z,Y as ye,Z as $e,_ as qe,$ as ke,q as Re,a0 as je,d as ie,l as G,a1 as ze,k as Ue,a2 as z,E as Xe,a3 as Je,a4 as Ke,a5 as Qe,a6 as Ze,a7 as Ge,a8 as et,a9 as be,aa as ne,F as tt,ab as Ne,ac as rt,ad as st,ae,n as U,af as it,ag as nt,ah as at,ai as ft,v as ht,aj as ot,ak as lt,y as ct}from"./CdZ30l9o.js";import{b as dt}from"./D0-Lpew9.js";function ut(t){let e=0,r=Te(0),i;return()=>{He()&&(we(r),Ie(()=>(e===0&&(i=Ye(()=>t(()=>pe(r)))),e+=1,()=>{x(()=>{e-=1,e===0&&(i==null||i(),i=void 0,pe(r))})})))}}var _t=Xe|Je;function pt(t,e,r,i){new gt(t,e,r,i)}var E,B,T,H,v,S,p,w,k,I,A,V,$,q,R,ee,h,Ae,De,Oe,fe,J,K,he,oe;class gt{constructor(e,r,i,o){c(this,h);j(this,"parent");j(this,"is_pending",!1);j(this,"transform_error");c(this,E);c(this,B,M?L:null);c(this,T);c(this,H);c(this,v);c(this,S,null);c(this,p,null);c(this,w,null);c(this,k,null);c(this,I,0);c(this,A,0);c(this,V,!1);c(this,$,new Set);c(this,q,new Set);c(this,R,null);c(this,ee,ut(()=>(a(this,R,Te(s(this,I))),()=>{a(this,R,null)})));var n;a(this,E,e),a(this,T,r),a(this,H,f=>{var g=P;g.b=this,g.f|=ge,i(f)}),this.parent=P.b,this.transform_error=o??((n=this.parent)==null?void 0:n.transform_error)??(f=>f),a(this,v,Pe(()=>{if(M){const f=s(this,B);Ve();const g=f.data===We;if(f.data.startsWith(ve)){const d=JSON.parse(f.data.slice(ve.length));u(this,h,De).call(this,d)}else g?u(this,h,Oe).call(this):u(this,h,Ae).call(this)}else u(this,h,fe).call(this)},_t)),M&&a(this,E,L)}defer_effect(e){Be(e,s(this,$),s(this,q))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,T).pending}update_pending_count(e,r){u(this,h,he).call(this,e,r),a(this,I,s(this,I)+e),!(!s(this,R)||s(this,V))&&(a(this,V,!0),x(()=>{a(this,V,!1),s(this,R)&&je(s(this,R),s(this,I))}))}get_effect_pending(){return s(this,ee).call(this),we(s(this,R))}error(e){var r;if(!s(this,T).onerror&&!s(this,T).failed)throw e;(r=F)!=null&&r.is_fork?(s(this,S)&&F.skip_effect(s(this,S)),s(this,p)&&F.skip_effect(s(this,p)),s(this,w)&&F.skip_effect(s(this,w)),F.oncommit(()=>{u(this,h,oe).call(this,e)})):u(this,h,oe).call(this,e)}}E=new WeakMap,B=new WeakMap,T=new WeakMap,H=new WeakMap,v=new WeakMap,S=new WeakMap,p=new WeakMap,w=new WeakMap,k=new WeakMap,I=new WeakMap,A=new WeakMap,V=new WeakMap,$=new WeakMap,q=new WeakMap,R=new WeakMap,ee=new WeakMap,h=new WeakSet,Ae=function(){try{a(this,S,O(()=>s(this,H).call(this,s(this,E))))}catch(e){this.error(e)}},De=function(e){const r=s(this,T).failed;r&&a(this,w,O(()=>{r(s(this,E),()=>e,()=>()=>{})}))},Oe=function(){const e=s(this,T).pending;e&&(this.is_pending=!0,a(this,p,O(()=>e(s(this,E)))),x(()=>{var r=a(this,k,document.createDocumentFragment()),i=Se();r.append(i),a(this,S,u(this,h,K).call(this,()=>O(()=>s(this,H).call(this,i)))),s(this,A)===0&&(s(this,E).before(r),a(this,k,null),se(s(this,p),()=>{a(this,p,null)}),u(this,h,J).call(this,F))}))},fe=function(){try{if(this.is_pending=this.has_pending_snippet(),a(this,A,0),a(this,I,0),a(this,S,O(()=>{s(this,H).call(this,s(this,E))})),s(this,A)>0){var e=a(this,k,document.createDocumentFragment());xe(s(this,S),e);const r=s(this,T).pending;a(this,p,O(()=>r(s(this,E))))}else u(this,h,J).call(this,F)}catch(r){this.error(r)}},J=function(e){this.is_pending=!1,e.transfer_effects(s(this,$),s(this,q))},K=function(e){var r=P,i=ke,o=Re;Q(s(this,v)),Z(s(this,v)),ye(s(this,v).ctx);try{return $e.ensure(),e()}catch(n){return qe(n),null}finally{Q(r),Z(i),ye(o)}},he=function(e,r){var i;if(!this.has_pending_snippet()){this.parent&&u(i=this.parent,h,he).call(i,e,r);return}a(this,A,s(this,A)+e),s(this,A)===0&&(u(this,h,J).call(this,r),s(this,p)&&se(s(this,p),()=>{a(this,p,null)}),s(this,k)&&(s(this,E).before(s(this,k)),a(this,k,null)))},oe=function(e){s(this,S)&&(ie(s(this,S)),a(this,S,null)),s(this,p)&&(ie(s(this,p)),a(this,p,null)),s(this,w)&&(ie(s(this,w)),a(this,w,null)),M&&(G(s(this,B)),ze(),G(Ue()));var r=s(this,T).onerror;let i=s(this,T).failed;var o=!1,n=!1;const f=()=>{if(o){Qe();return}o=!0,n&&Ke(),s(this,w)!==null&&se(s(this,w),()=>{a(this,w,null)}),u(this,h,K).call(this,()=>{u(this,h,fe).call(this)})},g=l=>{try{n=!0,r==null||r(l,f),n=!1}catch(d){z(d,s(this,v)&&s(this,v).parent)}i&&a(this,w,u(this,h,K).call(this,()=>{try{return O(()=>{var d=P;d.b=this,d.f|=ge,i(s(this,E),()=>l,()=>f)})}catch(d){return z(d,s(this,v).parent),null}}))};x(()=>{var l;try{l=this.transform_error(e)}catch(d){z(d,s(this,v)&&s(this,v).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(g,d=>z(d,s(this,v)&&s(this,v).parent)):g(l)})};const C=Symbol("events"),Fe=new Set,le=new Set;function vt(t,e,r,i={}){function o(n){if(i.capture||ce.call(e,n),!n.cancelBubble)return et(()=>r==null?void 0:r.call(this,n))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?x(()=>{e.addEventListener(t,o,i)}):e.addEventListener(t,o,i),o}function St(t,e,r,i,o){var n={capture:i,passive:o},f=vt(t,e,r,n);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ge(()=>{e.removeEventListener(t,f,n)})}function kt(t,e,r){(e[C]??(e[C]={}))[t]=r}function Rt(t){for(var e=0;e<t.length;e++)Fe.add(t[e]);for(var r of le)r(t)}let me=null;function ce(t){var m,D;var e=this,r=e.ownerDocument,i=t.type,o=((m=t.composedPath)==null?void 0:m.call(t))||[],n=o[0]||t.target;me=t;var f=0,g=me===t&&t[C];if(g){var l=o.indexOf(g);if(l!==-1&&(e===document||e===window)){t[C]=e;return}var d=o.indexOf(e);if(d===-1)return;l<=d&&(f=l)}if(n=o[f]||t.target,n!==e){Ze(t,"currentTarget",{configurable:!0,get(){return n||r}});var Y=ke,W=P;Z(null),Q(null);try{for(var N,y=[];n!==null&&n!==e;){try{var b=(D=n[C])==null?void 0:D[i];b!=null&&(!n.disabled||t.target===n)&&b.call(n,t)}catch(_){N?y.push(_):N=_}if(t.cancelBubble)break;f++,n=f<o.length?o[f]:null}if(N){for(let _ of y)queueMicrotask(()=>{throw _});throw N}}finally{t[C]=e,delete t.currentTarget,Z(Y),Q(W)}}}const yt=["touchstart","touchmove"];function bt(t){return yt.includes(t)}let Ee=!0;function Nt(t,e){var i;var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[i=be]??(t[i]=t.nodeValue))&&(t[be]=r,t.nodeValue=`${r}`)}function mt(t,e){return Le(t,e)}function At(t,e){ne(),e.intro=e.intro??!1;const r=e.target,i=M,o=L;try{for(var n=tt(r);n&&(n.nodeType!==Ne||n.data!==rt);)n=st(n);if(!n)throw ae;U(!0),G(n);const f=Le(t,{...e,anchor:n});return U(!1),f}catch(f){if(f instanceof Error&&f.message.split(`
2
+ `).some(g=>g.startsWith("https://svelte.dev/e/")))throw f;return f!==ae&&console.warn("Failed to hydrate: ",f),e.recover===!1&&it(),ne(),nt(r),U(!1),mt(t,e)}finally{U(i),G(o)}}const X=new Map;function Le(t,{target:e,anchor:r,props:i={},events:o,context:n,intro:f=!0,transformError:g}){ne();var l=void 0,d=at(()=>{var Y=r??e.appendChild(Se());pt(Y,{pending:()=>{}},y=>{ht({});var b=Re;if(n&&(b.c=n),o&&(i.$$events=o),M&&dt(y,null),Ee=f,l=t(y,i)||{},Ee=!0,M&&(P.nodes.end=L,L===null||L.nodeType!==Ne||L.data!==ot))throw lt(),ae;ct()},g);var W=new Set,N=y=>{for(var b=0;b<y.length;b++){var m=y[b];if(!W.has(m)){W.add(m);var D=bt(m);for(const te of[e,document]){var _=X.get(te);_===void 0&&(_=new Map,X.set(te,_));var ue=_.get(m);ue===void 0?(te.addEventListener(m,ce,{passive:D}),_.set(m,1)):_.set(m,ue+1)}}}};return N(ft(Fe)),le.add(N),()=>{var D;for(var y of W)for(const _ of[e,document]){var b=X.get(_),m=b.get(y);--m==0?(_.removeEventListener(y,ce),b.delete(y),b.size===0&&X.delete(_)):b.set(y,m)}le.delete(N),Y!==r&&((D=Y.parentNode)==null||D.removeChild(Y))}});return de.set(l,d),l}let de=new WeakMap;function Dt(t,e){const r=de.get(t);return r?(de.delete(t),r(e)):Promise.resolve()}export{Ee as a,kt as b,Rt as d,St as e,At as h,mt as m,Nt as s,Dt as u};
build/_app/immutable/chunks/Cx7tSjKg.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{o,q as n,u as c,t as u}from"./CdZ30l9o.js";function l(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function r(t){n===null&&l(),o&&n.l!==null?a(n).m.push(t):c(()=>{const e=u(t);if(typeof e=="function")return e})}function a(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}export{r as o};
build/_app/immutable/chunks/D0-Lpew9.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{C as y,c as v,D as T,F as o,G as C,T as g,H as M,h as l,f as i,R as x,i as A,I as L,l as R,J as b}from"./CdZ30l9o.js";var h;const m=((h=globalThis==null?void 0:globalThis.window)==null?void 0:h.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function D(e){return(m==null?void 0:m.createHTML(e))??e}function w(e){var t=y("template");return t.innerHTML=D(e.replaceAll("<!>","<!---->")),t.content}function a(e,t){var r=T;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function F(e,t){var r=(t&g)!==0,f=(t&M)!==0,s,_=!e.startsWith("<!>");return()=>{if(l)return a(i,null),i;s===void 0&&(s=w(_?e:"<!>"+e),r||(s=o(s)));var n=f||C?document.importNode(s,!0):s.cloneNode(!0);if(r){var c=o(n),d=n.lastChild;a(c,d)}else a(n,n);return n}}function I(e,t,r="svg"){var f=!e.startsWith("<!>"),s=(t&g)!==0,_=`<${r}>${f?e:"<!>"+e}</${r}>`,n;return()=>{if(l)return a(i,null),i;if(!n){var c=w(_),d=o(c);if(s)for(n=document.createDocumentFragment();o(d);)n.appendChild(o(d));else n=o(d)}var u=n.cloneNode(!0);if(s){var E=o(u),N=u.lastChild;a(E,N)}else a(u,u);return u}}function H(e,t){return I(e,t,"svg")}function S(e=""){if(!l){var t=v(e+"");return a(t,t),t}var r=i;return r.nodeType!==L?(r.before(r=v()),R(r)):b(r),a(r,r),r}function $(){if(l)return a(i,null),i;var e=document.createDocumentFragment(),t=document.createComment(""),r=v();return e.append(t,r),a(t,r),e}function G(e,t){if(l){var r=T;((r.f&x)===0||r.nodes.end===null)&&(r.nodes.end=i),A();return}e!==null&&e.before(t)}const O="5";var p;typeof window<"u"&&((p=window.__svelte??(window.__svelte={})).v??(p.v=new Set)).add(O);export{G as a,a as b,$ as c,H as d,F as f,S as t};
build/_app/immutable/chunks/DHQwSDIs.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var D=Object.defineProperty;var w=a=>{throw TypeError(a)};var N=(a,e,s)=>e in a?D(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s;var A=(a,e,s)=>N(a,typeof e!="symbol"?e+"":e,s),E=(a,e,s)=>e.has(a)||w("Cannot "+s);var t=(a,e,s)=>(E(a,e,"read from private field"),s?s.call(a):e.get(a)),u=(a,e,s)=>e.has(a)?w("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,s),F=(a,e,s,i)=>(E(a,e,"write to private field"),i?i.call(a,s):e.set(a,s),s);import{r as M,d as g,p as R,c as x,b as T,a as S,h as k,f as C,m as j,s as I,g as P,i as q,E as z,j as G,k as H,l as J,n as B}from"./CdZ30l9o.js";var d,l,c,p,m,v,b;class K{constructor(e,s=!0){A(this,"anchor");u(this,d,new Map);u(this,l,new Map);u(this,c,new Map);u(this,p,new Set);u(this,m,!0);u(this,v,e=>{if(t(this,d).has(e)){var s=t(this,d).get(e),i=t(this,l).get(s);if(i)M(i),t(this,p).delete(s);else{var f=t(this,c).get(s);f&&(M(f.effect),t(this,l).set(s,f.effect),t(this,c).delete(s),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),i=f.effect)}for(const[n,h]of t(this,d)){if(t(this,d).delete(n),n===e)break;const r=t(this,c).get(h);r&&(g(r.effect),t(this,c).delete(h))}for(const[n,h]of t(this,l)){if(n===s||t(this,p).has(n))continue;const r=()=>{if(Array.from(t(this,d).values()).includes(n)){var _=document.createDocumentFragment();j(h,_),_.append(x()),t(this,c).set(n,{effect:h,fragment:_})}else g(h);t(this,p).delete(n),t(this,l).delete(n)};t(this,m)||!i?(t(this,p).add(n),R(h,r,!1)):r()}}});u(this,b,e=>{t(this,d).delete(e);const s=Array.from(t(this,d).values());for(const[i,f]of t(this,c))s.includes(i)||(g(f.effect),t(this,c).delete(i))});this.anchor=e,F(this,m,s)}ensure(e,s){var i=S,f=I();if(s&&!t(this,l).has(e)&&!t(this,c).has(e))if(f){var n=document.createDocumentFragment(),h=x();n.append(h),t(this,c).set(e,{effect:T(()=>s(h)),fragment:n})}else t(this,l).set(e,T(()=>s(this.anchor)));if(t(this,d).set(i,e),f){for(const[r,o]of t(this,l))r===e?i.unskip_effect(o):i.skip_effect(o);for(const[r,o]of t(this,c))r===e?i.unskip_effect(o.effect):i.skip_effect(o.effect);i.oncommit(t(this,v)),i.ondiscard(t(this,b))}else k&&(this.anchor=C),t(this,v).call(this,i)}}d=new WeakMap,l=new WeakMap,c=new WeakMap,p=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap;function Q(a,e,s=!1){var i;k&&(i=C,q());var f=new K(a),n=s?z:0;function h(r,o){if(k){var _=G(i);if(r!==parseInt(_.substring(1))){var y=H();J(y),f.anchor=y,B(!1),f.ensure(r,o),B(!0);return}}f.ensure(r,o)}P(()=>{var r=!1;e((o,_=0)=>{r=!0,h(_,o)}),r||h(-1,null)},n)}export{K as B,Q as i};
build/_app/immutable/chunks/DP5BbXZE.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{e}from"./CdZ30l9o.js";e();
build/_app/immutable/chunks/UWALBBqO.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var rt=e=>{throw TypeError(e)};var Vt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var y=(e,t,n)=>(Vt(e,t,"read from private field"),n?n.call(e):t.get(e)),U=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{aV as Oe,b9 as Mt,aF as ve,ba as Bt,aG as T,L as I,al as P}from"./CdZ30l9o.js";import{o as at}from"./Cx7tSjKg.js";const F=[];function Be(e,t=Oe){let n=null;const a=new Set;function r(s){if(Mt(e,s)&&(e=s,n)){const l=!F.length;for(const c of a)c[1](),F.push(c,e);if(l){for(let c=0;c<F.length;c+=2)F[c][0](F[c+1]);F.length=0}}}function i(s){r(s(e))}function o(s,l=Oe){const c=[s,l];return a.add(c),a.size===1&&(n=t(r,i)||Oe),s(e),()=>{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:o}}const Ft="1784552917601";var ht;const A=((ht=globalThis.__sveltekit_1olruol)==null?void 0:ht.base)??"";var pt;const Kt=((pt=globalThis.__sveltekit_1olruol)==null?void 0:pt.assets)??A??"";new URL("sveltekit-internal://");function Gt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Ht(e){return e.split("%25").map(decodeURI).join("%25")}function zt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}const Wt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,Jt=/^\/\((?:[^)]+)\)$/;function Yt(e){const t=[];return{pattern:e==="/"||Jt.test(e)?/^\/$/:new RegExp(`^${Qt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Ce(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Ce(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const f=Wt.exec(l),[,h,_,u,d]=f;return t.push({name:u,matcher:d,optional:!!h,rest:!!_,chained:_?c===1&&o[0]==="":!1}),_?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return Ce(l)}).join("")}).join("")}/?$`),params:t}}function Xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Qt(e){return e.slice(1).split("/").filter(Xt)}function Zt(e,t,n){const a={},r=e.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<t.length;s+=1){const l=t[s];let c=r[s-o];if(l.chained&&l.rest&&o&&(c=r.slice(s-o,s+1).filter(f=>f).join("/"),o=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const f=t[s+1],h=r[s+1];f&&!f.rest&&f.optional&&h&&l.chained&&(o=0),!f&&!h&&Object.keys(a).length===i.length&&(o=0);continue}if(l.optional&&l.chained){o++;continue}return}if(!o)return a}function Ce(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}class Fe{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ke{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Ge extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}function N(){}function en(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function tn(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const nn=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&Z.delete(He(e)),nn(e,t));const Z=new Map;function rn(e,t){const n=He(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);a.getAttribute("data-b64")!==null&&(r=tn(r));const s=a.getAttribute("data-ttl");return s&&Z.set(n,{body:r,init:i,ttl:1e3*Number(s)}),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function an(e,t,n){if(Z.size>0){const a=He(e,n),r=Z.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);Z.delete(a)}}return window.fetch(t,n)}function He(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${en(...r)}"]`}return a}function on({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([s,[l,c,f]])=>{const{pattern:h,params:_}=Yt(s),u={id:s,exec:d=>{const m=h.exec(d);if(m)return Zt(m,_,a)},errors:[1,...f||[]].map(d=>e[d]),layouts:[0,...c||[]].map(o),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function o(s){return s===void 0?s:[r.has(s),e[s]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const vt="sveltekit:snapshot",yt="sveltekit:scroll",bt="sveltekit:states",sn="sveltekit:pageurl",H="sveltekit:history",te="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Et=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Et];const ln=new Set([...Et]);[...ln];function cn(e){return e.filter(t=>t!=null)}function _e(e,t){return e+"/"+t}function ze(e){return e instanceof Fe||e instanceof Ge?e.status:500}function fn(e){return e instanceof Ge?e.text:"Internal Error"}const un=new Set(["icon","shortcut icon","apple-touch-icon"]);let X=null;const q=wt(yt)??{},ne=wt(vt)??{},j={url:ut({}),page:ut({}),navigating:Be(null),updated:In()};function We(e){q[e]=M()}function dn(e,t){let n=e+1;for(;q[n];)delete q[n],n+=1;for(n=t+1;ne[n];)delete ne[n],n+=1}function re(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(N)}async function kt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(A||"/");e&&await e.update()}}let Je,qe,ye,O,De,E;const be=[],Ee=[];let v=null;function ke(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null,G={element:void 0,href:void 0}}const we=new Map,St=new Set,hn=new Set,ee=new Set;let w={branch:[],error:null,url:null},Rt=!1,Se=!1,st=!0,ae=!1,Q=!1,xt=!1,Ye=!1,Lt,k,x,C;const Re=new Set,it=new Map,lt=new Map;async function Nn(e,t,n){var i,o,s,l;if(globalThis.__sveltekit_1olruol.data){const{q:c={},p:f={},l:h={},f:_={}}=globalThis.__sveltekit_1olruol.data;for(const u in c)c[u];for(const u in h)h[u];for(const u in _)_[u];for(const u in f)f[u]}document.URL!==location.href&&(location.href=location.href),E=e,await((o=(i=e.hooks).init)==null?void 0:o.call(i)),Je=on(e),O=document.documentElement,De=t,qe=e.nodes[0],ye=e.nodes[1],qe(),ye(),k=(s=history.state)==null?void 0:s[H],x=(l=history.state)==null?void 0:l[te],k||(k=x=Date.now(),history.replaceState({...history.state,[H]:k,[te]:x},""));const a=q[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(De,n)):(await z({type:"enter",url:Ct(E.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function pn(){be.length=0,Ye=!1}function At(e){Ee.some(t=>t==null?void 0:t.snapshot)&&(ne[e]=Ee.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ut(e){var t;(t=ne[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=Ee[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ct(){We(k),ot(yt,q),At(x),ot(vt,ne)}async function gn(e,t,n,a){let r,i;t.invalidateAll&&ke(),await z({type:"goto",url:Ct(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{var o;if(t.invalidateAll){Ye=!0,r=new Set;for(const[s,l]of it)for(const[c,f]of l)(o=f.resource)==null||o.reset(),r.add(_e(s,c));i=new Set;for(const[s,l]of lt)for(const c of l.keys())i.add(_e(s,c))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&ve().then(ve).then(()=>{for(const[o,s]of it)for(const[l,{resource:c}]of s)r!=null&&r.has(_e(o,l))&&c.start();for(const[o,s]of lt)for(const[l,{resource:c}]of s)i!=null&&i.has(_e(o,l))&&c.reconnect()})}async function mn(e){if(e.id!==(v==null?void 0:v.id)){ke();const t={};Re.add(t),v={id:e.id,token:t,promise:It({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&ke(),n)),fork:null}}return v.promise}async function Ne(e){var n;const t=(n=await Ue(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function Tt(e,t,n){var r;const a={params:w.params,route:{id:((r=w.route)==null?void 0:r.id)??null},url:new URL(location.href)};if(w={...e.state,nav:a},Dt(e.props.page),Lt=new E.root({target:t,props:{...e.props,stores:j,components:Ee},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){const i={from:null,to:{...a,scroll:q[k]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};ee.forEach(o=>o(i))}Ut(x),Se=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:o,form:s}){let l="never";if(A&&(e.pathname===A||e.pathname===A+"/"))l="always";else for(const d of n)(d==null?void 0:d.slash)!==void 0&&(l=d.slash);e.pathname=Gt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:o},props:{constructors:cn(n).map(d=>d.node.component),page:tt(L)}};s!==void 0&&(c.props.form=s);let f={},h=!L,_=0;for(let d=0;d<Math.max(n.length,w.branch.length);d+=1){const m=n[d],g=w.branch[d];(m==null?void 0:m.data)!==(g==null?void 0:g.data)&&(h=!0),m&&(f={...f,...m.data},h&&(c.props[`data_${_}`]=f),_+=1)}return(!w.url||e.href!==w.url.href||w.error!==i||s!==void 0&&s!==L.form||h)&&(c.props.page={error:i,params:t,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(e),form:s??null,data:h?f:L.data}),c}async function Xe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,f;let o=null;const s={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:o,uses:s}:null,data:o??(i==null?void 0:i.data)??null,slash:((f=l.universal)==null?void 0:f.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Se?an(a,r.href,t):rn(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Ye)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==w.params[o])return!0;for(const o of r.dependencies)if(be.some(s=>s(new URL(o))))return!0;return!1}function Qe(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function vn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function yn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:tt(L),constructors:[]}}}async function It({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Re.delete(v.token),v.promise;const{errors:o,layouts:s,leaf:l}=r,c=[...s,l];o.forEach(g=>g==null?void 0:g().catch(N)),c.forEach(g=>g==null?void 0:g[1]().catch(N));const f=w.url?e!==Le(w.url):!1,h=w.route?r.id!==w.route.id:!1,_=vn(w.url,n);let u=!1;const d=c.map(async(g,p)=>{var $;if(!g)return;const b=w.branch[p];return g[1]===(b==null?void 0:b.loader)&&!wn(u,h,f,_,($=b.universal)==null?void 0:$.uses,a)?b:(u=!0,Xe({loader:g[1],url:n,params:a,route:r,parent:async()=>{var me;const D={};for(let B=0;B<p;B+=1)Object.assign(D,(me=await d[B])==null?void 0:me.data);return D},server_data_node:Qe(g[0]?{type:"skip"}:null,g[0]?b==null?void 0:b.server:void 0)}))});for(const g of d)g.catch(N);const m=[];for(let g=0;g<c.length;g+=1)if(c[g])try{m.push(await d[g])}catch(p){if(p instanceof Ke)return{type:"redirect",location:p.location};if(i&&Re.has(i))return yn({error:await W(p,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=ze(p),R;if(p instanceof Fe)R=p.body;else{if(await j.updated.check())return await kt(),await re(n);R=await W(p,{params:a,url:n,route:{id:r.id}})}const $=await bn(g,m,o);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:o,status:b,error:R,route:r}):await Ot(n,{id:r.id},R,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:o,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ze({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const o=await Xe({loader:qe,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Qe(i)}),s={node:await ye(),loader:ye,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[o,s],status:e,error:t,errors:[],route:null})}catch(o){if(o instanceof Ke){await gn(new URL(o.location,location.href),{},0);return}const s=await E.get_error_template(),l=await W(o,{url:n,params:r,route:a}),c=String((l==null?void 0:l.message)??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),f=s({status:e,message:c}),h=new DOMParser().parseFromString(f,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),o}}async function En(e){const t=e.href;if(we.has(t))return we.get(t);let n;try{const a=(async()=>{let r=await E.hooks.reroute({url:new URL(e),fetch:async(i,o)=>_n(i,o,e).promise})??e;if(typeof r=="string"){const i=new URL(e);E.hash?i.hash=r:i.pathname=r,r=i}return r})();we.set(t,a),n=await a}catch{we.delete(t);return}return n}async function Ue(e,t){if(e&&!Te(e,A,E.hash)){const n=await En(e);if(!n)return;const a=kn(n);for(const r of Je){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:zt(i),url:e}}}}function kn(e){return Ht(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(A.length))||"/"}function Le(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Pt({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=et(w,n,e,t,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const l={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return ae||St.forEach(c=>c(l)),o?null:s}async function z({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:l={},accept:c=N,block:f=N,event:h}){var B;const _=C;C=l;const u=await Ue(t,!1),d=e==="enter"?et(w,u,t,e):Pt({url:t,type:e,delta:n==null?void 0:n.delta,intent:u,scroll:n==null?void 0:n.scroll,event:h});if(!d){f(),C===l&&(C=_);return}const m=k,g=x;c(),ae=!0,Se&&d.navigation.type!=="enter"&&j.navigating.set(oe.current=d.navigation);let p=u&&await It(u);if(!p){if(Te(t,A,E.hash))return await re(t,i);p=await Ot(t,{id:null},await W(new Ge(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(u==null?void 0:u.url)||t,C!==l){d.reject(new Error("navigation aborted"));return}if(!p)return;if(p.type==="redirect"){if(s<20){await z({type:e,url:new URL(p.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:l}),d.fulfil(void 0);return}if(p=await Ze({status:500,error:await W(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!p)return}else if(p.props.page.status>=400&&await j.updated.check())return await kt(),await re(t,i);if(pn(),We(m),At(g),p.props.page.url.pathname!==t.pathname&&(t.pathname=p.props.page.url.pathname),o=n?n.state:o,!n){const S=i?0:1,J={[H]:k+=S,[te]:x+=S,[bt]:o};(i?history.replaceState:history.pushState).call(history,J,"",t),i||dn(k,x)}const b=u&&(v==null?void 0:v.id)===u.id?v.fork:null;v!=null&&v.fork&&!b?ke():(v=null,G={element:void 0,href:void 0}),p.props.page.state=o;let R;if(Se){const S=(await Promise.all(Array.from(hn,Y=>Y(d.navigation)))).filter(Y=>typeof Y=="function");if(S.length>0){let Y=function(){S.forEach(Pe=>{ee.delete(Pe)})};S.push(Y),S.forEach(Pe=>{ee.add(Pe)})}const J=d.navigation.to;w={...p.state,nav:{params:J.params,route:J.route,url:J.url}},p.props.page&&(p.props.page.url=t),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const Ie=b&&await b;Ie?R=Ie.commit():(X=null,Lt.$set(p.props),X&&Object.assign(p.props.page,X),Dt(p.props.page),R=(B=Bt)==null?void 0:B()),xt=!0}else await Tt(p,De,!1);const{activeElement:$}=document;if(await R,await ve(),await ve(),C!==l){d.reject(new Error("navigation aborted"));return}p.props.page&&X&&Object.assign(p.props.page,X);let D=null;if(st){const S=n?n.scroll:r?M():null;S?scrollTo(S.x,S.y):(D=t.hash&&document.getElementById($t(t)))?D.scrollIntoView():scrollTo(0,0)}const me=document.activeElement!==$&&document.activeElement!==document.body;!a&&!me&&Un(t,!D),st=!0,ae=!1,d.fulfil(void 0),d.navigation.to&&(d.navigation.to.scroll=M()),ee.forEach(S=>S(d.navigation)),e==="popstate"&&Ut(x),j.navigating.set(oe.current=null)}async function Ot(e,t,n,a,r){return e.origin===nt&&e.pathname===location.pathname&&!Rt?await Ze({status:a,error:n,url:e,route:t}):await re(e,r)}let G={element:void 0,href:void 0};function Sn(){let e,t;O.addEventListener("mousemove",o=>{const s=o.target;clearTimeout(e),e=setTimeout(()=>{r(s,V.hover)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],V.tap)}O.addEventListener("mousedown",n),O.addEventListener("touchstart",n,{passive:!0});const a=new IntersectionObserver(o=>{for(const s of o)s.isIntersecting&&(Ne(new URL(s.target.href)),a.unobserve(s.target))},{threshold:0});async function r(o,s){const l=jt(o,O),c=l===G.element&&(l==null?void 0:l.href)===G.href&&s>=t;if(!l||c)return;const{url:f,external:h,download:_}=Me(l,A,E.hash);if(h||_)return;const u=Ae(l),d=f&&Le(w.url)===Le(f);if(!(u.reload||d))if(s<=u.preload_data){G={element:l,href:l.href},t=V.tap;const m=await Ue(f,!1);if(!m)return;mn(m)}else s<=u.preload_code&&(G={element:l,href:l.href},t=s,Ne(f))}function i(){a.disconnect();for(const o of O.querySelectorAll("a")){const{url:s,external:l,download:c}=Me(o,A,E.hash);if(l||c)continue;const f=Ae(o);f.reload||(f.preload_code===V.viewport&&a.observe(o),f.preload_code===V.eager&&Ne(s))}}ee.add(i),i()}function W(e,t){if(e instanceof Fe)return e.body;const n=ze(e),a=fn(e);return E.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ct(),!ae){const r=et(w,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};St.forEach(o=>o(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ct()}),(t=navigator.connection)!=null&&t.saveData||Sn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=jt(n.composedPath()[0],O);if(!a)return;const{url:r,external:i,target:o,download:s}=Me(a,A,E.hash);if(!r)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const l=Ae(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[f,h]=(E.hash?r.hash.replace(/^#/,""):r.href).split("#"),_=f===$e(location);if(i||l.reload&&(!_||!h)){Pt({url:r,type:"link",event:n})?ae=!0:n.preventDefault();return}if(h!==void 0&&_){const[,u]=w.url.href.split("#");if(u===h){if(n.preventDefault(),h===""||h==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const d=a.ownerDocument.getElementById(decodeURIComponent(h));d&&(d.scrollIntoView(),d.focus())}return}if(Q=!0,We(k),e(r),!l.replace_state)return;Q=!1}n.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await z({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const s=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Te(s,A,!1))return;const l=n.target,c=Ae(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const f=new FormData(l,r);s.search=new URLSearchParams(f).toString(),z({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Ve){if((a=n.state)!=null&&a[H]){const r=n.state[H];if(C={},r===k)return;const i=q[r],o=n.state[bt]??{},s=new URL(n.state[sn]??location.href),l=n.state[te],c=w.url?$e(location)===$e(w.url):!1;if(l===x&&(xt||c)){o!==L.state&&(L.state=o),e(s),q[k]=M(),i&&scrollTo(i.x,i.y),k=r;return}const h=r-k;await z({type:"popstate",url:s,popped:{state:o,scroll:i,delta:h},accept:()=>{k=r,x=l},block:()=>{history.go(-h)},nav_token:C,event:n})}else if(!Q){const r=new URL(location.href);e(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Q&&(Q=!1,history.replaceState({...history.state,[H]:++k,[te]:x},"",location.href))});for(const n of document.querySelectorAll("link"))un.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&j.navigating.set(oe.current=null)});function e(n){w.url=L.url=n,j.page.set(tt(L)),j.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:l}){Rt=!0;const c=new URL(location.href);let f;({params:r={},route:i={id:null}}=await Ue(c,!1)||{}),f=Je.find(({id:u})=>u===i.id);let h,_=!0;try{const u=a.map(async(m,g)=>{const p=s[g];return p!=null&&p.uses&&(p.uses=An(p.uses)),Xe({loader:E.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let R=0;R<g;R+=1)Object.assign(b,(await u[R]).data);return b},server_data_node:Qe(p)})}),d=await Promise.all(u);if(f){const m=f.layouts;for(let g=0;g<m.length;g++)m[g]||d.splice(g,0,void 0)}h=await xe({url:c,params:r,branch:d,status:t,error:n,errors:f==null?void 0:f.errors,form:l,route:f??null})}catch(u){if(u instanceof Ke)return await re(new URL(u.location,location.href));h=await Ze({status:ze(u),error:await W(u,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",_=!1}h&&(h.props.page&&(h.props.page.state={}),await Tt(h,e,_))}function An(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Ve=!1;function Un(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=$t(e);if(a&&document.getElementById(a)){const{x:i,y:o}=M();setTimeout(()=>{const s=history.state;Ve=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(i,o),Ve=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],l=r.getRangeAt(o);if(s.commonAncestorContainer!==l.commonAncestorContainer||s.startContainer!==l.startContainer||s.endContainer!==l.endContainer||s.startOffset!==l.startOffset||s.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function et(e,t,n,a,r=null){var c,f;let i,o;const s=new Promise((h,_)=>{i=h,o=_});return s.catch(N),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:M()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((f=t==null?void 0:t.route)==null?void 0:f.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:s},fulfil:i,reject:o}}function tt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function $t(e){let t;if(E.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}const nt=location.origin;function Ct(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function M(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const ft={...V,"":V.hover};function Nt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function jt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Nt(e)}}function Me(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Te(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(a==null?void 0:a.origin)===nt&&e.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function Ae(e){let t=null,n=null,a=null,r=null,i=null,o=null,s=e;for(;s&&s!==document.documentElement;)a===null&&(a=K(s,"preload-code")),r===null&&(r=K(s,"preload-data")),t===null&&(t=K(s,"keepfocus")),n===null&&(n=K(s,"noscroll")),i===null&&(i=K(s,"reload")),o===null&&(o=K(s,"replacestate")),s=Nt(s);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ft[a??"off"],preload_data:ft[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(o)}}function ut(e){const t=Be(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function i(o){let s;return t.subscribe(l=>{(s===void 0||n&&l!==s)&&o(s=l)})}return{notify:a,set:r,subscribe:i}}const qt={v:N};function In(){const{set:e,subscribe:t}=Be(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Kt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==Ft;return o&&(e(!0),qt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function Te(e,t,n){return e.origin!==nt||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function jn(e){}let L,oe,je;const Pn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),dt="a:";var se,ie,le,ce,fe,ue,de,he,gt,pe,mt,ge,_t;Pn?(L={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(dt)},oe={current:null},je={current:!1}):(L=new(gt=class{constructor(){U(this,se,T({}));U(this,ie,T(null));U(this,le,T(null));U(this,ce,T({}));U(this,fe,T({id:null}));U(this,ue,T({}));U(this,de,T(-1));U(this,he,T(new URL(dt)))}get data(){return I(y(this,se))}set data(t){P(y(this,se),t)}get form(){return I(y(this,ie))}set form(t){P(y(this,ie),t)}get error(){return I(y(this,le))}set error(t){P(y(this,le),t)}get params(){return I(y(this,ce))}set params(t){P(y(this,ce),t)}get route(){return I(y(this,fe))}set route(t){P(y(this,fe),t)}get state(){return I(y(this,ue))}set state(t){P(y(this,ue),t)}get status(){return I(y(this,de))}set status(t){P(y(this,de),t)}get url(){return I(y(this,he))}set url(t){P(y(this,he),t)}},se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,he=new WeakMap,gt),oe=new(mt=class{constructor(){U(this,pe,T(null))}get current(){return I(y(this,pe))}set current(t){P(y(this,pe),t)}},pe=new WeakMap,mt),je=new(_t=class{constructor(){U(this,ge,T(!1))}get current(){return I(y(this,ge))}set current(t){P(y(this,ge),t)}},ge=new WeakMap,_t),qt.v=()=>je.current=!0);function Dt(e){Object.assign(L,e)}export{Nn as a,jn as l,L as p,j as s};
build/_app/immutable/chunks/wbPk3Yxo.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const e=({status:n,message:t})=>`<!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>`+t+`</title>
6
+
7
+ <style>
8
+ body {
9
+ --bg: white;
10
+ --fg: #222;
11
+ --divider: #ccc;
12
+ background: var(--bg);
13
+ color: var(--fg);
14
+ font-family:
15
+ system-ui,
16
+ -apple-system,
17
+ BlinkMacSystemFont,
18
+ 'Segoe UI',
19
+ Roboto,
20
+ Oxygen,
21
+ Ubuntu,
22
+ Cantarell,
23
+ 'Open Sans',
24
+ 'Helvetica Neue',
25
+ sans-serif;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ height: 100vh;
30
+ margin: 0;
31
+ }
32
+
33
+ .error {
34
+ display: flex;
35
+ align-items: center;
36
+ max-width: 32rem;
37
+ margin: 0 1rem;
38
+ }
39
+
40
+ .status {
41
+ font-weight: 200;
42
+ font-size: 3rem;
43
+ line-height: 1;
44
+ position: relative;
45
+ top: -0.05rem;
46
+ }
47
+
48
+ .message {
49
+ border-left: 1px solid var(--divider);
50
+ padding: 0 0 0 1rem;
51
+ margin: 0 0 0 1rem;
52
+ min-height: 2.5rem;
53
+ display: flex;
54
+ align-items: center;
55
+ }
56
+
57
+ .message h1 {
58
+ font-weight: 400;
59
+ font-size: 1em;
60
+ margin: 0;
61
+ }
62
+
63
+ @media (prefers-color-scheme: dark) {
64
+ body {
65
+ --bg: #222;
66
+ --fg: #ddd;
67
+ --divider: #666;
68
+ }
69
+ }
70
+ </style>
71
+ </head>
72
+ <body>
73
+ <div class="error">
74
+ <span class="status">`+n+`</span>
75
+ <div class="message">
76
+ <h1>`+t+`</h1>
77
+ </div>
78
+ </div>
79
+ </body>
80
+ </html>
81
+ `;export{e as default};
build/_app/immutable/entry/app.DoRsE-be.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.eFSw7z9t.js","../chunks/D0-Lpew9.js","../chunks/CdZ30l9o.js","../chunks/DP5BbXZE.js","../assets/0.uHywWbNV.css","../nodes/1.utoQeerh.js","../chunks/CryQBVor.js","../chunks/UWALBBqO.js","../chunks/Cx7tSjKg.js","../nodes/2.C-8ae8EP.js","../chunks/DHQwSDIs.js"])))=>i.map(i=>d[i]);
2
+ var G=t=>{throw TypeError(t)};var H=(t,e,a)=>e.has(t)||G("Cannot "+a);var m=(t,e,a)=>(H(t,e,"read from private field"),a?a.call(t):e.get(t)),k=(t,e,a)=>e.has(t)?G("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),C=(t,e,a,o)=>(H(t,e,"write to private field"),o?o.call(t,a):e.set(t,a),a);import{al as x,am as Q,L as g,an as se,a6 as ie,ao as oe,h as W,i as ce,g as ue,E as fe,j as le,k as de,l as _e,n as Z,ac as me,f as ve,q as he,ap as ge,M as ye,t as X,D as p,aq as Ee,ar as $,as as Pe,at as Re,au as Se,av as be,aw as Oe,ax as we,ay as Ae,o as Te,az as Ie,aA as xe,aB as J,aC as Le,aD as De,v as Be,aE as je,u as ke,aF as Ce,w as D,B as Ne,y as Ye,aG as N,z as qe,A as Ue,x as Me,aH as Y}from"../chunks/CdZ30l9o.js";import{h as Ve,m as ze,u as Fe,s as Ge}from"../chunks/CryQBVor.js";import{a as A,c as q,f as ee,t as He}from"../chunks/D0-Lpew9.js";import{o as We}from"../chunks/Cx7tSjKg.js";import{B as Ze,i as U}from"../chunks/DHQwSDIs.js";const Je="modulepreload",Ke=function(t,e){return new URL(t,e).href},K={},j=function(e,a,o){let c=Promise.resolve();if(a&&a.length>0){let n=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),v=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));c=n(a.map(u=>{if(u=Ke(u,o),u in K)return;K[u]=!0;const d=u.endsWith(".css"),R=d?'[rel="stylesheet"]':"";if(!!o)for(let f=r.length-1;f>=0;f--){const _=r[f];if(_.href===u&&(!d||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${R}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":Je,d||(h.as="script"),h.crossOrigin="",h.href=u,v&&h.setAttribute("nonce",v),document.head.appendChild(h),d)return new Promise((f,_)=>{h.addEventListener("load",f),h.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${u}`)))})}))}function l(n){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=n,window.dispatchEvent(r),!r.defaultPrevented)throw n}return c.then(n=>{for(const r of n||[])r.status==="rejected"&&l(r.reason);return e().catch(l)})},ut={};let B=!1;function Qe(t){var e=B;try{return B=!1,[t(),B]}finally{B=e}}function Xe(t){return class extends pe{constructor(e){super({component:t,...e})}}}var O,y;class pe{constructor(e){k(this,O);k(this,y);var l;var a=new Map,o=(n,r)=>{var s=oe(r,!1,!1);return a.set(n,s),s};const c=new Proxy({...e.props||{},$$events:{}},{get(n,r){return g(a.get(r)??o(r,Reflect.get(n,r)))},has(n,r){return r===Q?!0:(g(a.get(r)??o(r,Reflect.get(n,r))),Reflect.has(n,r))},set(n,r,s){return x(a.get(r)??o(r,s),s),Reflect.set(n,r,s)}});C(this,y,(e.hydrate?Ve:ze)(e.component,{target:e.target,anchor:e.anchor,props:c,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((l=e==null?void 0:e.props)!=null&&l.$$host)||e.sync===!1)&&se(),C(this,O,c.$$events);for(const n of Object.keys(m(this,y)))n==="$set"||n==="$destroy"||n==="$on"||ie(this,n,{get(){return m(this,y)[n]},set(r){m(this,y)[n]=r},enumerable:!0});m(this,y).$set=n=>{Object.assign(c,n)},m(this,y).$destroy=()=>{Fe(m(this,y))}}$set(e){m(this,y).$set(e)}$on(e,a){m(this,O)[e]=m(this,O)[e]||[];const o=(...c)=>a.call(this,...c);return m(this,O)[e].push(o),()=>{m(this,O)[e]=m(this,O)[e].filter(c=>c!==o)}}$destroy(){m(this,y).$destroy()}}O=new WeakMap,y=new WeakMap;function M(t,e,a){var o;W&&(o=ve,ce());var c=new Ze(t);ue(()=>{var l=e()??null;if(W){var n=le(o),r=n===me,s=l!==null;if(r!==s){var v=de();_e(v),c.anchor=v,Z(!1),c.ensure(l,l&&(u=>a(u,l))),Z(!0);return}}c.ensure(l,l&&(u=>a(u,l)))},fe)}function V(t,e){return t===e||(t==null?void 0:t[$])===e}function z(t={},e,a,o){var c=he.r,l=p;return ge(()=>{var n,r;return ye(()=>{n=r,r=[],X(()=>{V(a(...r),t)||(e(t,...r),n&&V(a(...n),t)&&e(null,...n))})}),()=>{let s=l;for(;s!==c&&s.parent!==null&&s.parent.f&Ee;)s=s.parent;const v=()=>{r&&V(a(...r),t)&&e(null,...r)},u=s.teardown;s.teardown=()=>{v(),u==null||u()}}}),t}function F(t,e,a,o){var b;var c=!Te||(a&Ie)!==0,l=(a&Ae)!==0,n=(a&De)!==0,r=o,s=!0,v=void 0,u=()=>n&&c?(v??(v=J(o)),g(v)):(s&&(s=!1,r=n?X(o):o),r);let d;if(l){var R=$ in t||Q in t;d=((b=Pe(t,e))==null?void 0:b.set)??(R&&e in t?i=>t[e]=i:void 0)}var w,h=!1;l?[w,h]=Qe(()=>t[e]):w=t[e],w===void 0&&o!==void 0&&(w=u(),d&&(c&&Re(),d(w)));var f;if(c?f=()=>{var i=t[e];return i===void 0?u():(s=!0,i)}:f=()=>{var i=t[e];return i!==void 0&&(r=void 0),i===void 0?r:i},c&&(a&Se)===0)return f;if(d){var _=t.$$legacy;return(function(i,T){return arguments.length>0?((!c||!T||_||h)&&d(T?f():i),i):f()})}var E=!1,P=((a&xe)!==0?J:Le)(()=>(E=!1,f()));l&&g(P);var S=p;return(function(i,T){if(arguments.length>0){const I=T?g(P):c&&l?be(i):i;return x(P,I),E=!0,r!==void 0&&(r=I),i}return Oe&&E||(S.f&we)!==0?P.v:g(P)})}var $e=ee('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),et=ee("<!> <!>",1);function tt(t,e){Be(e,!0);let a=F(e,"components",23,()=>[]),o=F(e,"data_0",3,null),c=F(e,"data_1",3,null);je(()=>e.stores.page.set(e.page)),ke(()=>{e.stores,e.page,e.constructors,a(),e.form,o(),c(),e.stores.page.notify()});let l=N(!1),n=N(!1),r=N(null);We(()=>{const f=e.stores.page.subscribe(()=>{g(l)&&(x(n,!0),Ce().then(()=>{x(r,document.title||"untitled page",!0)}))});return x(l,!0),f});const s=Y(()=>e.constructors[1]);var v=et(),u=D(v);{var d=f=>{const _=Y(()=>e.constructors[0]);var E=q(),P=D(E);M(P,()=>g(_),(S,b)=>{z(b(S,{get data(){return o()},get form(){return e.form},get params(){return e.page.params},children:(i,T)=>{var I=q(),re=D(I);M(re,()=>g(s),(ae,ne)=>{z(ne(ae,{get data(){return c()},get form(){return e.form},get params(){return e.page.params}}),L=>a()[1]=L,()=>{var L;return(L=a())==null?void 0:L[1]})}),A(i,I)},$$slots:{default:!0}}),i=>a()[0]=i,()=>{var i;return(i=a())==null?void 0:i[0]})}),A(f,E)},R=f=>{const _=Y(()=>e.constructors[0]);var E=q(),P=D(E);M(P,()=>g(_),(S,b)=>{z(b(S,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),i=>a()[0]=i,()=>{var i;return(i=a())==null?void 0:i[0]})}),A(f,E)};U(u,f=>{e.constructors[1]?f(d):f(R,-1)})}var w=Ne(u,2);{var h=f=>{var _=$e(),E=qe(_);{var P=S=>{var b=He();Me(()=>Ge(b,g(r))),A(S,b)};U(E,S=>{g(n)&&S(P)})}Ue(_),A(f,_)};U(w,f=>{g(l)&&f(h)})}A(t,v),Ye()}const ft=Xe(tt),lt=[()=>j(()=>import("../nodes/0.eFSw7z9t.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>j(()=>import("../nodes/1.utoQeerh.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>j(()=>import("../nodes/2.C-8ae8EP.js"),__vite__mapDeps([9,1,2,3,8,6,10]),import.meta.url)],dt=[],_t={"/":[2]},te={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},rt=Object.fromEntries(Object.entries(te.transport).map(([t,e])=>[t,e.decode])),mt=Object.fromEntries(Object.entries(te.transport).map(([t,e])=>[t,e.encode])),vt=!1,ht=(t,e)=>rt[t](e),gt=()=>j(()=>import("../chunks/wbPk3Yxo.js"),[],import.meta.url).then(t=>t.default);export{ht as decode,rt as decoders,_t as dictionary,mt as encoders,gt as get_error_template,vt as hash,te as hooks,ut as matchers,lt as nodes,ft as root,dt as server_loads};
build/_app/immutable/entry/start.D4TIGLtM.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{l as o,a as r}from"../chunks/UWALBBqO.js";export{o as load_css,r as start};
build/_app/immutable/nodes/0.eFSw7z9t.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{c as f,a as l}from"../chunks/D0-Lpew9.js";import"../chunks/DP5BbXZE.js";import{h as s,i as u,w as c}from"../chunks/CdZ30l9o.js";function d(n,e,t,r,_){var i;s&&u();var a=(i=e.$$slots)==null?void 0:i[t],o=!1;a===!0&&(a=e.children,o=!0),a===void 0||a(n,o?()=>r:r)}const m=!0,h=Object.freeze(Object.defineProperty({__proto__:null,prerender:m},Symbol.toStringTag,{value:"Module"}));function b(n,e){var t=f(),r=c(t);d(r,e,"default",{}),l(n,t)}export{b as component,h as universal};
build/_app/immutable/nodes/1.utoQeerh.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{a as h,f as g}from"../chunks/D0-Lpew9.js";import{v,w as d,x as l,y as x,z as a,A as o,B as _}from"../chunks/CdZ30l9o.js";import{s as p}from"../chunks/CryQBVor.js";import{s as $,p as m}from"../chunks/UWALBBqO.js";const k={get error(){return m.error},get status(){return m.status}};$.updated.check;const c=k;var b=g("<h1> </h1> <p> </p>",1);function B(f,n){v(n,!0);var t=b(),r=d(t),u=a(r,!0);o(r);var e=_(r,2),i=a(e,!0);o(e),l(()=>{var s;p(u,c.status),p(i,(s=c.error)==null?void 0:s.message)}),h(f,t),x()}export{B as component};
build/_app/immutable/nodes/2.C-8ae8EP.js ADDED
The diff for this file is too large to render. See raw diff
 
build/_app/version.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":"1784552917601"}
build/index.html ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="theme-color" content="#090a0d" />
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500&display=swap" rel="stylesheet" />
10
+ <link href="./_app/immutable/entry/start.D4TIGLtM.js" rel="modulepreload">
11
+ <link href="./_app/immutable/chunks/UWALBBqO.js" rel="modulepreload">
12
+ <link href="./_app/immutable/chunks/CdZ30l9o.js" rel="modulepreload">
13
+ <link href="./_app/immutable/chunks/Cx7tSjKg.js" rel="modulepreload">
14
+ <link href="./_app/immutable/entry/app.DoRsE-be.js" rel="modulepreload">
15
+ <link href="./_app/immutable/chunks/CryQBVor.js" rel="modulepreload">
16
+ <link href="./_app/immutable/chunks/D0-Lpew9.js" rel="modulepreload">
17
+ <link href="./_app/immutable/chunks/DHQwSDIs.js" rel="modulepreload">
18
+ <link href="./_app/immutable/nodes/0.eFSw7z9t.js" rel="modulepreload">
19
+ <link href="./_app/immutable/chunks/DP5BbXZE.js" rel="modulepreload">
20
+ <link href="./_app/immutable/nodes/2.C-8ae8EP.js" rel="modulepreload">
21
+ <!--1uha8ag--><meta name="description" content="A carefully scored compact language model benchmark from Universal Computing Research."/><!----><title>Compact Language Model Index</title>
22
+ <link href="./_app/immutable/assets/0.uHywWbNV.css" rel="stylesheet">
23
+ </head>
24
+ <body data-sveltekit-preload-data="hover">
25
+ <div style="display: contents"><!--[--><!--[0--><!--[--><!--[--><!--[--><main><section class="hero" id="top"><div class="hero-copy"><div class="hero-kicker"><p class="eyebrow">Small language model evaluation</p> <span class="edition">Research index</span></div> <h1>Compact<br/>Language Model<br/><span>Index</span></h1> <p class="hero-description">A fixed evaluation of compact language models across six benchmarks, with chance-normalized scores and 95% intervals</p> <a class="hero-link" href="#leaderboard-title">Explore the leaderboard</a></div></section> <section class="summary-grid" aria-label="Suite summary"><article><span class="summary-index">Evaluation breadth</span><div class="summary-value"><strong>6</strong><span>core benchmarks</span></div></article> <article><span class="summary-index">Linguistic depth</span><div class="summary-value"><strong>12</strong><span>BLiMP categories</span></div></article> <article><span class="summary-index">Current sample</span><div class="summary-value"><strong>18</strong><span>models measured</span></div></article></section> <section class="leaderboard-section" aria-labelledby="leaderboard-title"><div class="section-heading table-heading"><div><p class="eyebrow">Ranked results</p> <h2 id="leaderboard-title">Core leaderboard</h2></div> <div class="leaderboard-controls"><div class="filter-stack"><div class="top-filter-row"><div class="filters view-filter"><button type="button" aria-pressed="false">Simplified view</button></div> <div class="filters" aria-label="Model track filter"><!--[--><button class="active">All tracks</button><button>Base</button><button>Instruction</button><!--]--></div></div> <div class="size-filters" aria-label="Maximum parameter count"><!--[--><button class="active">All</button><button>&lt;10M</button><button>&lt;50M</button><button>&lt;100M</button><button>&lt;300M</button><!--]--></div></div></div></div> <div class="table-wrap"><table><thead><tr><th>Rank</th><th class="sortable"><button class="sort-button" type="button">Model</button></th><th class="metadata-head" title="Hugging Face repository creation date">Release date</th><th class="sortable"><button class="sort-button" type="button">Parameters</button></th><th class="metadata-head">Vocab. size</th><th class="track-head">Track</th><th class="sortable score-head sorted"><button class="sort-button" type="button">Average score <span>95% CI</span></button></th><!--[--><th class="sortable metric-head"><button class="sort-button" type="button">HellaSwag</button></th><th class="sortable metric-head"><button class="sort-button" type="button">PIQA</button></th><th class="sortable metric-head"><button class="sort-button" type="button">ARC-Easy</button></th><th class="sortable metric-head"><button class="sort-button" type="button">ARC-Challenge</button></th><th class="sortable metric-head"><button class="sort-button" type="button">CommonsenseQA</button></th><th class="sortable metric-head"><button class="sort-button" type="button">BLiMP</button></th><!--]--></tr></thead><tbody><!--[-1--><!--[--><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/LiquidAI/LFM2-350M" target="_blank" rel="noreferrer" aria-label="Open LFM2 350M on Hugging Face"><span class="model-name">LFM2 350M</span></a><!--]--> <!--[0--><span class="model-source">LiquidAI/LFM2-350M</span><!--]--></td><td class="metadata">2025-07-10</td><td>354M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->43.2<span>42.0–44.2</span><!--]--></td><td class="metric"><!--[0-->32.0<span>30.6–33.3</span><!--]--></td><td class="metric"><!--[0-->39.2<span>35.0–43.2</span><!--]--></td><td class="metric"><!--[0-->55.2<span>52.6–57.7</span><!--]--></td><td class="metric"><!--[0-->19.5<span>15.7–23.3</span><!--]--></td><td class="metric"><!--[0-->31.3<span>27.9–34.9</span><!--]--></td><td class="metric"><!--[0-->58.1<span>57.2–58.4</span><!--]--></td><!--]--></tr><tr><td class="rank">1–2</td><td><!--[0--><a class="model-link" href="https://huggingface.co/Qwen/Qwen2.5-0.5B" target="_blank" rel="noreferrer" aria-label="Open Qwen2.5 0.5B on Hugging Face"><span class="model-name">Qwen2.5 0.5B</span></a><!--]--> <!--[0--><span class="model-source">Qwen/Qwen2.5-0.5B</span><!--]--></td><td class="metadata">2024-09-15</td><td>494M</td><td class="metadata">151,936</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->43.0<span>41.9–44.0</span><!--]--></td><td class="metric"><!--[0-->36.2<span>34.8–37.5</span><!--]--></td><td class="metric"><!--[0-->38.8<span>34.7–42.8</span><!--]--></td><td class="metric"><!--[0-->44.6<span>41.9–47.2</span><!--]--></td><td class="metric"><!--[0-->9.3<span>5.8–13.1</span><!--]--></td><td class="metric"><!--[0-->26.2<span>22.9–29.7</span><!--]--></td><td class="metric"><!--[0-->68.7<span>67.9–68.9</span><!--]--></td><!--]--></tr><tr><td class="rank">3</td><td><!--[0--><a class="model-link" href="https://huggingface.co/google/gemma-3-270m" target="_blank" rel="noreferrer" aria-label="Open Gemma 3 270M on Hugging Face"><span class="model-name">Gemma 3 270M</span></a><!--]--> <!--[0--><span class="model-source">google/gemma-3-270m</span><!--]--></td><td class="metadata">2025-08-05</td><td>270M</td><td class="metadata">262,144</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->38.9<span>37.8–39.9</span><!--]--></td><td class="metric"><!--[0-->21.9<span>20.7–23.3</span><!--]--></td><td class="metric"><!--[0-->37.0<span>32.9–41.2</span><!--]--></td><td class="metric"><!--[0-->43.0<span>40.4–45.6</span><!--]--></td><td class="metric"><!--[0-->4.0<span>0.6–7.3</span><!--]--></td><td class="metric"><!--[0-->28.2<span>24.8–31.7</span><!--]--></td><td class="metric"><!--[0-->64.3<span>63.5–64.5</span><!--]--></td><!--]--></tr><tr><td class="rank">4</td><td><!--[0--><a class="model-link" href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M" target="_blank" rel="noreferrer" aria-label="Open SmolLM2 135M on Hugging Face"><span class="model-name">SmolLM2 135M</span></a><!--]--> <!--[0--><span class="model-source">HuggingFaceTB/SmolLM2-135M</span><!--]--></td><td class="metadata">2024-10-31</td><td>135M</td><td class="metadata">49,152</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->37.8<span>36.7–38.8</span><!--]--></td><td class="metric"><!--[0-->24.3<span>23.0–25.6</span><!--]--></td><td class="metric"><!--[0-->36.3<span>32.1–40.6</span><!--]--></td><td class="metric"><!--[0-->44.9<span>42.3–47.5</span><!--]--></td><td class="metric"><!--[0-->6.3<span>2.6–9.7</span><!--]--></td><td class="metric"><!--[0-->19.4<span>16.2–22.8</span><!--]--></td><td class="metric"><!--[0-->62.7<span>61.9–63.1</span><!--]--></td><!--]--></tr><tr><td class="rank">5</td><td><!--[0--><a class="model-link" href="https://huggingface.co/AxiomicLabs/GPT-X2-125M" target="_blank" rel="noreferrer" aria-label="Open GPT-X2 125M on Hugging Face"><span class="model-name">GPT-X2 125M</span></a><!--]--> <!--[0--><span class="model-source">AxiomicLabs/GPT-X2-125M</span><!--]--></td><td class="metadata">2026-03-25</td><td>125M</td><td class="metadata">32,768</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->35.5<span>34.3–36.5</span><!--]--></td><td class="metric"><!--[0-->20.7<span>19.4–21.9</span><!--]--></td><td class="metric"><!--[0-->34.2<span>29.7–38.4</span><!--]--></td><td class="metric"><!--[0-->35.5<span>32.8–38.2</span><!--]--></td><td class="metric"><!--[0-->3.4<span>-0.1–7.1</span><!--]--></td><td class="metric"><!--[0-->18.3<span>14.9–21.6</span><!--]--></td><td class="metric"><!--[0-->65.8<span>65.0–66.1</span><!--]--></td><!--]--></tr><tr><td class="rank">6</td><td><!--[0--><a class="model-link" href="https://huggingface.co/facebook/MobileLLM-R1-140M-base" target="_blank" rel="noreferrer" aria-label="Open MobileLLM-R1 140M Base on Hugging Face"><span class="model-name">MobileLLM-R1 140M Base</span></a><!--]--> <!--[0--><span class="model-source">facebook/MobileLLM-R1-140M-base</span><!--]--></td><td class="metadata">2025-09-10</td><td>140M</td><td class="metadata">128,256</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->31.2<span>30.1–32.2</span><!--]--></td><td class="metric"><!--[0-->12.1<span>10.9–13.3</span><!--]--></td><td class="metric"><!--[0-->26.6<span>22.2–30.8</span><!--]--></td><td class="metric"><!--[0-->33.2<span>30.5–35.7</span><!--]--></td><td class="metric"><!--[0-->-1.1<span>-4.6–2.3</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.0–22.8</span><!--]--></td><td class="metric"><!--[0-->61.6<span>60.7–61.8</span><!--]--></td><!--]--></tr><tr><td class="rank">7</td><td><!--[0--><a class="model-link" href="https://huggingface.co/PleIAs/Baguettotron" target="_blank" rel="noreferrer" aria-label="Open Baguettotron on Hugging Face"><span class="model-name">Baguettotron</span></a><!--]--> <!--[0--><span class="model-source">PleIAs/Baguettotron</span><!--]--></td><td class="metadata">2025-11-10</td><td>321M</td><td class="metadata">65,536</td><td class="track-cell"><span class="track instruction">instruction</span></td><!--[--><td class="metric score-main"><!--[0-->29.6<span>28.4–30.7</span><!--]--></td><td class="metric"><!--[0-->13.9<span>12.6–15.1</span><!--]--></td><td class="metric"><!--[0-->24.2<span>19.6–28.7</span><!--]--></td><td class="metric"><!--[0-->34.1<span>31.5–36.7</span><!--]--></td><td class="metric"><!--[0-->7.2<span>3.8–10.6</span><!--]--></td><td class="metric"><!--[0-->13.3<span>10.0–16.6</span><!--]--></td><td class="metric"><!--[0-->56.9<span>56.0–57.2</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/openai-community/gpt2" target="_blank" rel="noreferrer" aria-label="Open GPT-2 124M on Hugging Face"><span class="model-name">GPT-2 124M</span></a><!--]--> <!--[0--><span class="model-source">openai-community/gpt2</span><!--]--></td><td class="metadata">2022-03-02</td><td>124M</td><td class="metadata">50,257</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.9<span>26.8–28.9</span><!--]--></td><td class="metric"><!--[0-->8.2<span>7.0–9.4</span><!--]--></td><td class="metric"><!--[0-->25.0<span>20.7–29.4</span><!--]--></td><td class="metric"><!--[0-->19.3<span>16.7–21.9</span><!--]--></td><td class="metric"><!--[0-->-3.4<span>-6.6–-0.2</span><!--]--></td><td class="metric"><!--[0-->12.3<span>9.2–15.5</span><!--]--></td><td class="metric"><!--[0-->67.5<span>66.8–67.8</span><!--]--></td><!--]--></tr><tr><td class="rank">8–9</td><td><!--[0--><a class="model-link" href="https://huggingface.co/SupraLabs/Supra-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Supra 50M Base on Hugging Face"><span class="model-name">Supra 50M Base</span></a><!--]--> <!--[0--><span class="model-source">SupraLabs/Supra-50M-Base</span><!--]--></td><td class="metadata">2026-05-21</td><td>51.8M</td><td class="metadata">32,000</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->27.3<span>26.2–28.3</span><!--]--></td><td class="metric"><!--[0-->8.8<span>7.6–10.0</span><!--]--></td><td class="metric"><!--[0-->23.4<span>18.9–28.0</span><!--]--></td><td class="metric"><!--[0-->27.5<span>24.7–30.2</span><!--]--></td><td class="metric"><!--[0-->-0.1<span>-3.5–3.2</span><!--]--></td><td class="metric"><!--[0-->12.5<span>9.2–15.7</span><!--]--></td><td class="metric"><!--[0-->59.0<span>57.9–59.1</span><!--]--></td><!--]--></tr><tr><td class="rank">10</td><td><!--[0--><a class="model-link" href="https://huggingface.co/veyra-ai/Veyra2-Apricot-50M-Base" target="_blank" rel="noreferrer" aria-label="Open Veyra2 Apricot 50M Base on Hugging Face"><span class="model-name">Veyra2 Apricot 50M Base</span></a><!--]--> <!--[0--><span class="model-source">veyra-ai/Veyra2-Apricot-50M-Base</span><!--]--></td><td class="metadata">2026-06-14</td><td>49.3M</td><td class="metadata">8,192</td><td class="track-cell"><span class="track">base</span></td><!--[--><td class="metric score-main"><!--[0-->26.1<span>24.9–27.1</span><!--]--></td><td class="metric"><!--[0-->8.4<span>7.2–9.5</span><!--]--></td><td class="metric"><!--[0-->23.4<span>19.0–27.9</span><!--]--></td><td class="metric"><!--[0-->23.7<span>20.9–26.4</span><!--]--></td><td class="metric"><!--[0-->-2.0<span>-5.2–1.1</span><!--]--></td><td class="metric"><!--[0-->10.8<span>7.7–14.0</span><!--]--></td><td class="metric"><!--[0-->58.7<span>57.7–58.9</span><!--]--></td><!--]--></tr><!--]--><!--]--></tbody></table></div> <!--[0--><button class="bar-toggle table-toggle" type="button" aria-expanded="false" aria-label="Show all 18 models" title="Show all 18 models"><span class="bar-toggle-chevron" aria-hidden="true"></span></button><!--]--></section> <section class="chart-controls" aria-label="Chart metric selector"><div><p class="eyebrow">Chart metric</p> <p class="section-note">Select a benchmark to update both the scaling chart and score comparison below.</p></div> <div class="task-tabs" aria-label="Benchmark score selector"><!--[--><button class="active">Average</button><button>HellaSwag</button><button>PIQA</button><button>ARC-Easy</button><button>ARC-Challenge</button><button>CommonsenseQA</button><button>BLiMP</button><!--]--></div></section> <section class="panel landscape" aria-labelledby="landscape-title"><div class="section-heading"><div><p class="eyebrow">Model scaling</p> <h2 id="landscape-title">Parameters and Average score</h2></div> <div class="legend"><span class="legend-dot base"></span>Base <span class="legend-dot instruction"></span>Instruction-tuned <span class="frontier-label"><span class="frontier-key"></span>Pareto trend</span></div></div> <!--[0--><div class="scatter-area" role="group" aria-label="Interactive Average score scatter chart"><svg viewBox="0 0 1120 390" preserveAspectRatio="xMidYMid meet" aria-label="Scatter chart of model size and chance-normalized Average score" role="img"><text class="axis-title" x="7" y="195" text-anchor="middle" transform="rotate(-90 7 195)">Chance-normalized score</text><!--[--><line class="grid-line" x1="62" x2="1092" y1="338" y2="338"></line><text class="axis-text" x="48" y="342" text-anchor="end">-5.0</text><line class="grid-line" x1="62" x2="1092" y1="260.5" y2="260.5"></line><text class="axis-text" x="48" y="264.5" text-anchor="end">8.0</text><line class="grid-line" x1="62" x2="1092" y1="183" y2="183"></line><text class="axis-text" x="48" y="187" text-anchor="end">21.0</text><line class="grid-line" x1="62" x2="1092" y1="105.5" y2="105.5"></line><text class="axis-text" x="48" y="109.5" text-anchor="end">34.0</text><line class="grid-line" x1="62" x2="1092" y1="28" y2="28"></line><text class="axis-text" x="48" y="32" text-anchor="end">47.0</text><!--]--><line class="axis-line" x1="62" x2="1092" y1="338" y2="338"></line><!--[--><text class="axis-text" x="62" y="373" text-anchor="middle">1.00M</text><text class="axis-text" x="405.33333333333326" y="373" text-anchor="middle">66.2M</text><text class="axis-text" x="748.6666666666666" y="373" text-anchor="middle">233M</text><text class="axis-text" x="1092" y="373" text-anchor="middle">502M</text><!--]--><text class="axis-title" x="560" y="389" dy="16" text-anchor="middle">Parameters (square-root scale)</text><!--[0--><line class="frontier-line" x1="62" y1="216.56388959058867" x2="1092" y2="28"></line><!--]--><!--[--><circle class="point instruction-point" cx="920.0643854317169" cy="50.780455838519174" r="7" tabindex="0" role="button" aria-label="LFM2 350M: 354M, Average score 43.2"></circle><circle class="point" cx="1083.6305651411053" cy="51.90738346440537" r="7" tabindex="0" role="button" aria-label="Qwen2.5 0.5B: 494M, Average score 43.0"></circle><circle class="point" cx="804.7395806967118" cy="76.21220794018353" r="7" tabindex="0" role="button" aria-label="Gemma 3 270M: 270M, Average score 38.9"></circle><circle class="point" cx="573.0989971860241" cy="82.58687530918641" r="7" tabindex="0" role="button" aria-label="SmolLM2 135M: 135M, Average score 37.8"></circle><circle class="point" cx="552.1640728408827" cy="96.41524426650113" r="7" tabindex="0" role="button" aria-label="GPT-X2 125M: 125M, Average score 35.5"></circle><circle class="point" cx="583.3609510834209" cy="122.12647039897544" r="7" tabindex="0" role="button" aria-label="MobileLLM-R1 140M Base: 140M, Average score 31.2"></circle><circle class="point instruction-point" cx="876.2040679057936" cy="131.5429165333165" r="7" tabindex="0" role="button" aria-label="Baguettotron: 321M, Average score 29.6"></circle><circle class="point" cx="549.8315227770954" cy="142.03728477664495" r="7" tabindex="0" role="button" aria-label="GPT-2 124M: 124M, Average score 27.9"></circle><circle class="point" cx="360.2314798696789" cy="145.2155148919247" r="7" tabindex="0" role="button" aria-label="Supra 50M Base: 51.8M, Average score 27.3"></circle><circle class="point" cx="351.8148480745461" cy="152.66228173290887" r="7" tabindex="0" role="button" aria-label="Veyra2 Apricot 50M Base: 49.3M, Average score 26.1"></circle><circle class="point instruction-point" cx="470.47840980935945" cy="184.1896780254373" r="7" tabindex="0" role="button" aria-label="Falcon H1 Tiny R 90M: 90.0M, Average score 20.8"></circle><circle class="point" cx="165.83340068793552" cy="187.3757702798596" r="7" tabindex="0" role="button" aria-label="SLM 10M: 9.97M, Average score 20.3"></circle><circle class="point" cx="622.6814934529776" cy="187.69827382415878" r="7" tabindex="0" role="button" aria-label="Pythia 160M: 160M, Average score 20.2"></circle><circle class="point" cx="125.54930588890744" cy="193.25663346409905" r="7" tabindex="0" role="button" aria-label="GPT-S2 5M: 5.38M, Average score 19.3"></circle><circle class="point" cx="518.6696792594654" cy="201.73683063453336" r="7" tabindex="0" role="button" aria-label="nanowhale 100M Base: 110M, Average score 17.9"></circle><circle class="point" cx="281.8503408278001" cy="207.2645820788696" r="7" tabindex="0" role="button" aria-label="Pythia 31M: 31.0M, Average score 16.9"></circle><circle class="point" cx="102.78494456761237" cy="222.7794839267102" r="7" tabindex="0" role="button" aria-label="Atom 3.4M: 3.41M, Average score 14.3"></circle><circle class="point" cx="71.34471923620197" cy="234.94264108877815" r="7" tabindex="0" role="button" aria-label="GPT-S 1.4M: 1.43M, Average score 12.3"></circle><!--]--></svg> <!--[-1--><!--]--></div><!--]--></section> <section class="panel score-panel" aria-labelledby="scores-title"><div class="section-heading compact-heading"><div><h2 id="scores-title">Model score comparison</h2> <p class="section-note">The top 10 matching models are shown by default. This comparison uses the shared metric selected above.</p></div></div> <!--[0--><div class="bar-list" style="--zero:0%"><!--[--><div class="bar-row"><span class="bar-rank">1</span> <span class="bar-name" title="LFM2 350M">LFM2 350M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:97.66531842166003%"></i><!--[0--><i class="ci-band instruction-band" style="--start:95.08105379287115%; --width:4.918946207128863%"></i><!--]--></div> <strong>43.2</strong></div><div class="bar-row"><span class="bar-rank">2</span> <span class="bar-name" title="Qwen2.5 0.5B">Qwen2.5 0.5B</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:97.23774780038632%"></i><!--[0--><i class="ci-band" style="--start:94.69030884335038%; --width:4.757187813642953%"></i><!--]--></div> <strong>43.0</strong></div><div class="bar-row"><span class="bar-rank">3</span> <span class="bar-name" title="Gemma 3 270M">Gemma 3 270M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:88.01618941247756%"></i><!--[0--><i class="ci-band" style="--start:85.44044110865632%; --width:4.839940668657898%"></i><!--]--></div> <strong>38.9</strong></div><div class="bar-row"><span class="bar-rank">4</span> <span class="bar-name" title="SmolLM2 135M">SmolLM2 135M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:85.597559835237%"></i><!--[0--><i class="ci-band" style="--start:82.96844443078491%; --width:4.905403281355444%"></i><!--]--></div> <strong>37.8</strong></div><div class="bar-row"><span class="bar-rank">5</span> <span class="bar-name" title="GPT-X2 125M">GPT-X2 125M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:80.35090142482527%"></i><!--[0--><i class="ci-band" style="--start:77.6741650567042%; --width:4.842527680048843%"></i><!--]--></div> <strong>35.5</strong></div><div class="bar-row"><span class="bar-rank">6</span> <span class="bar-name" title="MobileLLM-R1 140M Base">MobileLLM-R1 140M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:70.59573642696135%"></i><!--[0--><i class="ci-band" style="--start:68.01351553652728%; --width:4.856246906950909%"></i><!--]--></div> <strong>31.2</strong></div><div class="bar-row"><span class="bar-rank">7</span> <span class="bar-name" title="Baguettotron">Baguettotron</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill instruction-fill" style="--start:0%; --width:67.0230174418495%"></i><!--[0--><i class="ci-band instruction-band" style="--start:64.30273366073322%; --width:5.102435679356783%"></i><!--]--></div> <strong>29.6</strong></div><div class="bar-row"><span class="bar-rank">8</span> <span class="bar-name" title="GPT-2 124M">GPT-2 124M</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:63.04132114955523%"></i><!--[0--><i class="ci-band" style="--start:60.53290469836335%; --width:4.737448055935418%"></i><!--]--></div> <strong>27.9</strong></div><div class="bar-row"><span class="bar-rank">9</span> <span class="bar-name" title="Supra 50M Base">Supra 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:61.835460370454776%"></i><!--[0--><i class="ci-band" style="--start:59.165814883947%; --width:4.859755028382519%"></i><!--]--></div> <strong>27.3</strong></div><div class="bar-row"><span class="bar-rank">10</span> <span class="bar-name" title="Veyra2 Apricot 50M Base">Veyra2 Apricot 50M Base</span> <div class="bar-track"><i class="zero-line"></i><i class="bar-fill" style="--start:0%; --width:59.01006266829425%"></i><!--[0--><i class="ci-band" style="--start:56.36520694817211%; --width:4.826922398471318%"></i><!--]--></div> <strong>26.1</strong></div><!--]--></div> <!--[0--><button class="bar-toggle" type="button" aria-expanded="false" aria-label="Show all 18 models" title="Show all 18 models"><span class="bar-toggle-chevron" aria-hidden="true"></span></button><!--]--><!--]--></section> <section class="bottom-grid"><article class="panel method-card"><p class="eyebrow">Scoring method</p> <h3>Chance-normalized composite score</h3> <p class="formula">100 × <span>(accuracy − chance)</span> / <span>(1 − chance)</span></p> <p>For each benchmark, the observed result is normalized against its chance level: chance maps to 0 and a perfect result maps to 100.</p> <p>HellaSwag, PIQA, and CommonsenseQA form a commonsense domain worth 50% of the composite, with each benchmark weighted equally within that domain. Science and world knowledge contribute 25% after combining ARC-Easy (75%) and ARC-Challenge (25%). BLiMP contributes the remaining 25% for grammatical competence and is macro-averaged across its 12 linguistic categories.</p> <p>CommonsenseQA scores the likelihood of each full answer text with length normalization, rather than scoring the A–E answer label. This prevents a model’s letter preference from being mistaken for commonsense capability.</p> <p>Each benchmark interval is a 95% percentile bootstrap. Model comparisons use paired bootstrap resampling on matched evaluation items. Results below chance remain negative, and rank ranges reflect comparisons that do not distinguish neighbouring models.</p></article> <article class="panel protocol-card"><p class="eyebrow">Evaluation protocol</p> <h2>Curated evaluation</h2> <p>CompactLMIndex is a curated benchmark, not an open intake list. We are establishing a Pareto-frontier baseline across model sizes and highlighting training or inference strategies that put a model ahead of its peers at a comparable parameter count.</p> <ul><li>Complete core suite required for a rank</li><li>Zero-shot, non-chat log-likelihood prompts</li><li>Paired bootstrap comparisons on matched questions</li></ul> <p>Every published result is independently checked through our internal verification process. Final inclusion and presentation decisions remain with Universal Computing Research.</p> <p>If you have interesting results for a model you think is suitable for this benchmark, you can open a discussion on the Space for consideration.</p></article></section> <section class="panel additional-card" aria-labelledby="credits-title"><div><p class="eyebrow">Credits &amp; scope</p> <h2 id="credits-title">Efficiency at smaller scales</h2></div> <div class="credits-content"><p>CompactLMIndex looks at smaller language models. At this scale, architecture, training, and inference choices can make a real difference. Every model follows the same evaluation protocol, so results are compared fairly rather than by size alone.</p> <p class="credits-attribution">Inspired by the <a href="https://huggingface.co/open-llm-leaderboard" target="_blank" rel="noreferrer">Open LLM Leaderboard</a>, <a href="https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard" target="_blank" rel="noreferrer">Axiomic Labs Open SLM Leaderboard</a>, and <a href="https://github.com/openai/parameter-golf" target="_blank" rel="noreferrer">OpenAI Parameter Golf</a>.</p></div></section> <footer><p>Compact Language Model Index by <a href="https://huggingface.co/UniversalComputingResearch" target="_blank" rel="noreferrer">Universal Computing Research</a></p></footer></main><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
26
+
27
+ <script>
28
+ {
29
+ __sveltekit_1olruol = {
30
+ base: new URL(".", location).pathname.slice(0, -1)
31
+ };
32
+
33
+ const element = document.currentScript.parentElement;
34
+
35
+ Promise.all([
36
+ import("./_app/immutable/entry/start.D4TIGLtM.js"),
37
+ import("./_app/immutable/entry/app.DoRsE-be.js")
38
+ ]).then(([kit, app]) => {
39
+ kit.start(app, element, {
40
+ node_ids: [0, 2],
41
+ data: [null,null],
42
+ form: null,
43
+ error: null
44
+ });
45
+ });
46
+ }
47
+ </script>
48
+ </div>
49
+ </body>
50
+ </html>
package-lock.json ADDED
@@ -0,0 +1,1438 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "compact-lm-index",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "compact-lm-index",
9
+ "version": "1.0.0",
10
+ "devDependencies": {
11
+ "@sveltejs/adapter-static": "^3.0.8",
12
+ "@sveltejs/kit": "^2.15.1",
13
+ "@sveltejs/vite-plugin-svelte": "^5.0.3",
14
+ "svelte": "^5.19.0",
15
+ "vite": "^6.1.0"
16
+ }
17
+ },
18
+ "node_modules/@esbuild/aix-ppc64": {
19
+ "version": "0.25.12",
20
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
21
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
22
+ "cpu": [
23
+ "ppc64"
24
+ ],
25
+ "dev": true,
26
+ "optional": true,
27
+ "os": [
28
+ "aix"
29
+ ],
30
+ "engines": {
31
+ "node": ">=18"
32
+ }
33
+ },
34
+ "node_modules/@esbuild/android-arm": {
35
+ "version": "0.25.12",
36
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
37
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
38
+ "cpu": [
39
+ "arm"
40
+ ],
41
+ "dev": true,
42
+ "optional": true,
43
+ "os": [
44
+ "android"
45
+ ],
46
+ "engines": {
47
+ "node": ">=18"
48
+ }
49
+ },
50
+ "node_modules/@esbuild/android-arm64": {
51
+ "version": "0.25.12",
52
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
53
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
54
+ "cpu": [
55
+ "arm64"
56
+ ],
57
+ "dev": true,
58
+ "optional": true,
59
+ "os": [
60
+ "android"
61
+ ],
62
+ "engines": {
63
+ "node": ">=18"
64
+ }
65
+ },
66
+ "node_modules/@esbuild/android-x64": {
67
+ "version": "0.25.12",
68
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
69
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
70
+ "cpu": [
71
+ "x64"
72
+ ],
73
+ "dev": true,
74
+ "optional": true,
75
+ "os": [
76
+ "android"
77
+ ],
78
+ "engines": {
79
+ "node": ">=18"
80
+ }
81
+ },
82
+ "node_modules/@esbuild/darwin-arm64": {
83
+ "version": "0.25.12",
84
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
85
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
86
+ "cpu": [
87
+ "arm64"
88
+ ],
89
+ "dev": true,
90
+ "optional": true,
91
+ "os": [
92
+ "darwin"
93
+ ],
94
+ "engines": {
95
+ "node": ">=18"
96
+ }
97
+ },
98
+ "node_modules/@esbuild/darwin-x64": {
99
+ "version": "0.25.12",
100
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
101
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
102
+ "cpu": [
103
+ "x64"
104
+ ],
105
+ "dev": true,
106
+ "optional": true,
107
+ "os": [
108
+ "darwin"
109
+ ],
110
+ "engines": {
111
+ "node": ">=18"
112
+ }
113
+ },
114
+ "node_modules/@esbuild/freebsd-arm64": {
115
+ "version": "0.25.12",
116
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
117
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
118
+ "cpu": [
119
+ "arm64"
120
+ ],
121
+ "dev": true,
122
+ "optional": true,
123
+ "os": [
124
+ "freebsd"
125
+ ],
126
+ "engines": {
127
+ "node": ">=18"
128
+ }
129
+ },
130
+ "node_modules/@esbuild/freebsd-x64": {
131
+ "version": "0.25.12",
132
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
133
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
134
+ "cpu": [
135
+ "x64"
136
+ ],
137
+ "dev": true,
138
+ "optional": true,
139
+ "os": [
140
+ "freebsd"
141
+ ],
142
+ "engines": {
143
+ "node": ">=18"
144
+ }
145
+ },
146
+ "node_modules/@esbuild/linux-arm": {
147
+ "version": "0.25.12",
148
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
149
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
150
+ "cpu": [
151
+ "arm"
152
+ ],
153
+ "dev": true,
154
+ "optional": true,
155
+ "os": [
156
+ "linux"
157
+ ],
158
+ "engines": {
159
+ "node": ">=18"
160
+ }
161
+ },
162
+ "node_modules/@esbuild/linux-arm64": {
163
+ "version": "0.25.12",
164
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
165
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
166
+ "cpu": [
167
+ "arm64"
168
+ ],
169
+ "dev": true,
170
+ "optional": true,
171
+ "os": [
172
+ "linux"
173
+ ],
174
+ "engines": {
175
+ "node": ">=18"
176
+ }
177
+ },
178
+ "node_modules/@esbuild/linux-ia32": {
179
+ "version": "0.25.12",
180
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
181
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
182
+ "cpu": [
183
+ "ia32"
184
+ ],
185
+ "dev": true,
186
+ "optional": true,
187
+ "os": [
188
+ "linux"
189
+ ],
190
+ "engines": {
191
+ "node": ">=18"
192
+ }
193
+ },
194
+ "node_modules/@esbuild/linux-loong64": {
195
+ "version": "0.25.12",
196
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
197
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
198
+ "cpu": [
199
+ "loong64"
200
+ ],
201
+ "dev": true,
202
+ "optional": true,
203
+ "os": [
204
+ "linux"
205
+ ],
206
+ "engines": {
207
+ "node": ">=18"
208
+ }
209
+ },
210
+ "node_modules/@esbuild/linux-mips64el": {
211
+ "version": "0.25.12",
212
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
213
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
214
+ "cpu": [
215
+ "mips64el"
216
+ ],
217
+ "dev": true,
218
+ "optional": true,
219
+ "os": [
220
+ "linux"
221
+ ],
222
+ "engines": {
223
+ "node": ">=18"
224
+ }
225
+ },
226
+ "node_modules/@esbuild/linux-ppc64": {
227
+ "version": "0.25.12",
228
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
229
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
230
+ "cpu": [
231
+ "ppc64"
232
+ ],
233
+ "dev": true,
234
+ "optional": true,
235
+ "os": [
236
+ "linux"
237
+ ],
238
+ "engines": {
239
+ "node": ">=18"
240
+ }
241
+ },
242
+ "node_modules/@esbuild/linux-riscv64": {
243
+ "version": "0.25.12",
244
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
245
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
246
+ "cpu": [
247
+ "riscv64"
248
+ ],
249
+ "dev": true,
250
+ "optional": true,
251
+ "os": [
252
+ "linux"
253
+ ],
254
+ "engines": {
255
+ "node": ">=18"
256
+ }
257
+ },
258
+ "node_modules/@esbuild/linux-s390x": {
259
+ "version": "0.25.12",
260
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
261
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
262
+ "cpu": [
263
+ "s390x"
264
+ ],
265
+ "dev": true,
266
+ "optional": true,
267
+ "os": [
268
+ "linux"
269
+ ],
270
+ "engines": {
271
+ "node": ">=18"
272
+ }
273
+ },
274
+ "node_modules/@esbuild/linux-x64": {
275
+ "version": "0.25.12",
276
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
277
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
278
+ "cpu": [
279
+ "x64"
280
+ ],
281
+ "dev": true,
282
+ "optional": true,
283
+ "os": [
284
+ "linux"
285
+ ],
286
+ "engines": {
287
+ "node": ">=18"
288
+ }
289
+ },
290
+ "node_modules/@esbuild/netbsd-arm64": {
291
+ "version": "0.25.12",
292
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
293
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
294
+ "cpu": [
295
+ "arm64"
296
+ ],
297
+ "dev": true,
298
+ "optional": true,
299
+ "os": [
300
+ "netbsd"
301
+ ],
302
+ "engines": {
303
+ "node": ">=18"
304
+ }
305
+ },
306
+ "node_modules/@esbuild/netbsd-x64": {
307
+ "version": "0.25.12",
308
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
309
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
310
+ "cpu": [
311
+ "x64"
312
+ ],
313
+ "dev": true,
314
+ "optional": true,
315
+ "os": [
316
+ "netbsd"
317
+ ],
318
+ "engines": {
319
+ "node": ">=18"
320
+ }
321
+ },
322
+ "node_modules/@esbuild/openbsd-arm64": {
323
+ "version": "0.25.12",
324
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
325
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
326
+ "cpu": [
327
+ "arm64"
328
+ ],
329
+ "dev": true,
330
+ "optional": true,
331
+ "os": [
332
+ "openbsd"
333
+ ],
334
+ "engines": {
335
+ "node": ">=18"
336
+ }
337
+ },
338
+ "node_modules/@esbuild/openbsd-x64": {
339
+ "version": "0.25.12",
340
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
341
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
342
+ "cpu": [
343
+ "x64"
344
+ ],
345
+ "dev": true,
346
+ "optional": true,
347
+ "os": [
348
+ "openbsd"
349
+ ],
350
+ "engines": {
351
+ "node": ">=18"
352
+ }
353
+ },
354
+ "node_modules/@esbuild/openharmony-arm64": {
355
+ "version": "0.25.12",
356
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
357
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
358
+ "cpu": [
359
+ "arm64"
360
+ ],
361
+ "dev": true,
362
+ "optional": true,
363
+ "os": [
364
+ "openharmony"
365
+ ],
366
+ "engines": {
367
+ "node": ">=18"
368
+ }
369
+ },
370
+ "node_modules/@esbuild/sunos-x64": {
371
+ "version": "0.25.12",
372
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
373
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
374
+ "cpu": [
375
+ "x64"
376
+ ],
377
+ "dev": true,
378
+ "optional": true,
379
+ "os": [
380
+ "sunos"
381
+ ],
382
+ "engines": {
383
+ "node": ">=18"
384
+ }
385
+ },
386
+ "node_modules/@esbuild/win32-arm64": {
387
+ "version": "0.25.12",
388
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
389
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
390
+ "cpu": [
391
+ "arm64"
392
+ ],
393
+ "dev": true,
394
+ "optional": true,
395
+ "os": [
396
+ "win32"
397
+ ],
398
+ "engines": {
399
+ "node": ">=18"
400
+ }
401
+ },
402
+ "node_modules/@esbuild/win32-ia32": {
403
+ "version": "0.25.12",
404
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
405
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
406
+ "cpu": [
407
+ "ia32"
408
+ ],
409
+ "dev": true,
410
+ "optional": true,
411
+ "os": [
412
+ "win32"
413
+ ],
414
+ "engines": {
415
+ "node": ">=18"
416
+ }
417
+ },
418
+ "node_modules/@esbuild/win32-x64": {
419
+ "version": "0.25.12",
420
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
421
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
422
+ "cpu": [
423
+ "x64"
424
+ ],
425
+ "dev": true,
426
+ "optional": true,
427
+ "os": [
428
+ "win32"
429
+ ],
430
+ "engines": {
431
+ "node": ">=18"
432
+ }
433
+ },
434
+ "node_modules/@jridgewell/gen-mapping": {
435
+ "version": "0.3.13",
436
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
437
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
438
+ "dev": true,
439
+ "dependencies": {
440
+ "@jridgewell/sourcemap-codec": "^1.5.0",
441
+ "@jridgewell/trace-mapping": "^0.3.24"
442
+ }
443
+ },
444
+ "node_modules/@jridgewell/remapping": {
445
+ "version": "2.3.5",
446
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
447
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
448
+ "dev": true,
449
+ "dependencies": {
450
+ "@jridgewell/gen-mapping": "^0.3.5",
451
+ "@jridgewell/trace-mapping": "^0.3.24"
452
+ }
453
+ },
454
+ "node_modules/@jridgewell/resolve-uri": {
455
+ "version": "3.1.2",
456
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
457
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
458
+ "dev": true,
459
+ "engines": {
460
+ "node": ">=6.0.0"
461
+ }
462
+ },
463
+ "node_modules/@jridgewell/sourcemap-codec": {
464
+ "version": "1.5.5",
465
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
466
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
467
+ "dev": true
468
+ },
469
+ "node_modules/@jridgewell/trace-mapping": {
470
+ "version": "0.3.31",
471
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
472
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
473
+ "dev": true,
474
+ "dependencies": {
475
+ "@jridgewell/resolve-uri": "^3.1.0",
476
+ "@jridgewell/sourcemap-codec": "^1.4.14"
477
+ }
478
+ },
479
+ "node_modules/@polka/url": {
480
+ "version": "1.0.0-next.29",
481
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
482
+ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
483
+ "dev": true
484
+ },
485
+ "node_modules/@rollup/rollup-android-arm-eabi": {
486
+ "version": "4.62.2",
487
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz",
488
+ "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==",
489
+ "cpu": [
490
+ "arm"
491
+ ],
492
+ "dev": true,
493
+ "optional": true,
494
+ "os": [
495
+ "android"
496
+ ]
497
+ },
498
+ "node_modules/@rollup/rollup-android-arm64": {
499
+ "version": "4.62.2",
500
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz",
501
+ "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==",
502
+ "cpu": [
503
+ "arm64"
504
+ ],
505
+ "dev": true,
506
+ "optional": true,
507
+ "os": [
508
+ "android"
509
+ ]
510
+ },
511
+ "node_modules/@rollup/rollup-darwin-arm64": {
512
+ "version": "4.62.2",
513
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz",
514
+ "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==",
515
+ "cpu": [
516
+ "arm64"
517
+ ],
518
+ "dev": true,
519
+ "optional": true,
520
+ "os": [
521
+ "darwin"
522
+ ]
523
+ },
524
+ "node_modules/@rollup/rollup-darwin-x64": {
525
+ "version": "4.62.2",
526
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz",
527
+ "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==",
528
+ "cpu": [
529
+ "x64"
530
+ ],
531
+ "dev": true,
532
+ "optional": true,
533
+ "os": [
534
+ "darwin"
535
+ ]
536
+ },
537
+ "node_modules/@rollup/rollup-freebsd-arm64": {
538
+ "version": "4.62.2",
539
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz",
540
+ "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==",
541
+ "cpu": [
542
+ "arm64"
543
+ ],
544
+ "dev": true,
545
+ "optional": true,
546
+ "os": [
547
+ "freebsd"
548
+ ]
549
+ },
550
+ "node_modules/@rollup/rollup-freebsd-x64": {
551
+ "version": "4.62.2",
552
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz",
553
+ "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==",
554
+ "cpu": [
555
+ "x64"
556
+ ],
557
+ "dev": true,
558
+ "optional": true,
559
+ "os": [
560
+ "freebsd"
561
+ ]
562
+ },
563
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
564
+ "version": "4.62.2",
565
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz",
566
+ "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==",
567
+ "cpu": [
568
+ "arm"
569
+ ],
570
+ "dev": true,
571
+ "optional": true,
572
+ "os": [
573
+ "linux"
574
+ ]
575
+ },
576
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
577
+ "version": "4.62.2",
578
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz",
579
+ "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==",
580
+ "cpu": [
581
+ "arm"
582
+ ],
583
+ "dev": true,
584
+ "optional": true,
585
+ "os": [
586
+ "linux"
587
+ ]
588
+ },
589
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
590
+ "version": "4.62.2",
591
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz",
592
+ "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==",
593
+ "cpu": [
594
+ "arm64"
595
+ ],
596
+ "dev": true,
597
+ "optional": true,
598
+ "os": [
599
+ "linux"
600
+ ]
601
+ },
602
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
603
+ "version": "4.62.2",
604
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz",
605
+ "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==",
606
+ "cpu": [
607
+ "arm64"
608
+ ],
609
+ "dev": true,
610
+ "optional": true,
611
+ "os": [
612
+ "linux"
613
+ ]
614
+ },
615
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
616
+ "version": "4.62.2",
617
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz",
618
+ "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==",
619
+ "cpu": [
620
+ "loong64"
621
+ ],
622
+ "dev": true,
623
+ "optional": true,
624
+ "os": [
625
+ "linux"
626
+ ]
627
+ },
628
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
629
+ "version": "4.62.2",
630
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz",
631
+ "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==",
632
+ "cpu": [
633
+ "loong64"
634
+ ],
635
+ "dev": true,
636
+ "optional": true,
637
+ "os": [
638
+ "linux"
639
+ ]
640
+ },
641
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
642
+ "version": "4.62.2",
643
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz",
644
+ "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==",
645
+ "cpu": [
646
+ "ppc64"
647
+ ],
648
+ "dev": true,
649
+ "optional": true,
650
+ "os": [
651
+ "linux"
652
+ ]
653
+ },
654
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
655
+ "version": "4.62.2",
656
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz",
657
+ "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==",
658
+ "cpu": [
659
+ "ppc64"
660
+ ],
661
+ "dev": true,
662
+ "optional": true,
663
+ "os": [
664
+ "linux"
665
+ ]
666
+ },
667
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
668
+ "version": "4.62.2",
669
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz",
670
+ "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==",
671
+ "cpu": [
672
+ "riscv64"
673
+ ],
674
+ "dev": true,
675
+ "optional": true,
676
+ "os": [
677
+ "linux"
678
+ ]
679
+ },
680
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
681
+ "version": "4.62.2",
682
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz",
683
+ "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==",
684
+ "cpu": [
685
+ "riscv64"
686
+ ],
687
+ "dev": true,
688
+ "optional": true,
689
+ "os": [
690
+ "linux"
691
+ ]
692
+ },
693
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
694
+ "version": "4.62.2",
695
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz",
696
+ "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==",
697
+ "cpu": [
698
+ "s390x"
699
+ ],
700
+ "dev": true,
701
+ "optional": true,
702
+ "os": [
703
+ "linux"
704
+ ]
705
+ },
706
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
707
+ "version": "4.62.2",
708
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz",
709
+ "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==",
710
+ "cpu": [
711
+ "x64"
712
+ ],
713
+ "dev": true,
714
+ "optional": true,
715
+ "os": [
716
+ "linux"
717
+ ]
718
+ },
719
+ "node_modules/@rollup/rollup-linux-x64-musl": {
720
+ "version": "4.62.2",
721
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz",
722
+ "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==",
723
+ "cpu": [
724
+ "x64"
725
+ ],
726
+ "dev": true,
727
+ "optional": true,
728
+ "os": [
729
+ "linux"
730
+ ]
731
+ },
732
+ "node_modules/@rollup/rollup-openbsd-x64": {
733
+ "version": "4.62.2",
734
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz",
735
+ "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==",
736
+ "cpu": [
737
+ "x64"
738
+ ],
739
+ "dev": true,
740
+ "optional": true,
741
+ "os": [
742
+ "openbsd"
743
+ ]
744
+ },
745
+ "node_modules/@rollup/rollup-openharmony-arm64": {
746
+ "version": "4.62.2",
747
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz",
748
+ "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==",
749
+ "cpu": [
750
+ "arm64"
751
+ ],
752
+ "dev": true,
753
+ "optional": true,
754
+ "os": [
755
+ "openharmony"
756
+ ]
757
+ },
758
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
759
+ "version": "4.62.2",
760
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz",
761
+ "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==",
762
+ "cpu": [
763
+ "arm64"
764
+ ],
765
+ "dev": true,
766
+ "optional": true,
767
+ "os": [
768
+ "win32"
769
+ ]
770
+ },
771
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
772
+ "version": "4.62.2",
773
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz",
774
+ "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==",
775
+ "cpu": [
776
+ "ia32"
777
+ ],
778
+ "dev": true,
779
+ "optional": true,
780
+ "os": [
781
+ "win32"
782
+ ]
783
+ },
784
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
785
+ "version": "4.62.2",
786
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz",
787
+ "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==",
788
+ "cpu": [
789
+ "x64"
790
+ ],
791
+ "dev": true,
792
+ "optional": true,
793
+ "os": [
794
+ "win32"
795
+ ]
796
+ },
797
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
798
+ "version": "4.62.2",
799
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz",
800
+ "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==",
801
+ "cpu": [
802
+ "x64"
803
+ ],
804
+ "dev": true,
805
+ "optional": true,
806
+ "os": [
807
+ "win32"
808
+ ]
809
+ },
810
+ "node_modules/@standard-schema/spec": {
811
+ "version": "1.1.0",
812
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
813
+ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
814
+ "dev": true
815
+ },
816
+ "node_modules/@sveltejs/acorn-typescript": {
817
+ "version": "1.0.11",
818
+ "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.11.tgz",
819
+ "integrity": "sha512-LFuZUkjJ9iF7JZye/aG5XM0SFcQ5VyL0oVX4WJ9dc0Va3R3s0OauX1BESVCb+YN/ol8TAfqGDDAQsTG627Y5kw==",
820
+ "dev": true,
821
+ "peerDependencies": {
822
+ "acorn": "^8.9.0"
823
+ }
824
+ },
825
+ "node_modules/@sveltejs/adapter-static": {
826
+ "version": "3.0.10",
827
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz",
828
+ "integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==",
829
+ "dev": true,
830
+ "peerDependencies": {
831
+ "@sveltejs/kit": "^2.0.0"
832
+ }
833
+ },
834
+ "node_modules/@sveltejs/kit": {
835
+ "version": "2.69.3",
836
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.69.3.tgz",
837
+ "integrity": "sha512-cphwqMRcE19/9VkrIPr5qZhQ0SptSSDfDzRUpYHu9OJDFGuYBFyJzK+KQA27wB4YG32O/yF2QjBkDmTyo0vtCw==",
838
+ "dev": true,
839
+ "dependencies": {
840
+ "@standard-schema/spec": "^1.0.0",
841
+ "@sveltejs/acorn-typescript": "^1.0.9",
842
+ "@types/cookie": "^0.6.0",
843
+ "acorn": "^8.16.0",
844
+ "cookie": "^0.6.0",
845
+ "devalue": "^5.8.1",
846
+ "esm-env": "^1.2.2",
847
+ "kleur": "^4.1.5",
848
+ "magic-string": "^0.30.5",
849
+ "mrmime": "^2.0.0",
850
+ "set-cookie-parser": "^3.0.0",
851
+ "sirv": "^3.0.0"
852
+ },
853
+ "bin": {
854
+ "svelte-kit": "svelte-kit.js"
855
+ },
856
+ "engines": {
857
+ "node": ">=18.13"
858
+ },
859
+ "peerDependencies": {
860
+ "@opentelemetry/api": "^1.0.0",
861
+ "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0",
862
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
863
+ "typescript": "^5.3.3 || ^6.0.0",
864
+ "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0"
865
+ },
866
+ "peerDependenciesMeta": {
867
+ "@opentelemetry/api": {
868
+ "optional": true
869
+ },
870
+ "typescript": {
871
+ "optional": true
872
+ }
873
+ }
874
+ },
875
+ "node_modules/@sveltejs/vite-plugin-svelte": {
876
+ "version": "5.1.1",
877
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.1.tgz",
878
+ "integrity": "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==",
879
+ "dev": true,
880
+ "dependencies": {
881
+ "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1",
882
+ "debug": "^4.4.1",
883
+ "deepmerge": "^4.3.1",
884
+ "kleur": "^4.1.5",
885
+ "magic-string": "^0.30.17",
886
+ "vitefu": "^1.0.6"
887
+ },
888
+ "engines": {
889
+ "node": "^18.0.0 || ^20.0.0 || >=22"
890
+ },
891
+ "peerDependencies": {
892
+ "svelte": "^5.0.0",
893
+ "vite": "^6.0.0"
894
+ }
895
+ },
896
+ "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
897
+ "version": "4.0.1",
898
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz",
899
+ "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==",
900
+ "dev": true,
901
+ "dependencies": {
902
+ "debug": "^4.3.7"
903
+ },
904
+ "engines": {
905
+ "node": "^18.0.0 || ^20.0.0 || >=22"
906
+ },
907
+ "peerDependencies": {
908
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
909
+ "svelte": "^5.0.0",
910
+ "vite": "^6.0.0"
911
+ }
912
+ },
913
+ "node_modules/@types/cookie": {
914
+ "version": "0.6.0",
915
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
916
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
917
+ "dev": true
918
+ },
919
+ "node_modules/@types/estree": {
920
+ "version": "1.0.9",
921
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
922
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
923
+ "dev": true
924
+ },
925
+ "node_modules/@types/trusted-types": {
926
+ "version": "2.0.7",
927
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
928
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
929
+ "dev": true
930
+ },
931
+ "node_modules/acorn": {
932
+ "version": "8.17.0",
933
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz",
934
+ "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==",
935
+ "dev": true,
936
+ "bin": {
937
+ "acorn": "bin/acorn"
938
+ },
939
+ "engines": {
940
+ "node": ">=0.4.0"
941
+ }
942
+ },
943
+ "node_modules/aria-query": {
944
+ "version": "5.3.1",
945
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz",
946
+ "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==",
947
+ "dev": true,
948
+ "engines": {
949
+ "node": ">= 0.4"
950
+ }
951
+ },
952
+ "node_modules/axobject-query": {
953
+ "version": "4.1.0",
954
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
955
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
956
+ "dev": true,
957
+ "engines": {
958
+ "node": ">= 0.4"
959
+ }
960
+ },
961
+ "node_modules/clsx": {
962
+ "version": "2.1.1",
963
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
964
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
965
+ "dev": true,
966
+ "engines": {
967
+ "node": ">=6"
968
+ }
969
+ },
970
+ "node_modules/cookie": {
971
+ "version": "0.6.0",
972
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
973
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
974
+ "dev": true,
975
+ "engines": {
976
+ "node": ">= 0.6"
977
+ }
978
+ },
979
+ "node_modules/debug": {
980
+ "version": "4.4.3",
981
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
982
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
983
+ "dev": true,
984
+ "dependencies": {
985
+ "ms": "^2.1.3"
986
+ },
987
+ "engines": {
988
+ "node": ">=6.0"
989
+ },
990
+ "peerDependenciesMeta": {
991
+ "supports-color": {
992
+ "optional": true
993
+ }
994
+ }
995
+ },
996
+ "node_modules/deepmerge": {
997
+ "version": "4.3.1",
998
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
999
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
1000
+ "dev": true,
1001
+ "engines": {
1002
+ "node": ">=0.10.0"
1003
+ }
1004
+ },
1005
+ "node_modules/devalue": {
1006
+ "version": "5.8.1",
1007
+ "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz",
1008
+ "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==",
1009
+ "dev": true
1010
+ },
1011
+ "node_modules/esbuild": {
1012
+ "version": "0.25.12",
1013
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
1014
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
1015
+ "dev": true,
1016
+ "hasInstallScript": true,
1017
+ "bin": {
1018
+ "esbuild": "bin/esbuild"
1019
+ },
1020
+ "engines": {
1021
+ "node": ">=18"
1022
+ },
1023
+ "optionalDependencies": {
1024
+ "@esbuild/aix-ppc64": "0.25.12",
1025
+ "@esbuild/android-arm": "0.25.12",
1026
+ "@esbuild/android-arm64": "0.25.12",
1027
+ "@esbuild/android-x64": "0.25.12",
1028
+ "@esbuild/darwin-arm64": "0.25.12",
1029
+ "@esbuild/darwin-x64": "0.25.12",
1030
+ "@esbuild/freebsd-arm64": "0.25.12",
1031
+ "@esbuild/freebsd-x64": "0.25.12",
1032
+ "@esbuild/linux-arm": "0.25.12",
1033
+ "@esbuild/linux-arm64": "0.25.12",
1034
+ "@esbuild/linux-ia32": "0.25.12",
1035
+ "@esbuild/linux-loong64": "0.25.12",
1036
+ "@esbuild/linux-mips64el": "0.25.12",
1037
+ "@esbuild/linux-ppc64": "0.25.12",
1038
+ "@esbuild/linux-riscv64": "0.25.12",
1039
+ "@esbuild/linux-s390x": "0.25.12",
1040
+ "@esbuild/linux-x64": "0.25.12",
1041
+ "@esbuild/netbsd-arm64": "0.25.12",
1042
+ "@esbuild/netbsd-x64": "0.25.12",
1043
+ "@esbuild/openbsd-arm64": "0.25.12",
1044
+ "@esbuild/openbsd-x64": "0.25.12",
1045
+ "@esbuild/openharmony-arm64": "0.25.12",
1046
+ "@esbuild/sunos-x64": "0.25.12",
1047
+ "@esbuild/win32-arm64": "0.25.12",
1048
+ "@esbuild/win32-ia32": "0.25.12",
1049
+ "@esbuild/win32-x64": "0.25.12"
1050
+ }
1051
+ },
1052
+ "node_modules/esm-env": {
1053
+ "version": "1.2.2",
1054
+ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
1055
+ "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
1056
+ "dev": true
1057
+ },
1058
+ "node_modules/esrap": {
1059
+ "version": "2.2.13",
1060
+ "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.13.tgz",
1061
+ "integrity": "sha512-m8jH5hZgJE2RRUK/jjkGPcJEDAV+dYnZYFkosQaPTcE+Yw4xynXHOo6FUdwaWBtdR3b1MMa7wEDTSHeR2VWsGA==",
1062
+ "dev": true,
1063
+ "dependencies": {
1064
+ "@jridgewell/sourcemap-codec": "^1.4.15"
1065
+ },
1066
+ "peerDependencies": {
1067
+ "@typescript-eslint/types": "^8.2.0"
1068
+ },
1069
+ "peerDependenciesMeta": {
1070
+ "@typescript-eslint/types": {
1071
+ "optional": true
1072
+ }
1073
+ }
1074
+ },
1075
+ "node_modules/fdir": {
1076
+ "version": "6.5.0",
1077
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
1078
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
1079
+ "dev": true,
1080
+ "engines": {
1081
+ "node": ">=12.0.0"
1082
+ },
1083
+ "peerDependencies": {
1084
+ "picomatch": "^3 || ^4"
1085
+ },
1086
+ "peerDependenciesMeta": {
1087
+ "picomatch": {
1088
+ "optional": true
1089
+ }
1090
+ }
1091
+ },
1092
+ "node_modules/fsevents": {
1093
+ "version": "2.3.3",
1094
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1095
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1096
+ "dev": true,
1097
+ "hasInstallScript": true,
1098
+ "optional": true,
1099
+ "os": [
1100
+ "darwin"
1101
+ ],
1102
+ "engines": {
1103
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1104
+ }
1105
+ },
1106
+ "node_modules/is-reference": {
1107
+ "version": "3.0.3",
1108
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
1109
+ "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
1110
+ "dev": true,
1111
+ "dependencies": {
1112
+ "@types/estree": "^1.0.6"
1113
+ }
1114
+ },
1115
+ "node_modules/kleur": {
1116
+ "version": "4.1.5",
1117
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
1118
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
1119
+ "dev": true,
1120
+ "engines": {
1121
+ "node": ">=6"
1122
+ }
1123
+ },
1124
+ "node_modules/locate-character": {
1125
+ "version": "3.0.0",
1126
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
1127
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
1128
+ "dev": true
1129
+ },
1130
+ "node_modules/magic-string": {
1131
+ "version": "0.30.21",
1132
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
1133
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
1134
+ "dev": true,
1135
+ "dependencies": {
1136
+ "@jridgewell/sourcemap-codec": "^1.5.5"
1137
+ }
1138
+ },
1139
+ "node_modules/mrmime": {
1140
+ "version": "2.0.1",
1141
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
1142
+ "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
1143
+ "dev": true,
1144
+ "engines": {
1145
+ "node": ">=10"
1146
+ }
1147
+ },
1148
+ "node_modules/ms": {
1149
+ "version": "2.1.3",
1150
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1151
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1152
+ "dev": true
1153
+ },
1154
+ "node_modules/nanoid": {
1155
+ "version": "3.3.16",
1156
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz",
1157
+ "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==",
1158
+ "dev": true,
1159
+ "funding": [
1160
+ {
1161
+ "type": "github",
1162
+ "url": "https://github.com/sponsors/ai"
1163
+ }
1164
+ ],
1165
+ "bin": {
1166
+ "nanoid": "bin/nanoid.cjs"
1167
+ },
1168
+ "engines": {
1169
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1170
+ }
1171
+ },
1172
+ "node_modules/picocolors": {
1173
+ "version": "1.1.1",
1174
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1175
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1176
+ "dev": true
1177
+ },
1178
+ "node_modules/picomatch": {
1179
+ "version": "4.0.5",
1180
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
1181
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
1182
+ "dev": true,
1183
+ "engines": {
1184
+ "node": ">=12"
1185
+ },
1186
+ "funding": {
1187
+ "url": "https://github.com/sponsors/jonschlinkert"
1188
+ }
1189
+ },
1190
+ "node_modules/postcss": {
1191
+ "version": "8.5.19",
1192
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.19.tgz",
1193
+ "integrity": "sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==",
1194
+ "dev": true,
1195
+ "funding": [
1196
+ {
1197
+ "type": "opencollective",
1198
+ "url": "https://opencollective.com/postcss/"
1199
+ },
1200
+ {
1201
+ "type": "tidelift",
1202
+ "url": "https://tidelift.com/funding/github/npm/postcss"
1203
+ },
1204
+ {
1205
+ "type": "github",
1206
+ "url": "https://github.com/sponsors/ai"
1207
+ }
1208
+ ],
1209
+ "dependencies": {
1210
+ "nanoid": "^3.3.12",
1211
+ "picocolors": "^1.1.1",
1212
+ "source-map-js": "^1.2.1"
1213
+ },
1214
+ "engines": {
1215
+ "node": "^10 || ^12 || >=14"
1216
+ }
1217
+ },
1218
+ "node_modules/rollup": {
1219
+ "version": "4.62.2",
1220
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz",
1221
+ "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==",
1222
+ "dev": true,
1223
+ "dependencies": {
1224
+ "@types/estree": "1.0.9"
1225
+ },
1226
+ "bin": {
1227
+ "rollup": "dist/bin/rollup"
1228
+ },
1229
+ "engines": {
1230
+ "node": ">=18.0.0",
1231
+ "npm": ">=8.0.0"
1232
+ },
1233
+ "optionalDependencies": {
1234
+ "@rollup/rollup-android-arm-eabi": "4.62.2",
1235
+ "@rollup/rollup-android-arm64": "4.62.2",
1236
+ "@rollup/rollup-darwin-arm64": "4.62.2",
1237
+ "@rollup/rollup-darwin-x64": "4.62.2",
1238
+ "@rollup/rollup-freebsd-arm64": "4.62.2",
1239
+ "@rollup/rollup-freebsd-x64": "4.62.2",
1240
+ "@rollup/rollup-linux-arm-gnueabihf": "4.62.2",
1241
+ "@rollup/rollup-linux-arm-musleabihf": "4.62.2",
1242
+ "@rollup/rollup-linux-arm64-gnu": "4.62.2",
1243
+ "@rollup/rollup-linux-arm64-musl": "4.62.2",
1244
+ "@rollup/rollup-linux-loong64-gnu": "4.62.2",
1245
+ "@rollup/rollup-linux-loong64-musl": "4.62.2",
1246
+ "@rollup/rollup-linux-ppc64-gnu": "4.62.2",
1247
+ "@rollup/rollup-linux-ppc64-musl": "4.62.2",
1248
+ "@rollup/rollup-linux-riscv64-gnu": "4.62.2",
1249
+ "@rollup/rollup-linux-riscv64-musl": "4.62.2",
1250
+ "@rollup/rollup-linux-s390x-gnu": "4.62.2",
1251
+ "@rollup/rollup-linux-x64-gnu": "4.62.2",
1252
+ "@rollup/rollup-linux-x64-musl": "4.62.2",
1253
+ "@rollup/rollup-openbsd-x64": "4.62.2",
1254
+ "@rollup/rollup-openharmony-arm64": "4.62.2",
1255
+ "@rollup/rollup-win32-arm64-msvc": "4.62.2",
1256
+ "@rollup/rollup-win32-ia32-msvc": "4.62.2",
1257
+ "@rollup/rollup-win32-x64-gnu": "4.62.2",
1258
+ "@rollup/rollup-win32-x64-msvc": "4.62.2",
1259
+ "fsevents": "~2.3.2"
1260
+ }
1261
+ },
1262
+ "node_modules/set-cookie-parser": {
1263
+ "version": "3.1.2",
1264
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.2.tgz",
1265
+ "integrity": "sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==",
1266
+ "dev": true
1267
+ },
1268
+ "node_modules/sirv": {
1269
+ "version": "3.0.2",
1270
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
1271
+ "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
1272
+ "dev": true,
1273
+ "dependencies": {
1274
+ "@polka/url": "^1.0.0-next.24",
1275
+ "mrmime": "^2.0.0",
1276
+ "totalist": "^3.0.0"
1277
+ },
1278
+ "engines": {
1279
+ "node": ">=18"
1280
+ }
1281
+ },
1282
+ "node_modules/source-map-js": {
1283
+ "version": "1.2.1",
1284
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1285
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1286
+ "dev": true,
1287
+ "engines": {
1288
+ "node": ">=0.10.0"
1289
+ }
1290
+ },
1291
+ "node_modules/svelte": {
1292
+ "version": "5.56.5",
1293
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.56.5.tgz",
1294
+ "integrity": "sha512-P03YJmUy2JoOxYHb4Ka3oFat1hq2ko2it1MOItSjsJ4B6WgZPLc3+RyyU+57OGWhs3Ieq74EJpZtSnNXdAGgDw==",
1295
+ "dev": true,
1296
+ "dependencies": {
1297
+ "@jridgewell/remapping": "^2.3.4",
1298
+ "@jridgewell/sourcemap-codec": "^1.5.0",
1299
+ "@sveltejs/acorn-typescript": "^1.0.10",
1300
+ "@types/estree": "^1.0.5",
1301
+ "@types/trusted-types": "^2.0.7",
1302
+ "acorn": "^8.12.1",
1303
+ "aria-query": "5.3.1",
1304
+ "axobject-query": "^4.1.0",
1305
+ "clsx": "^2.1.1",
1306
+ "devalue": "^5.8.1",
1307
+ "esm-env": "^1.2.1",
1308
+ "esrap": "^2.2.12",
1309
+ "is-reference": "^3.0.3",
1310
+ "locate-character": "^3.0.0",
1311
+ "magic-string": "^0.30.11",
1312
+ "zimmerframe": "^1.1.2"
1313
+ },
1314
+ "engines": {
1315
+ "node": ">=18"
1316
+ }
1317
+ },
1318
+ "node_modules/tinyglobby": {
1319
+ "version": "0.2.17",
1320
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
1321
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
1322
+ "dev": true,
1323
+ "dependencies": {
1324
+ "fdir": "^6.5.0",
1325
+ "picomatch": "^4.0.4"
1326
+ },
1327
+ "engines": {
1328
+ "node": ">=12.0.0"
1329
+ },
1330
+ "funding": {
1331
+ "url": "https://github.com/sponsors/SuperchupuDev"
1332
+ }
1333
+ },
1334
+ "node_modules/totalist": {
1335
+ "version": "3.0.1",
1336
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
1337
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
1338
+ "dev": true,
1339
+ "engines": {
1340
+ "node": ">=6"
1341
+ }
1342
+ },
1343
+ "node_modules/vite": {
1344
+ "version": "6.4.3",
1345
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
1346
+ "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==",
1347
+ "dev": true,
1348
+ "dependencies": {
1349
+ "esbuild": "^0.25.0",
1350
+ "fdir": "^6.4.4",
1351
+ "picomatch": "^4.0.2",
1352
+ "postcss": "^8.5.3",
1353
+ "rollup": "^4.34.9",
1354
+ "tinyglobby": "^0.2.13"
1355
+ },
1356
+ "bin": {
1357
+ "vite": "bin/vite.js"
1358
+ },
1359
+ "engines": {
1360
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
1361
+ },
1362
+ "funding": {
1363
+ "url": "https://github.com/vitejs/vite?sponsor=1"
1364
+ },
1365
+ "optionalDependencies": {
1366
+ "fsevents": "~2.3.3"
1367
+ },
1368
+ "peerDependencies": {
1369
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
1370
+ "jiti": ">=1.21.0",
1371
+ "less": "*",
1372
+ "lightningcss": "^1.21.0",
1373
+ "sass": "*",
1374
+ "sass-embedded": "*",
1375
+ "stylus": "*",
1376
+ "sugarss": "*",
1377
+ "terser": "^5.16.0",
1378
+ "tsx": "^4.8.1",
1379
+ "yaml": "^2.4.2"
1380
+ },
1381
+ "peerDependenciesMeta": {
1382
+ "@types/node": {
1383
+ "optional": true
1384
+ },
1385
+ "jiti": {
1386
+ "optional": true
1387
+ },
1388
+ "less": {
1389
+ "optional": true
1390
+ },
1391
+ "lightningcss": {
1392
+ "optional": true
1393
+ },
1394
+ "sass": {
1395
+ "optional": true
1396
+ },
1397
+ "sass-embedded": {
1398
+ "optional": true
1399
+ },
1400
+ "stylus": {
1401
+ "optional": true
1402
+ },
1403
+ "sugarss": {
1404
+ "optional": true
1405
+ },
1406
+ "terser": {
1407
+ "optional": true
1408
+ },
1409
+ "tsx": {
1410
+ "optional": true
1411
+ },
1412
+ "yaml": {
1413
+ "optional": true
1414
+ }
1415
+ }
1416
+ },
1417
+ "node_modules/vitefu": {
1418
+ "version": "1.1.3",
1419
+ "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz",
1420
+ "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==",
1421
+ "dev": true,
1422
+ "peerDependencies": {
1423
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
1424
+ },
1425
+ "peerDependenciesMeta": {
1426
+ "vite": {
1427
+ "optional": true
1428
+ }
1429
+ }
1430
+ },
1431
+ "node_modules/zimmerframe": {
1432
+ "version": "1.1.4",
1433
+ "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz",
1434
+ "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==",
1435
+ "dev": true
1436
+ }
1437
+ }
1438
+ }
package.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "compact-lm-index",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite dev",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "devDependencies": {
12
+ "@sveltejs/adapter-static": "^3.0.8",
13
+ "@sveltejs/kit": "^2.15.1",
14
+ "@sveltejs/vite-plugin-svelte": "^5.0.3",
15
+ "svelte": "^5.19.0",
16
+ "vite": "^6.1.0"
17
+ }
18
+ }
src/app.css ADDED
@@ -0,0 +1,1034 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --bg: #040619;
3
+ --block: #1a1820;
4
+ --primary: #6C8CFF;
5
+ --secondary: #52B788;
6
+ --instruction: color-mix(in srgb, var(--secondary) 70%, var(--primary));
7
+ --highlight: #ffe23e;
8
+ --separator: #302934;
9
+
10
+ --font-sans:
11
+ Manrope,
12
+ "Avenir Next",
13
+ "Segoe UI Variable Text",
14
+ "Segoe UI",
15
+ ui-sans-serif,
16
+ system-ui,
17
+ -apple-system,
18
+ BlinkMacSystemFont,
19
+ sans-serif;
20
+ font-family: var(--font-sans);
21
+ color: color-mix(in srgb, white 92%, var(--block));
22
+ background: var(--bg);
23
+ font-synthesis: none;
24
+ font-kerning: normal;
25
+ font-optical-sizing: auto;
26
+ text-rendering: optimizeLegibility;
27
+ -webkit-font-smoothing: antialiased;
28
+ -moz-osx-font-smoothing: grayscale;
29
+ }
30
+ * {
31
+ box-sizing: border-box;
32
+ }
33
+ html {
34
+ scroll-behavior: smooth;
35
+ }
36
+ body {
37
+ margin: 0;
38
+ min-width: 320px;
39
+ background-color: var(--bg);
40
+ background-image:
41
+ radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--highlight) 5%, transparent), transparent 34rem),
42
+ radial-gradient(circle at 0% 38%, color-mix(in srgb, var(--highlight) 5%, transparent), transparent 25rem),
43
+ radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--highlight) 4%, transparent), transparent 24rem),
44
+ radial-gradient(circle at 22% 82%, color-mix(in srgb, var(--highlight) 2.5%, transparent), transparent 28rem);
45
+ background-attachment: fixed;
46
+ font-size: 16px;
47
+ font-weight: 400;
48
+ line-height: 1.5;
49
+ scrollbar-color: color-mix(in srgb, var(--secondary) 42%, var(--block)) var(--bg);
50
+ scrollbar-width: thin;
51
+ }
52
+ * {
53
+ scrollbar-color: color-mix(in srgb, var(--secondary) 42%, var(--block)) var(--bg);
54
+ scrollbar-width: thin;
55
+ }
56
+ *::-webkit-scrollbar {
57
+ width: 9px;
58
+ height: 9px;
59
+ }
60
+ *::-webkit-scrollbar-track {
61
+ background: color-mix(in srgb, var(--bg) 92%, var(--block));
62
+ }
63
+ *::-webkit-scrollbar-thumb {
64
+ border: 2px solid color-mix(in srgb, var(--bg) 92%, var(--block));
65
+ border-radius: 999px;
66
+ background: color-mix(in srgb, var(--secondary) 42%, var(--block));
67
+ }
68
+ *::-webkit-scrollbar-thumb:hover {
69
+ background: color-mix(in srgb, var(--secondary) 68%, var(--primary));
70
+ }
71
+ *::-webkit-scrollbar-corner {
72
+ background: var(--bg);
73
+ }
74
+ button {
75
+ font: inherit;
76
+ }
77
+ strong {
78
+ font-weight: 500;
79
+ }
80
+ main {
81
+ max-width: 1440px;
82
+ margin: 0 auto;
83
+ padding: 0 40px;
84
+ }
85
+ .track {
86
+ color: color-mix(in srgb, white 66%, var(--block));
87
+ border: 0;
88
+ border-radius: 0;
89
+ padding: 0;
90
+ font-size: 12px;
91
+ font-weight: 400;
92
+ }
93
+ .hero {
94
+ position: relative;
95
+ display: block;
96
+ max-width: 900px;
97
+ min-height: 620px;
98
+ padding: 68px 0 62px;
99
+ }
100
+ .hero-copy { position: relative; z-index: 2; }
101
+ .hero-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
102
+ .hero-kicker .eyebrow { margin: 0; }
103
+ .edition {
104
+ margin-left: 3px; padding-left: 12px;
105
+ border-left: 1px solid color-mix(in srgb, white 22%, transparent);
106
+ color: color-mix(in srgb, white 44%, var(--block));
107
+ font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
108
+ }
109
+ .eyebrow {
110
+ margin: 0 0 13px;
111
+ color: color-mix(in srgb, white 74%, var(--block));
112
+ text-transform: uppercase;
113
+ font-size: 11px;
114
+ font-weight: 500;
115
+ letter-spacing: 0.12em;
116
+ }
117
+ h1,
118
+ h2,
119
+ p {
120
+ margin-top: 0;
121
+ }
122
+ h1,
123
+ h2 {
124
+ letter-spacing: -0.045em;
125
+ font-weight: 400;
126
+ }
127
+ h1 {
128
+ margin-bottom: 0;
129
+ font-size: clamp(56px, 6.4vw, 88px);
130
+ line-height: 0.91;
131
+ color: color-mix(in srgb, white 94%, var(--block));
132
+ }
133
+ h1 span { color: inherit; font-style: italic; font-weight: 300; }
134
+ h2 {
135
+ font-size: 29px;
136
+ line-height: 1.15;
137
+ }
138
+ .hero-description {
139
+ max-width: 590px;
140
+ margin: 34px 0 0;
141
+ color: color-mix(in srgb, white 65%, var(--block));
142
+ font-size: 17px;
143
+ line-height: 1.6;
144
+ }
145
+ .hero-link {
146
+ display: inline-block; margin-top: 26px;
147
+ color: var(--primary);
148
+ font-size: 12px; font-weight: 500; letter-spacing: 0.08em;
149
+ text-decoration: underline;
150
+ text-decoration-color: color-mix(in srgb, var(--primary) 65%, transparent);
151
+ text-decoration-thickness: 1px;
152
+ text-underline-offset: 5px;
153
+ text-transform: uppercase;
154
+ transition: color 160ms ease, text-decoration-color 160ms ease;
155
+ }
156
+ .hero-link:hover, .hero-link:focus-visible {
157
+ color: color-mix(in srgb, var(--primary) 78%, white);
158
+ text-decoration-color: currentColor;
159
+ }
160
+ .protocol-notice {
161
+ max-width: 650px;
162
+ margin: 18px 0 0;
163
+ padding-left: 13px;
164
+ border-left: 2px solid color-mix(in srgb, var(--highlight) 70%, var(--block));
165
+ color: color-mix(in srgb, white 62%, var(--block));
166
+ font-size: 13px;
167
+ line-height: 1.55;
168
+ }
169
+ .summary-grid {
170
+ display: grid;
171
+ grid-template-columns: repeat(3, 1fr);
172
+ gap: 0;
173
+ border: 1px solid color-mix(in srgb, var(--secondary) 45%, transparent);
174
+ background: color-mix(in srgb, var(--secondary) 45%, transparent);
175
+ }
176
+ .summary-grid article {
177
+ position: relative;
178
+ min-height: 132px;
179
+ display: flex;
180
+ align-items: flex-end;
181
+ justify-content: space-between;
182
+ padding: 24px 27px;
183
+ background: var(--bg);
184
+ }
185
+ .summary-grid article + article {
186
+ border-left: 1px solid color-mix(in srgb, var(--secondary) 45%, transparent);
187
+ }
188
+ .summary-grid article > div { display: grid; gap: 2px; }
189
+ .summary-index {
190
+ position: absolute; left: 27px; top: 20px;
191
+ color: color-mix(in srgb, white 35%, var(--block)) !important;
192
+ font-size: 10px !important; letter-spacing: 0.14em; text-transform: uppercase;
193
+ }
194
+ .summary-grid strong {
195
+ color: color-mix(in srgb, white 92%, var(--block));
196
+ font-size: 40px;
197
+ font-weight: 400;
198
+ letter-spacing: -0.05em;
199
+ }
200
+ .summary-grid span {
201
+ color: color-mix(in srgb, white 60%, var(--block));
202
+ font-size: 13px;
203
+ }
204
+ .leaderboard-section {
205
+ padding: 68px 0 46px;
206
+ }
207
+ .section-heading {
208
+ display: flex;
209
+ align-items: end;
210
+ justify-content: space-between;
211
+ gap: 22px;
212
+ }
213
+ .section-heading .eyebrow {
214
+ margin-bottom: 9px;
215
+ }
216
+ .filters,
217
+ .task-tabs,
218
+ .size-filters {
219
+ display: flex;
220
+ align-items: center;
221
+ gap: 6px;
222
+ flex-wrap: wrap;
223
+ }
224
+ .filter-stack {
225
+ display: grid;
226
+ justify-items: end;
227
+ gap: 8px;
228
+ }
229
+ .top-filter-row {
230
+ display: grid;
231
+ grid-template-columns: auto minmax(0, 1fr);
232
+ align-items: center;
233
+ gap: 8px;
234
+ }
235
+ .leaderboard-controls {
236
+ display: flex;
237
+ align-items: center;
238
+ gap: 12px;
239
+ }
240
+ .view-filter {
241
+ width: max-content;
242
+ flex: 0 0 auto;
243
+ }
244
+ .filters {
245
+ border: 1px solid var(--block);
246
+ padding: 3px;
247
+ border-radius: 9px;
248
+ background: var(--block);
249
+ }
250
+ .filters button,
251
+ .task-tabs button,
252
+ .size-filters button {
253
+ border: 1px solid transparent;
254
+ background: transparent;
255
+ color: color-mix(in srgb, white 65%, var(--block));
256
+ border-radius: 6px;
257
+ cursor: pointer;
258
+ padding: 9px 12px;
259
+ font-size: 13px;
260
+ font-weight: 400;
261
+ }
262
+ .filters button:hover,
263
+ .task-tabs button:hover,
264
+ .size-filters button:hover {
265
+ color: color-mix(in srgb, white 92%, var(--block));
266
+ }
267
+ .filters button.active {
268
+ color: color-mix(in srgb, white 88%, var(--block));
269
+ background: color-mix(in srgb, var(--block) 70%, var(--primary));
270
+ }
271
+ .size-filters {
272
+ border: 1px solid var(--block);
273
+ padding: 3px;
274
+ border-radius: 9px;
275
+ background: var(--block);
276
+ color: color-mix(in srgb, white 48%, var(--block));
277
+ font-size: 11px;
278
+ }
279
+ .size-filters span {
280
+ margin-right: 2px;
281
+ text-transform: uppercase;
282
+ letter-spacing: 0.1em;
283
+ }
284
+ .size-filters button {
285
+ padding: 6px 9px;
286
+ border-color: var(--block);
287
+ font-size: 11px;
288
+ }
289
+ .filters button,
290
+ .size-filters button,
291
+ .view-filter button {
292
+ height: 30px;
293
+ padding: 0 9px;
294
+ font-size: 11px;
295
+ line-height: 1;
296
+ }
297
+ .size-filters button.active {
298
+ color: color-mix(in srgb, white 88%, var(--block));
299
+ border-color: var(--block);
300
+ background: color-mix(in srgb, var(--block) 70%, var(--primary));
301
+ }
302
+ .table-wrap {
303
+ overflow: auto;
304
+ margin-top: 24px;
305
+ border: 1px solid var(--block);
306
+ border-radius: 10px;
307
+ background: var(--block);
308
+ scrollbar-color: color-mix(in srgb, var(--secondary) 46%, var(--block)) color-mix(in srgb, var(--bg) 82%, var(--block));
309
+ }
310
+ .table-wrap::-webkit-scrollbar-track {
311
+ background: color-mix(in srgb, var(--bg) 82%, var(--block));
312
+ }
313
+ .table-wrap::-webkit-scrollbar-thumb {
314
+ border-color: color-mix(in srgb, var(--bg) 82%, var(--block));
315
+ background: color-mix(in srgb, var(--secondary) 46%, var(--block));
316
+ }
317
+ .table-wrap::-webkit-scrollbar-thumb:hover {
318
+ background: var(--secondary);
319
+ }
320
+ table {
321
+ min-width: 1320px;
322
+ width: 100%;
323
+ border-collapse: collapse;
324
+ font-size: 14px;
325
+ line-height: 1.45;
326
+ }
327
+ th {
328
+ color: color-mix(in srgb, white 64%, var(--block));
329
+ background: color-mix(in srgb, var(--primary) 30%, var(--block));
330
+ padding: 16px;
331
+ border-bottom: 1px solid var(--block);
332
+ text-align: left;
333
+ text-transform: uppercase;
334
+ letter-spacing: 0.09em;
335
+ font-size: 11px;
336
+ font-weight: 500;
337
+ white-space: nowrap;
338
+ }
339
+ .sort-button {
340
+ display: block;
341
+ width: 100%;
342
+ margin: 0;
343
+ padding: 0;
344
+ border: 0;
345
+ color: color-mix(in srgb, white 82%, var(--block));
346
+ background: transparent;
347
+ font: inherit;
348
+ letter-spacing: inherit;
349
+ text-align: inherit;
350
+ text-transform: inherit;
351
+ white-space: inherit;
352
+ cursor: pointer;
353
+ }
354
+ .sort-button:hover,
355
+ th.sortable.sorted .sort-button {
356
+ color: color-mix(in srgb, white 94%, var(--block));
357
+ }
358
+ .sort-button:focus-visible {
359
+ outline: 1px solid color-mix(in srgb, white 52%, transparent);
360
+ outline-offset: 4px;
361
+ }
362
+ th:first-child,
363
+ td:first-child {
364
+ padding-left: 22px;
365
+ }
366
+ th span {
367
+ text-transform: none;
368
+ letter-spacing: 0;
369
+ font-weight: 400;
370
+ }
371
+ td {
372
+ border-bottom: 1px solid color-mix(in srgb, white 6%, var(--block));
373
+ padding: 18px 16px;
374
+ vertical-align: middle;
375
+ white-space: nowrap;
376
+ color: color-mix(in srgb, white 78%, var(--block));
377
+ }
378
+ tbody tr:last-child td {
379
+ border-bottom: 0;
380
+ }
381
+ tbody tr:hover {
382
+ background: color-mix(in srgb, var(--block) 92%, white);
383
+ }
384
+ .rank {
385
+ color: color-mix(in srgb, white 92%, var(--block));
386
+ font-variant-numeric: tabular-nums;
387
+ font-weight: 500;
388
+ }
389
+ .model-name {
390
+ color: color-mix(in srgb, white 92%, var(--block));
391
+ font-weight: 500;
392
+ }
393
+ .model-link {
394
+ color: inherit;
395
+ text-decoration: none;
396
+ }
397
+ .model-link:hover .model-name,
398
+ .model-link:focus-visible .model-name {
399
+ text-decoration: underline;
400
+ text-decoration-thickness: 1px;
401
+ text-underline-offset: 3px;
402
+ }
403
+ .model-link:focus-visible {
404
+ outline: 2px solid color-mix(in srgb, white 45%, transparent);
405
+ outline-offset: 3px;
406
+ border-radius: 2px;
407
+ }
408
+ .model-source,
409
+ .metric span {
410
+ display: block;
411
+ color: color-mix(in srgb, white 52%, var(--block));
412
+ font-size: 11px;
413
+ margin-top: 4px;
414
+ }
415
+ .metric {
416
+ font-variant-numeric: tabular-nums;
417
+ }
418
+ .score-main {
419
+ color: color-mix(in srgb, white 88%, var(--block));
420
+ font-weight: 500;
421
+ }
422
+ .simplified .model-source,
423
+ .simplified .metric span,
424
+ .simplified .score-head span,
425
+ .simplified .metadata,
426
+ .simplified .metadata-head,
427
+ .simplified .track-cell,
428
+ .simplified .track-head {
429
+ display: none;
430
+ }
431
+ .simplified .score-head,
432
+ .simplified .metric-head,
433
+ .simplified .metric {
434
+ text-align: center;
435
+ }
436
+ .track {
437
+ padding: 0;
438
+ }
439
+ .track.instruction {
440
+ color: color-mix(in srgb, white 78%, var(--block));
441
+ background: transparent;
442
+ }
443
+ .empty-row td {
444
+ color: color-mix(in srgb, white 55%, var(--block));
445
+ padding: 45px 18px;
446
+ text-align: center;
447
+ }
448
+ .panel {
449
+ border: 1px solid var(--block);
450
+ background: var(--block);
451
+ border-radius: 12px;
452
+ }
453
+ .landscape {
454
+ padding: 32px 34px 28px;
455
+ }
456
+ .legend {
457
+ display: flex;
458
+ align-items: center;
459
+ gap: 7px;
460
+ color: color-mix(in srgb, white 64%, var(--block));
461
+ font-size: 13px;
462
+ white-space: nowrap;
463
+ }
464
+ .legend-dot {
465
+ display: inline-block;
466
+ height: 8px;
467
+ width: 8px;
468
+ margin-left: 8px;
469
+ border-radius: 50%;
470
+ background: var(--primary);
471
+ }
472
+ .legend-dot:first-child {
473
+ margin-left: 0;
474
+ }
475
+ .legend-dot.instruction {
476
+ background: var(--instruction);
477
+ }
478
+ .frontier-key {
479
+ display: inline-block;
480
+ width: 22px;
481
+ margin-left: 10px;
482
+ border-top: 2px dashed color-mix(in srgb, white 78%, var(--block));
483
+ }
484
+ .frontier-label {
485
+ display: inline-flex;
486
+ align-items: center;
487
+ gap: 7px;
488
+ margin-left: 10px;
489
+ }
490
+ .scatter-area {
491
+ position: relative;
492
+ margin-top: 22px;
493
+ min-height: 412px;
494
+ padding-bottom: 22px;
495
+ }
496
+ .scatter-area svg {
497
+ display: block;
498
+ width: 100%;
499
+ height: auto;
500
+ min-height: 320px;
501
+ overflow: visible;
502
+ shape-rendering: geometricPrecision;
503
+ text-rendering: geometricPrecision;
504
+ }
505
+ .grid-line {
506
+ stroke: color-mix(in srgb, var(--primary) 35%, var(--bg));
507
+ stroke-width: 1;
508
+ }
509
+ .axis-line {
510
+ stroke: color-mix(in srgb, var(--primary) 42%, var(--bg));
511
+ stroke-width: 1;
512
+ }
513
+ .axis-text,
514
+ .axis-title {
515
+ fill: color-mix(in srgb, white 57%, var(--block));
516
+ font-size: 13px;
517
+ font-family: var(--font-sans);
518
+ font-weight: 400;
519
+ letter-spacing: 0.005em;
520
+ }
521
+ .axis-title {
522
+ font-size: 13.5px;
523
+ fill: color-mix(in srgb, white 72%, var(--block));
524
+ letter-spacing: 0.01em;
525
+ }
526
+ .frontier-line {
527
+ fill: none;
528
+ stroke: color-mix(in srgb, white 78%, var(--block));
529
+ stroke-width: 2;
530
+ stroke-dasharray: 7 6;
531
+ opacity: 0.9;
532
+ }
533
+ .point {
534
+ fill: var(--primary);
535
+ stroke: var(--block);
536
+ stroke-width: 3;
537
+ cursor: pointer;
538
+ transition:
539
+ r 0.15s ease,
540
+ filter 0.15s ease;
541
+ }
542
+ .point:hover,
543
+ .point:focus-visible {
544
+ r: 8;
545
+ filter: brightness(1.25);
546
+ }
547
+ .point:focus {
548
+ outline: none;
549
+ }
550
+ .point.instruction-point {
551
+ fill: var(--instruction);
552
+ }
553
+ .chart-tooltip {
554
+ pointer-events: none;
555
+ position: absolute;
556
+ transform: translate(-50%, -100%);
557
+ min-width: 160px;
558
+ max-width: calc(100% - 20px);
559
+ z-index: 2;
560
+ padding: 12px 14px;
561
+ border: 1px solid var(--block);
562
+ border-radius: 8px;
563
+ background: var(--block);
564
+ color: color-mix(in srgb, white 92%, var(--block));
565
+ box-shadow: 0 12px 28px rgb(0 0 0 / 45%);
566
+ font-size: 13px;
567
+ }
568
+ .chart-tooltip strong,
569
+ .chart-tooltip span,
570
+ .chart-tooltip b {
571
+ display: block;
572
+ }
573
+ .chart-tooltip strong {
574
+ font-weight: 500;
575
+ }
576
+ .chart-tooltip span {
577
+ margin: 4px 0 8px;
578
+ color: color-mix(in srgb, white 68%, var(--block));
579
+ }
580
+ .chart-tooltip b {
581
+ color: color-mix(in srgb, white 88%, var(--block));
582
+ font-size: 15px;
583
+ font-weight: 500;
584
+ }
585
+ .chart-tooltip em {
586
+ font-style: normal;
587
+ font-size: 11px;
588
+ color: color-mix(in srgb, white 56%, var(--block));
589
+ font-weight: 400;
590
+ }
591
+ .chart-controls {
592
+ display: flex;
593
+ align-items: end;
594
+ justify-content: space-between;
595
+ gap: 24px;
596
+ margin: 46px 0 22px;
597
+ }
598
+ .chart-controls .eyebrow {
599
+ margin-bottom: 7px;
600
+ }
601
+ .chart-controls .section-note {
602
+ margin: 0;
603
+ max-width: 460px;
604
+ }
605
+ .chart-controls .task-tabs {
606
+ margin: 0;
607
+ justify-content: flex-end;
608
+ }
609
+ .score-panel {
610
+ margin-top: 22px;
611
+ padding: 32px 34px 34px;
612
+ }
613
+ .compact-heading {
614
+ display: block;
615
+ }
616
+ .section-note {
617
+ max-width: 720px;
618
+ margin: 12px 0 0;
619
+ color: color-mix(in srgb, white 65%, var(--block));
620
+ font-size: 14px;
621
+ line-height: 1.6;
622
+ }
623
+ .task-tabs {
624
+ margin: 28px 0 22px;
625
+ }
626
+ .task-tabs button {
627
+ border-color: transparent;
628
+ background: color-mix(in srgb, var(--bg) 62%, var(--block));
629
+ border-radius: 6px;
630
+ font-size: 12px;
631
+ }
632
+ .task-tabs button.active {
633
+ border-color: transparent;
634
+ background: color-mix(in srgb, var(--block) 70%, var(--primary));
635
+ color: color-mix(in srgb, white 88%, var(--block));
636
+ }
637
+ .bar-list {
638
+ padding: 12px 0;
639
+ }
640
+ .bar-toggle {
641
+ display: grid;
642
+ place-items: center;
643
+ width: 46px;
644
+ height: 32px;
645
+ margin: 12px auto 0;
646
+ padding: 0;
647
+ border: 0;
648
+ border-radius: 999px;
649
+ background: transparent;
650
+ color: color-mix(in srgb, white 72%, var(--block));
651
+ cursor: pointer;
652
+ transition: background 160ms ease, color 160ms ease;
653
+ }
654
+ .bar-toggle:hover,
655
+ .bar-toggle:focus-visible {
656
+ background: color-mix(in srgb, var(--primary) 28%, transparent);
657
+ color: color-mix(in srgb, white 92%, var(--block));
658
+ outline: none;
659
+ }
660
+ .bar-toggle-chevron {
661
+ width: 10px;
662
+ height: 10px;
663
+ border-right: 1.5px solid currentColor;
664
+ border-bottom: 1.5px solid currentColor;
665
+ transform: translateY(-3px) rotate(45deg);
666
+ transition: transform 180ms ease;
667
+ }
668
+ .bar-toggle.expanded .bar-toggle-chevron {
669
+ transform: translateY(3px) rotate(225deg);
670
+ }
671
+ .bar-row {
672
+ display: grid;
673
+ grid-template-columns: 30px minmax(165px, 220px) 1fr 58px;
674
+ gap: 16px;
675
+ align-items: center;
676
+ min-height: 46px;
677
+ }
678
+ .bar-rank {
679
+ color: color-mix(in srgb, white 48%, var(--block));
680
+ font-size: 12px;
681
+ text-align: right;
682
+ }
683
+ .bar-name {
684
+ color: color-mix(in srgb, white 74%, var(--block));
685
+ overflow: hidden;
686
+ text-overflow: ellipsis;
687
+ white-space: nowrap;
688
+ font-size: 13px;
689
+ }
690
+ .bar-track {
691
+ position: relative;
692
+ height: 18px;
693
+ overflow: hidden;
694
+ border-radius: 4px;
695
+ background: color-mix(in srgb, var(--block) 88%, var(--primary));
696
+ }
697
+ .zero-line {
698
+ position: absolute;
699
+ z-index: 1;
700
+ top: 0;
701
+ bottom: 0;
702
+ left: var(--zero);
703
+ border-left: 1px solid color-mix(in srgb, var(--secondary) 45%, var(--bg));
704
+ }
705
+ .bar-fill {
706
+ position: absolute;
707
+ z-index: 2;
708
+ top: 2px;
709
+ bottom: 2px;
710
+ left: var(--start);
711
+ width: var(--width);
712
+ border-radius: 3px;
713
+ background: var(--primary);
714
+ }
715
+ .bar-fill.instruction-fill {
716
+ background: var(--instruction);
717
+ }
718
+ .bar-fill.negative {
719
+ background: color-mix(in srgb, var(--primary) 48%, var(--block));
720
+ }
721
+ .ci-band {
722
+ position: absolute;
723
+ z-index: 3;
724
+ top: 2px;
725
+ bottom: 2px;
726
+ left: var(--start);
727
+ width: var(--width);
728
+ border-radius: 3px;
729
+ background: color-mix(in srgb, white 30%, transparent);
730
+ }
731
+ .ci-band.instruction-band {
732
+ background: color-mix(in srgb, white 26%, transparent);
733
+ }
734
+ .ci-band.negative-band {
735
+ background: color-mix(in srgb, white 22%, transparent);
736
+ }
737
+ .bar-row strong {
738
+ color: color-mix(in srgb, white 83%, var(--block));
739
+ font-size: 13px;
740
+ font-weight: 500;
741
+ text-align: right;
742
+ font-variant-numeric: tabular-nums;
743
+ }
744
+ .empty-chart {
745
+ min-height: 320px;
746
+ display: grid;
747
+ place-items: center;
748
+ color: color-mix(in srgb, white 58%, var(--block));
749
+ border: 1px dashed var(--block);
750
+ background: var(--block);
751
+ margin-top: 20px;
752
+ border-radius: 8px;
753
+ font-size: 14px;
754
+ }
755
+ .empty-chart.short {
756
+ min-height: 180px;
757
+ }
758
+ .bottom-grid {
759
+ display: grid;
760
+ grid-template-columns: 1.15fr 0.85fr;
761
+ gap: 20px;
762
+ padding: 22px 0 46px;
763
+ }
764
+ .method-card,
765
+ .protocol-card {
766
+ padding: 32px 34px;
767
+ }
768
+ .method-card p:not(.eyebrow),
769
+ .protocol-card p:not(.eyebrow),
770
+ .protocol-card li {
771
+ color: color-mix(in srgb, white 70%, var(--block));
772
+ font-size: 14px;
773
+ line-height: 1.6;
774
+ }
775
+ .formula {
776
+ color: color-mix(in srgb, white 92%, var(--block)) !important;
777
+ font-size: 24px !important;
778
+ letter-spacing: -0.04em;
779
+ margin: 24px 0 18px;
780
+ }
781
+ .formula span {
782
+ color: color-mix(in srgb, white 78%, var(--block));
783
+ }
784
+ .protocol-card ul {
785
+ padding-left: 17px;
786
+ margin: 20px 0;
787
+ }
788
+ .protocol-card a {
789
+ color: color-mix(in srgb, white 84%, var(--block));
790
+ font-size: 14px;
791
+ font-weight: 500;
792
+ text-decoration-color: color-mix(in srgb, var(--primary) 55%, transparent);
793
+ text-underline-offset: 3px;
794
+ }
795
+ .protocol-card a:hover {
796
+ color: white;
797
+ }
798
+ .additional-card {
799
+ display: grid;
800
+ grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1fr);
801
+ gap: 24px;
802
+ align-items: start;
803
+ margin-bottom: 22px;
804
+ padding: 30px 34px;
805
+ }
806
+ .additional-card .eyebrow {
807
+ margin-bottom: 9px;
808
+ }
809
+ .additional-card h2 {
810
+ margin: 0;
811
+ }
812
+ .credits-content {
813
+ max-width: 680px;
814
+ }
815
+ .credits-content p {
816
+ margin: 0;
817
+ color: color-mix(in srgb, white 70%, var(--block));
818
+ font-size: 14px;
819
+ line-height: 1.6;
820
+ }
821
+ .credits-content .credits-attribution {
822
+ margin-top: 14px;
823
+ color: color-mix(in srgb, white 58%, var(--block));
824
+ }
825
+ .credits-content a {
826
+ color: color-mix(in srgb, white 84%, var(--block));
827
+ text-decoration-color: color-mix(in srgb, var(--primary) 55%, transparent);
828
+ text-underline-offset: 3px;
829
+ }
830
+ .credits-content a:hover {
831
+ color: white;
832
+ }
833
+ footer {
834
+ color: color-mix(in srgb, white 50%, var(--block));
835
+ border-top: 1px solid var(--separator);
836
+ padding: 26px 0 38px;
837
+ font-size: 12px;
838
+ line-height: 1.6;
839
+ }
840
+ footer p {
841
+ margin: 0;
842
+ }
843
+ footer p + p {
844
+ margin-top: 4px;
845
+ }
846
+ footer a {
847
+ color: var(--secondary);
848
+ text-decoration: none;
849
+ }
850
+ footer a:hover,
851
+ footer a:focus-visible {
852
+ color: color-mix(in srgb, white 92%, var(--block));
853
+ text-decoration: underline;
854
+ }
855
+ @media (max-width: 760px) {
856
+ html,
857
+ body {
858
+ width: 100%;
859
+ }
860
+ main {
861
+ width: 100%;
862
+ max-width: none;
863
+ padding: 0 20px;
864
+ }
865
+ .hero {
866
+ grid-template-columns: 1fr;
867
+ gap: 35px;
868
+ min-height: 0;
869
+ padding: 52px 0 38px;
870
+ }
871
+ h1 { font-size: clamp(51px, 16vw, 72px); }
872
+ .hero-description { margin-top: 26px; font-size: 15px; }
873
+ .hero-kicker { flex-wrap: wrap; }
874
+ .summary-grid {
875
+ width: min(100%, 390px);
876
+ margin-inline: auto;
877
+ grid-template-columns: 1fr;
878
+ }
879
+ .summary-grid article {
880
+ display: grid;
881
+ align-content: center;
882
+ justify-items: center;
883
+ text-align: center;
884
+ padding-inline: 27px;
885
+ }
886
+ .summary-grid article + article {
887
+ padding-left: 27px;
888
+ }
889
+ .summary-index {
890
+ left: 0;
891
+ right: 0;
892
+ width: 100%;
893
+ transform: none;
894
+ text-align: center !important;
895
+ }
896
+ .summary-grid article > div {
897
+ position: absolute;
898
+ left: 0;
899
+ right: 0;
900
+ top: 58%;
901
+ width: auto;
902
+ max-width: none;
903
+ margin: 0;
904
+ display: grid !important;
905
+ justify-items: center;
906
+ gap: 2px;
907
+ transform: translateY(-50%);
908
+ text-align: center !important;
909
+ }
910
+ .summary-grid article > div > strong,
911
+ .summary-grid article > div > span {
912
+ display: block;
913
+ align-self: center;
914
+ text-align: center !important;
915
+ }
916
+ .summary-grid strong {
917
+ font-size: 30px;
918
+ }
919
+ .section-heading {
920
+ align-items: flex-start;
921
+ flex-direction: column;
922
+ }
923
+ .chart-controls {
924
+ align-items: flex-start;
925
+ flex-direction: column;
926
+ gap: 12px;
927
+ margin: 34px 0 18px;
928
+ }
929
+ .chart-controls .task-tabs {
930
+ justify-content: flex-start;
931
+ width: 100%;
932
+ overflow: visible;
933
+ flex-wrap: wrap;
934
+ gap: 4px;
935
+ }
936
+ .chart-controls .task-tabs button {
937
+ padding: 8px 9px;
938
+ font-size: 11px;
939
+ }
940
+ .filters,
941
+ .filter-stack {
942
+ width: 100%;
943
+ }
944
+ .leaderboard-controls {
945
+ width: 100%;
946
+ flex-direction: column;
947
+ align-items: stretch;
948
+ gap: 8px;
949
+ }
950
+ .top-filter-row {
951
+ width: 100%;
952
+ }
953
+ .top-filter-row .view-filter {
954
+ width: max-content;
955
+ }
956
+ .top-filter-row .filters {
957
+ width: auto;
958
+ flex: 1;
959
+ min-width: 0;
960
+ }
961
+ .filter-stack {
962
+ justify-items: stretch;
963
+ }
964
+ .size-filters {
965
+ justify-self: start;
966
+ width: max-content;
967
+ max-width: 100%;
968
+ flex-wrap: nowrap;
969
+ overflow-x: auto;
970
+ }
971
+ .filters button {
972
+ flex: 1;
973
+ }
974
+ .leaderboard-section {
975
+ padding: 52px 0 35px;
976
+ }
977
+ .landscape,
978
+ .score-panel {
979
+ padding: 22px 16px;
980
+ }
981
+ .legend {
982
+ flex-wrap: wrap;
983
+ white-space: normal;
984
+ }
985
+ .frontier-label {
986
+ margin-left: 0;
987
+ }
988
+ .scatter-area {
989
+ min-height: 0;
990
+ margin-top: 14px;
991
+ padding-bottom: 6px;
992
+ }
993
+ .scatter-area svg {
994
+ height: auto;
995
+ min-height: 0;
996
+ }
997
+ .chart-tooltip {
998
+ left: 50% !important;
999
+ min-width: 0;
1000
+ width: max-content;
1001
+ max-width: calc(100% - 20px);
1002
+ padding: 10px 12px;
1003
+ font-size: 12px;
1004
+ }
1005
+ .bar-row {
1006
+ grid-template-columns: 22px minmax(90px, 120px) 1fr 58px;
1007
+ gap: 9px;
1008
+ }
1009
+ .bar-name,
1010
+ .bar-row strong {
1011
+ font-size: 11px;
1012
+ }
1013
+ .bottom-grid {
1014
+ grid-template-columns: 1fr;
1015
+ }
1016
+ .method-card,
1017
+ .protocol-card {
1018
+ padding: 28px 24px;
1019
+ }
1020
+ .additional-card {
1021
+ grid-template-columns: 1fr;
1022
+ gap: 14px;
1023
+ padding: 26px 24px;
1024
+ }
1025
+ }
1026
+ @media (min-width: 761px) and (max-width: 1040px) {
1027
+ .hero { min-height: 620px; }
1028
+ .visual-tag { display: none; }
1029
+ }
1030
+ @media (prefers-reduced-motion: reduce) {
1031
+ html {
1032
+ scroll-behavior: auto;
1033
+ }
1034
+ }
src/app.html ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="theme-color" content="#090a0d" />
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500&display=swap" rel="stylesheet" />
10
+ %sveltekit.head%
11
+ </head>
12
+ <body data-sveltekit-preload-data="hover">
13
+ <div style="display: contents">%sveltekit.body%</div>
14
+ </body>
15
+ </html>
src/lib/example-leaderboard.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "suite": "slm-benchmark-v1.1",
3
+ "generated_at": "Illustrative data — not an evaluation",
4
+ "models": [
5
+ {
6
+ "id": "demo-110m", "name": "Illustrative Base 110M", "params_m": 110,
7
+ "track": "base", "complete": true, "rank_range": [1, 2],
8
+ "composite": {"score": 16.8, "ci": [15.1, 18.6], "classification": "reliably above chance"},
9
+ "benchmarks": {
10
+ "hellaswag": {"score": 12.4, "ci": [10.7, 14.2]},
11
+ "piqa": {"score": 20.6, "ci": [17.1, 24.0]},
12
+ "arc_easy": {"score": 15.0, "ci": [11.5, 18.5]},
13
+ "arc_challenge": {"score": 7.1, "ci": [3.4, 10.7]},
14
+ "commonsense_qa": {"score": 8.9, "ci": [5.2, 12.6]},
15
+ "blimp": {"score": 27.2, "ci": [24.8, 29.6]}
16
+ }
17
+ },
18
+ {
19
+ "id": "demo-160m", "name": "Illustrative Base 160M", "params_m": 160,
20
+ "track": "base", "complete": true, "rank_range": [1, 2],
21
+ "composite": {"score": 17.7, "ci": [16.0, 19.5], "classification": "reliably above chance"},
22
+ "benchmarks": {
23
+ "hellaswag": {"score": 13.9, "ci": [12.1, 15.6]},
24
+ "piqa": {"score": 22.1, "ci": [18.7, 25.4]},
25
+ "arc_easy": {"score": 16.3, "ci": [12.9, 19.7]},
26
+ "arc_challenge": {"score": 9.8, "ci": [6.1, 13.5]},
27
+ "commonsense_qa": {"score": 10.6, "ci": [7.1, 14.0]},
28
+ "blimp": {"score": 25.8, "ci": [23.5, 28.1]}
29
+ }
30
+ },
31
+ {
32
+ "id": "demo-60m", "name": "Illustrative Base 60M", "params_m": 60,
33
+ "track": "base", "complete": true, "rank_range": [3, 3],
34
+ "composite": {"score": 5.6, "ci": [3.9, 7.4], "classification": "reliably above chance"},
35
+ "benchmarks": {
36
+ "hellaswag": {"score": 2.1, "ci": [0.5, 3.8]},
37
+ "piqa": {"score": 7.3, "ci": [4.0, 10.5]},
38
+ "arc_easy": {"score": 3.8, "ci": [0.8, 6.7]},
39
+ "arc_challenge": {"score": 1.4, "ci": [-2.4, 5.2]},
40
+ "commonsense_qa": {"score": 1.2, "ci": [-2.1, 4.4]},
41
+ "blimp": {"score": 13.6, "ci": [11.2, 16.0]}
42
+ }
43
+ }
44
+ ]
45
+ }
src/lib/leaderboard.json ADDED
The diff for this file is too large to render. See raw diff
 
src/routes/+layout.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export const prerender = true;
src/routes/+layout.svelte ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ <script>
2
+ import '../app.css';
3
+ </script>
4
+
5
+ <slot />
src/routes/+page.svelte ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script>
2
+ import { onMount } from 'svelte';
3
+ import { fade, slide } from 'svelte/transition';
4
+ import evaluatedLeaderboard from '$lib/leaderboard.json';
5
+ import exampleLeaderboard from '$lib/example-leaderboard.json';
6
+
7
+ const core = [
8
+ { id: 'average', label: 'Average' },
9
+ { id: 'hellaswag', label: 'HellaSwag' },
10
+ { id: 'piqa', label: 'PIQA' },
11
+ { id: 'arc_easy', label: 'ARC-Easy' },
12
+ { id: 'arc_challenge', label: 'ARC-Challenge' },
13
+ { id: 'commonsense_qa', label: 'CommonsenseQA' },
14
+ { id: 'blimp', label: 'BLiMP' }
15
+ ];
16
+
17
+ let leaderboard = evaluatedLeaderboard;
18
+ let activeTrack = 'all';
19
+ let activeSize = 'all';
20
+ let activeMetric = 'average';
21
+ let loading = false;
22
+ let hover = null;
23
+ let filtered = [];
24
+ let completed = [];
25
+ let measuredCount = 0;
26
+ let allBars = [];
27
+ let bars = [];
28
+ let showAllBars = false;
29
+ let showAllTableRows = false;
30
+ let isMobile = false;
31
+ let sortKey = 'average';
32
+ let sortDirection = 'desc';
33
+ let sortedCompleted = [];
34
+ let visibleTableRows = [];
35
+ let simplifiedView = false;
36
+
37
+ const defaultBarCount = 10;
38
+
39
+ const number = (value) => Number(value).toFixed(1);
40
+ const parameterLabel = (params) => {
41
+ if (!Number.isFinite(Number(params))) return '—';
42
+ if (params >= 1000) return `${(params / 1000).toFixed(params >= 10_000 ? 1 : 2)}B`;
43
+ return `${Number(params).toFixed(params < 10 ? 2 : params < 100 ? 1 : 0)}M`;
44
+ };
45
+ const releaseDateLabel = (value) => /^\d{4}-\d{2}-\d{2}$/.test(String(value || "")) ? value : '—';
46
+ const vocabSizeLabel = (value) => {
47
+ const size = Number(value);
48
+ return Number.isFinite(size) && size > 0 ? size.toLocaleString('en-US') : '—';
49
+ };
50
+ const sizeBucket = (params) => {
51
+ const value = Number(params);
52
+ if (!Number.isFinite(value) || value < 10) return value;
53
+ return Math.round(value / 10) * 10;
54
+ };
55
+ const range = (value) => value?.length === 2 ? `${number(value[0])}–${number(value[1])}` : '—';
56
+ const displayRank = (model) => {
57
+ const [low, high] = model.rank_range || [];
58
+ if (!low) return '—';
59
+ return low === high ? `${low}` : `${low}–${high}`;
60
+ };
61
+ const metricFor = (model, metric = activeMetric) => metric === 'average'
62
+ ? model.composite
63
+ : model.benchmarks?.[metric];
64
+ const scoreFor = (model, metric = activeMetric) => Number(metricFor(model, metric)?.score);
65
+ const metricLabel = (metric) => core.find((item) => item.id === metric)?.label || 'Average';
66
+ const modelHref = (model) => {
67
+ const source = String(model.source || '').trim();
68
+ if (!source) return null;
69
+ return /^https?:\/\//i.test(source) ? source : `https://huggingface.co/${source}`;
70
+ };
71
+
72
+ const sortValue = (model, key) => {
73
+ if (key === 'model') return String(model.name || '').toLocaleLowerCase();
74
+ if (key === 'parameters') return Number(model.params_m);
75
+ return scoreFor(model, key);
76
+ };
77
+
78
+ function setSort(key) {
79
+ if (sortKey === key) {
80
+ sortDirection = sortDirection === 'asc' ? 'desc' : 'asc';
81
+ return;
82
+ }
83
+ sortKey = key;
84
+ sortDirection = key === 'model' ? 'asc' : 'desc';
85
+ }
86
+
87
+ function sortedModels(models, key, directionValue) {
88
+ const direction = directionValue === 'asc' ? 1 : -1;
89
+ return [...models].sort((first, second) => {
90
+ const left = sortValue(first, key);
91
+ const right = sortValue(second, key);
92
+ const leftMissing = left === '' || (typeof left === 'number' && !Number.isFinite(left));
93
+ const rightMissing = right === '' || (typeof right === 'number' && !Number.isFinite(right));
94
+ if (leftMissing || rightMissing) return leftMissing === rightMissing ? 0 : leftMissing ? 1 : -1;
95
+ if (typeof left === 'number' && typeof right === 'number') return (left - right) * direction;
96
+ return String(left).localeCompare(String(right)) * direction;
97
+ });
98
+ }
99
+
100
+ $: filtered = (leaderboard.models || []).filter((model) =>
101
+ (activeTrack === 'all' || model.track === activeTrack) &&
102
+ (activeSize === 'all' || sizeBucket(model.params_m) <= Number(activeSize))
103
+ );
104
+ $: completed = filtered.filter((model) => model.complete && Number.isFinite(Number(model.params_m)));
105
+ $: sortedCompleted = sortedModels(completed, sortKey, sortDirection);
106
+ $: visibleTableRows = showAllTableRows ? sortedCompleted : sortedCompleted.slice(0, defaultBarCount);
107
+ $: measuredCount = (leaderboard.models || []).filter((model) => model.complete).length;
108
+ $: allBars = [...completed]
109
+ .filter((model) => Number.isFinite(scoreFor(model, activeMetric)))
110
+ .sort((a, b) => scoreFor(b, activeMetric) - scoreFor(a, activeMetric));
111
+ $: bars = showAllBars ? allBars : allBars.slice(0, defaultBarCount);
112
+
113
+ function paretoFrontier(models, metric) {
114
+ const ordered = [...models].sort((a, b) => Number(a.params_m) - Number(b.params_m));
115
+ let best = -Infinity;
116
+ return ordered.filter((model) => {
117
+ const score = scoreFor(model, metric);
118
+ if (!Number.isFinite(score) || score <= best) return false;
119
+ best = score;
120
+ return true;
121
+ });
122
+ }
123
+
124
+ function frontierGuide(models, chart, metric) {
125
+ const frontier = paretoFrontier(models, metric);
126
+ if (frontier.length < 2) return null;
127
+ const points = frontier.map((model) => ({
128
+ x: chart.parameterCoordinate(model.params_m),
129
+ y: scoreFor(model, metric)
130
+ }));
131
+ const meanX = points.reduce((sum, point) => sum + point.x, 0) / points.length;
132
+ const meanY = points.reduce((sum, point) => sum + point.y, 0) / points.length;
133
+ const denominator = points.reduce((sum, point) => sum + (point.x - meanX) ** 2, 0);
134
+ const slope = denominator ? points.reduce((sum, point) => sum + (point.x - meanX) * (point.y - meanY), 0) / denominator : 0;
135
+ const scoreAt = (x) => Math.max(chart.yMin, Math.min(chart.yMax, meanY + slope * (x - meanX)));
136
+ return {
137
+ x1: chart.xFromCoordinate(chart.xMin), y1: chart.y(scoreAt(chart.xMin)),
138
+ x2: chart.xFromCoordinate(chart.xMax), y2: chart.y(scoreAt(chart.xMax))
139
+ };
140
+ }
141
+
142
+ function chartModel(models, mobile = false, metric = 'average') {
143
+ const scores = models.map((model) => scoreFor(model, metric)).filter(Number.isFinite);
144
+ const parameterCoordinate = (value) => Math.sqrt(Number(value));
145
+ const parameterValues = models.map((model) => parameterCoordinate(model.params_m));
146
+ const xMin = Math.max(0, Math.floor(Math.min(...parameterValues) * 10) / 10 - 0.1);
147
+ const xMax = Math.ceil(Math.max(...parameterValues) * 10) / 10 + 0.1;
148
+ const yMin = Math.min(-5, Math.floor(Math.min(...scores) / 5) * 5 - 2);
149
+ const yMax = Math.max(10, Math.ceil(Math.max(...scores) / 5) * 5 + 2);
150
+ const width = mobile ? 820 : 1120;
151
+ const height = 390;
152
+ const pad = { left: 62, right: 28, top: 28, bottom: 52 };
153
+ const xFromCoordinate = (value) => pad.left + ((value - xMin) / (xMax - xMin || 1)) * (width - pad.left - pad.right);
154
+ const x = (value) => xFromCoordinate(parameterCoordinate(value));
155
+ const y = (value) => height - pad.bottom - ((value - yMin) / (yMax - yMin || 1)) * (height - pad.top - pad.bottom);
156
+ const yTicks = Array.from({ length: 5 }, (_, index) => yMin + (index * (yMax - yMin)) / 4);
157
+ const xTicks = Array.from({ length: 4 }, (_, index) => xMin + (index * (xMax - xMin)) / 3);
158
+ return { width, height, pad, xMin, xMax, yMin, yMax, x, xFromCoordinate, y, yTicks, xTicks, parameterCoordinate };
159
+ }
160
+
161
+ function tooltipPosition(event) {
162
+ const target = event.currentTarget;
163
+ const rect = target.closest('.scatter-area').getBoundingClientRect();
164
+ const targetRect = target.getBoundingClientRect();
165
+ const pointerX = Number.isFinite(event.clientX) ? event.clientX : targetRect.left + targetRect.width / 2;
166
+ const pointerY = Number.isFinite(event.clientY) ? event.clientY : targetRect.top + targetRect.height / 2;
167
+ const halfWidth = Math.min(112, Math.max(78, (rect.width - 20) / 2));
168
+ const left = Math.max(halfWidth + 10, Math.min(pointerX - rect.left, rect.width - halfWidth - 10));
169
+ return {
170
+ x: left,
171
+ y: Math.max(pointerY - rect.top - 16, 20)
172
+ };
173
+ }
174
+
175
+ function showTooltip(event, model) {
176
+ hover = { model, ...tooltipPosition(event) };
177
+ }
178
+
179
+ function moveTooltip(event) {
180
+ if (hover) hover = { ...hover, ...tooltipPosition(event) };
181
+ }
182
+
183
+ onMount(() => {
184
+ const media = window.matchMedia('(max-width: 760px)');
185
+ const updateViewport = () => isMobile = media.matches;
186
+ updateViewport();
187
+ media.addEventListener('change', updateViewport);
188
+ if (new URLSearchParams(window.location.search).get('demo') === '1') {
189
+ leaderboard = exampleLeaderboard;
190
+ }
191
+ return () => media.removeEventListener('change', updateViewport);
192
+ });
193
+ </script>
194
+
195
+ <svelte:head>
196
+ <title>Compact Language Model Index</title>
197
+ <meta name="description" content="A carefully scored compact language model benchmark from Universal Computing Research." />
198
+ </svelte:head>
199
+
200
+ <main>
201
+ <section class="hero" id="top">
202
+ <div class="hero-copy">
203
+ <div class="hero-kicker">
204
+ <p class="eyebrow">Small language model evaluation</p>
205
+ <span class="edition">Research index</span>
206
+ </div>
207
+ <h1>Compact<br />Language Model<br /><span>Index</span></h1>
208
+ <p class="hero-description">A fixed evaluation of compact language models across six benchmarks, with chance-normalized scores and 95% intervals</p>
209
+ <a class="hero-link" href="#leaderboard-title">Explore the leaderboard</a>
210
+ </div>
211
+
212
+ </section>
213
+
214
+ <section class="summary-grid" aria-label="Suite summary">
215
+ <article><span class="summary-index">Evaluation breadth</span><div class="summary-value"><strong>6</strong><span>core benchmarks</span></div></article>
216
+ <article><span class="summary-index">Linguistic depth</span><div class="summary-value"><strong>12</strong><span>BLiMP categories</span></div></article>
217
+ <article><span class="summary-index">Current sample</span><div class="summary-value"><strong>{loading ? '—' : measuredCount}</strong><span>models measured</span></div></article>
218
+ </section>
219
+
220
+ <section class="leaderboard-section" aria-labelledby="leaderboard-title">
221
+ <div class="section-heading table-heading">
222
+ <div>
223
+ <p class="eyebrow">Ranked results</p>
224
+ <h2 id="leaderboard-title">Core leaderboard</h2>
225
+ </div>
226
+ <div class="leaderboard-controls">
227
+ <div class="filter-stack">
228
+ <div class="top-filter-row">
229
+ <div class="filters view-filter">
230
+ <button class:active={simplifiedView} type="button" aria-pressed={simplifiedView} onclick={() => simplifiedView = !simplifiedView}>Simplified view</button>
231
+ </div>
232
+ <div class="filters" aria-label="Model track filter">
233
+ {#each [['all', 'All tracks'], ['base', 'Base'], ['instruction', 'Instruction']] as filter}
234
+ <button class:active={activeTrack === filter[0]} onclick={() => activeTrack = filter[0]}>{filter[1]}</button>
235
+ {/each}
236
+ </div>
237
+ </div>
238
+ <div class="size-filters" aria-label="Maximum parameter count">
239
+ {#each [['all', 'All'], ['10', '<10M'], ['50', '<50M'], ['100', '<100M'], ['300', '<300M']] as filter}
240
+ <button class:active={activeSize === filter[0]} onclick={() => activeSize = filter[0]}>{filter[1]}</button>
241
+ {/each}
242
+ </div>
243
+ </div>
244
+ </div>
245
+ </div>
246
+
247
+ <div class="table-wrap">
248
+ <table class:simplified={simplifiedView}>
249
+ <thead>
250
+ <tr>
251
+ <th>Rank</th>
252
+ <th class="sortable" class:sorted={sortKey === 'model'}><button class="sort-button" type="button" onclick={() => setSort('model')}>Model</button></th>
253
+ <th class="metadata-head" title="Hugging Face repository creation date">Release date</th>
254
+ <th class="sortable" class:sorted={sortKey === 'parameters'}><button class="sort-button" type="button" onclick={() => setSort('parameters')}>Parameters</button></th>
255
+ <th class="metadata-head">Vocab. size</th>
256
+ <th class="track-head">Track</th>
257
+ <th class="sortable score-head" class:sorted={sortKey === 'average'}><button class="sort-button" type="button" onclick={() => setSort('average')}>Average score <span>95% CI</span></button></th>
258
+ {#each core.slice(1) as metric}
259
+ <th class="sortable metric-head" class:sorted={sortKey === metric.id}><button class="sort-button" type="button" onclick={() => setSort(metric.id)}>{metric.label}</button></th>
260
+ {/each}
261
+ </tr>
262
+ </thead>
263
+ <tbody>
264
+ {#if loading}
265
+ <tr class="empty-row"><td colspan="13">Loading measured models…</td></tr>
266
+ {:else if !completed.length}
267
+ <tr class="empty-row"><td colspan="13">No complete results for this track yet.</td></tr>
268
+ {:else}
269
+ {#each visibleTableRows as model (model.id)}
270
+ {@const href = modelHref(model)}
271
+ <tr transition:fade={{ duration: 180 }}>
272
+ <td class="rank">{displayRank(model)}</td>
273
+ <td>
274
+ {#if href}
275
+ <a class="model-link" href={href} target="_blank" rel="noreferrer" aria-label={`Open ${model.name} on Hugging Face`}><span class="model-name">{model.name}</span></a>
276
+ {:else}
277
+ <span class="model-name">{model.name}</span>
278
+ {/if}
279
+ {#if model.source}<span class="model-source">{model.source}</span>{/if}
280
+ </td>
281
+ <td class="metadata">{releaseDateLabel(model.release_date)}</td>
282
+ <td>{parameterLabel(model.params_m)}</td>
283
+ <td class="metadata">{vocabSizeLabel(model.vocab_size)}</td>
284
+ <td class="track-cell"><span class:instruction={model.track === 'instruction'} class="track">{model.track === 'instruction' ? 'instruction' : 'base'}</span></td>
285
+ {#each core as metric, index}
286
+ {@const value = metricFor(model, metric.id)}
287
+ <td class:score-main={index === 0} class="metric">{#if value}{number(value.score)}<span>{range(value.ci)}</span>{:else}—{/if}</td>
288
+ {/each}
289
+ </tr>
290
+ {/each}
291
+ {/if}
292
+ </tbody>
293
+ </table>
294
+ </div>
295
+ {#if sortedCompleted.length > defaultBarCount}
296
+ <button
297
+ class="bar-toggle table-toggle"
298
+ class:expanded={showAllTableRows}
299
+ type="button"
300
+ aria-expanded={showAllTableRows}
301
+ aria-label={showAllTableRows ? `Show top ${defaultBarCount} models` : `Show all ${sortedCompleted.length} models`}
302
+ title={showAllTableRows ? `Show top ${defaultBarCount} models` : `Show all ${sortedCompleted.length} models`}
303
+ onclick={() => showAllTableRows = !showAllTableRows}
304
+ ><span class="bar-toggle-chevron" aria-hidden="true"></span></button>
305
+ {/if}
306
+ </section>
307
+
308
+ <section class="chart-controls" aria-label="Chart metric selector">
309
+ <div>
310
+ <p class="eyebrow">Chart metric</p>
311
+ <p class="section-note">Select a benchmark to update both the scaling chart and score comparison below.</p>
312
+ </div>
313
+ <div class="task-tabs" aria-label="Benchmark score selector">
314
+ {#each core as metric}
315
+ <button class:active={activeMetric === metric.id} onclick={() => activeMetric = metric.id}>{metric.label}</button>
316
+ {/each}
317
+ </div>
318
+ </section>
319
+
320
+ <section class="panel landscape" aria-labelledby="landscape-title">
321
+ <div class="section-heading">
322
+ <div>
323
+ <p class="eyebrow">Model scaling</p>
324
+ <h2 id="landscape-title">Parameters and {metricLabel(activeMetric)} score</h2>
325
+ </div>
326
+ <div class="legend"><span class="legend-dot base"></span>Base <span class="legend-dot instruction"></span>Instruction-tuned <span class="frontier-label"><span class="frontier-key"></span>Pareto trend</span></div>
327
+ </div>
328
+
329
+ {#if completed.length}
330
+ {@const models = completed}
331
+ {@const chart = chartModel(models, isMobile, activeMetric)}
332
+ {@const frontier = frontierGuide(models, chart, activeMetric)}
333
+ <div class="scatter-area" role="group" aria-label={`Interactive ${metricLabel(activeMetric)} score scatter chart`}>
334
+ <svg viewBox={`0 0 ${chart.width} ${chart.height}`} preserveAspectRatio="xMidYMid meet" aria-label={`Scatter chart of model size and chance-normalized ${metricLabel(activeMetric)} score`} role="img">
335
+ <text class="axis-title" x="7" y={chart.height / 2} text-anchor="middle" transform={`rotate(-90 7 ${chart.height / 2})`}>Chance-normalized score</text>
336
+ {#each chart.yTicks as tick}
337
+ <line class="grid-line" x1={chart.pad.left} x2={chart.width - chart.pad.right} y1={chart.y(tick)} y2={chart.y(tick)} />
338
+ <text class="axis-text" x={chart.pad.left - 14} y={chart.y(tick) + 4} text-anchor="end">{number(tick)}</text>
339
+ {/each}
340
+ <line class="axis-line" x1={chart.pad.left} x2={chart.width - chart.pad.right} y1={chart.height - chart.pad.bottom} y2={chart.height - chart.pad.bottom} />
341
+ {#each chart.xTicks as tick}
342
+ <text class="axis-text" x={chart.xFromCoordinate(tick)} y={chart.height - 17} text-anchor="middle">{parameterLabel(tick ** 2)}</text>
343
+ {/each}
344
+ <text class="axis-title" x={chart.width / 2} y={chart.height - 1} dy="16" text-anchor="middle">Parameters (square-root scale)</text>
345
+ {#if frontier}
346
+ <line class="frontier-line" x1={frontier.x1} y1={frontier.y1} x2={frontier.x2} y2={frontier.y2} />
347
+ {/if}
348
+ {#each models as model (model.id)}
349
+ <circle
350
+ class:instruction-point={model.track === 'instruction'}
351
+ class="point"
352
+ cx={chart.x(model.params_m)}
353
+ cy={chart.y(scoreFor(model, activeMetric))}
354
+ r="7"
355
+ tabindex="0"
356
+ role="button"
357
+ aria-label={`${model.name}: ${parameterLabel(model.params_m)}, ${metricLabel(activeMetric)} score ${number(scoreFor(model, activeMetric))}`}
358
+ onmouseenter={(event) => showTooltip(event, model)}
359
+ onmousemove={moveTooltip}
360
+ onmouseleave={() => hover = null}
361
+ onfocus={(event) => showTooltip(event, model)}
362
+ onblur={() => hover = null}
363
+ />
364
+ {/each}
365
+ </svg>
366
+ {#if hover}
367
+ <div class="chart-tooltip" style={`left:${hover.x}px; top:${hover.y}px`}>
368
+ <strong>{hover.model.name}</strong>
369
+ <span>{parameterLabel(hover.model.params_m)} parameters</span>
370
+ <b>{number(scoreFor(hover.model, activeMetric))} <em>{metricLabel(activeMetric)} score</em></b>
371
+ </div>
372
+ {/if}
373
+ </div>
374
+ {:else}
375
+ <div class="empty-chart">Completed evaluations will appear here.</div>
376
+ {/if}
377
+ </section>
378
+
379
+ <section class="panel score-panel" aria-labelledby="scores-title">
380
+ <div class="section-heading compact-heading">
381
+ <div>
382
+ <h2 id="scores-title">Model score comparison</h2>
383
+ <p class="section-note">The top 10 matching models are shown by default. This comparison uses the shared metric selected above.</p>
384
+ </div>
385
+ </div>
386
+ {#if bars.length}
387
+ {@const lower = Math.min(0, ...allBars.flatMap((model) => [scoreFor(model), metricFor(model, activeMetric)?.ci?.[0] ?? scoreFor(model)]))}
388
+ {@const upper = Math.max(10, ...allBars.flatMap((model) => [scoreFor(model), metricFor(model, activeMetric)?.ci?.[1] ?? scoreFor(model)]))}
389
+ <div class="bar-list" style={`--zero:${((0 - lower) / (upper - lower || 1)) * 100}%`}>
390
+ {#each bars as model, index (model.id)}
391
+ {@const score = scoreFor(model)}
392
+ {@const ci = metricFor(model, activeMetric)?.ci}
393
+ {@const scorePosition = ((score - lower) / (upper - lower || 1)) * 100}
394
+ <div class="bar-row" transition:slide={{ duration: 180 }}>
395
+ <span class="bar-rank">{index + 1}</span>
396
+ <span class="bar-name" title={model.name}>{model.name}</span>
397
+ <div class="bar-track"><i class="zero-line"></i><i class:negative={score < 0} class:instruction-fill={model.track === 'instruction'} class="bar-fill" style={`--start:${score < 0 ? scorePosition : ((0 - lower) / (upper - lower || 1)) * 100}%; --width:${Math.abs(score) / (upper - lower || 1) * 100}%`}></i>{#if ci}<i class:instruction-band={model.track === 'instruction'} class:negative-band={score < 0} class="ci-band" style={`--start:${((ci[0] - lower) / (upper - lower || 1)) * 100}%; --width:${((ci[1] - ci[0]) / (upper - lower || 1)) * 100}%`}></i>{/if}</div>
398
+ <strong>{number(score)}</strong>
399
+ </div>
400
+ {/each}
401
+ </div>
402
+ {#if allBars.length > defaultBarCount}
403
+ <button
404
+ class="bar-toggle"
405
+ class:expanded={showAllBars}
406
+ type="button"
407
+ aria-expanded={showAllBars}
408
+ aria-label={showAllBars ? `Show top ${defaultBarCount} models` : `Show all ${allBars.length} models`}
409
+ title={showAllBars ? `Show top ${defaultBarCount} models` : `Show all ${allBars.length} models`}
410
+ onclick={() => showAllBars = !showAllBars}
411
+ ><span class="bar-toggle-chevron" aria-hidden="true"></span></button>
412
+ {/if}
413
+ {:else}
414
+ <div class="empty-chart short">No measured values for this selection.</div>
415
+ {/if}
416
+ </section>
417
+
418
+ <section class="bottom-grid">
419
+ <article class="panel method-card">
420
+ <p class="eyebrow">Scoring method</p>
421
+ <h3>Chance-normalized composite score</h3>
422
+ <p class="formula">100 × <span>(accuracy − chance)</span> / <span>(1 − chance)</span></p>
423
+ <p>For each benchmark, the observed result is normalized against its chance level: chance maps to 0 and a perfect result maps to 100.</p>
424
+ <p>HellaSwag, PIQA, and CommonsenseQA form a commonsense domain worth 50% of the composite, with each benchmark weighted equally within that domain. Science and world knowledge contribute 25% after combining ARC-Easy (75%) and ARC-Challenge (25%). BLiMP contributes the remaining 25% for grammatical competence and is macro-averaged across its 12 linguistic categories.</p>
425
+ <p>CommonsenseQA scores the likelihood of each full answer text with length normalization, rather than scoring the A–E answer label. This prevents a model’s letter preference from being mistaken for commonsense capability.</p>
426
+ <p>Each benchmark interval is a 95% percentile bootstrap. Model comparisons use paired bootstrap resampling on matched evaluation items. Results below chance remain negative, and rank ranges reflect comparisons that do not distinguish neighbouring models.</p>
427
+ </article>
428
+ <article class="panel protocol-card">
429
+ <p class="eyebrow">Evaluation protocol</p>
430
+ <h2>Curated evaluation</h2>
431
+ <p>CompactLMIndex is a curated benchmark, not an open intake list. We are establishing a Pareto-frontier baseline across model sizes and highlighting training or inference strategies that put a model ahead of its peers at a comparable parameter count.</p>
432
+ <ul><li>Complete core suite required for a rank</li><li>Zero-shot, non-chat log-likelihood prompts</li><li>Paired bootstrap comparisons on matched questions</li></ul>
433
+ <p>Every published result is independently checked through our internal verification process. Final inclusion and presentation decisions remain with Universal Computing Research.</p>
434
+ <p>If you have interesting results for a model you think is suitable for this benchmark, you can open a discussion on the Space for consideration.</p>
435
+ </article>
436
+ </section>
437
+ <section class="panel additional-card" aria-labelledby="credits-title">
438
+ <div>
439
+ <p class="eyebrow">Credits &amp; scope</p>
440
+ <h2 id="credits-title">Efficiency at smaller scales</h2>
441
+ </div>
442
+ <div class="credits-content">
443
+ <p>CompactLMIndex looks at smaller language models. At this scale, architecture, training, and inference choices can make a real difference. Every model follows the same evaluation protocol, so results are compared fairly rather than by size alone.</p>
444
+ <p class="credits-attribution">Inspired by the <a href="https://huggingface.co/open-llm-leaderboard" target="_blank" rel="noreferrer">Open LLM Leaderboard</a>, <a href="https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard" target="_blank" rel="noreferrer">Axiomic Labs Open SLM Leaderboard</a>, and <a href="https://github.com/openai/parameter-golf" target="_blank" rel="noreferrer">OpenAI Parameter Golf</a>.</p>
445
+ </div>
446
+ </section>
447
+ <footer>
448
+ <p>Compact Language Model Index by <a href="https://huggingface.co/UniversalComputingResearch" target="_blank" rel="noreferrer">Universal Computing Research</a></p>
449
+ </footer>
450
+ </main>
svelte.config.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import adapter from '@sveltejs/adapter-static';
2
+
3
+ const config = {
4
+ kit: {
5
+ adapter: adapter()
6
+ }
7
+ };
8
+
9
+ export default config;
vite.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ import { defineConfig } from 'vite';
2
+ import { sveltekit } from '@sveltejs/kit/vite';
3
+
4
+ export default defineConfig({
5
+ plugins: [sveltekit()]
6
+ });