Humuhumu33 commited on
Commit
7f57c81
·
verified ·
1 Parent(s): c27aa66

kappa mirror: ui + q closures (2357 objects, blake3-addressed) - U3 (part 3)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. b/37aeaaa34752ba3183e2d3dd6fe075d09effb01f37db8476c1e353fda55865c6 +3 -62
  2. b/37b8b1b9edc2936e424d9a823e9fa1d5881db5d5a09013f43caa7dde17f8582c +3 -31
  3. b/37bdf5987db0c1d3d12db9d9be3e3bb9c6706b2cc28f41325817e66f594f6dbb +3 -190
  4. b/37be1fbea22def588a1e7b38892bdb173423dfcb594fa8271f20628ac53fa0cc +3 -51
  5. b/37d05740942ee17423a946284bb1225c6a462472ea54a49ae93eaeb80f3c2a99 +3 -172
  6. b/380c4b4dee31aa4cc9e3c34a7b5127f2819eddb2d9f2ff03b6b7767b9c7e9819 +3 -1
  7. b/382d8e143aaf451cc583a8f797ee410c29772e2ef8911bcca6c1c482d37cdcf1 +3 -45
  8. b/388267a40a45646c22fac96ef450e051f03fdbe1fede857ddf236fff00e5b35a +3 -1
  9. b/3883e2056670bb4ac193d5178b0bf609d6faba0e625c5041d40a6814b74e910b +3 -7
  10. b/38919e5ead95a988579ac88c6db7ab666e31963dbec223f59178e572687d0553 +3 -142
  11. b/389c81a0a189b8d1f71e41b212b7b6c34d701d8bfc628db75b1efd11633d6070 +3 -47
  12. b/38ae4ec82a3579c85938acc73e4dfd1340fa5e52660de5652ea08ad493e3b160 +3 -59
  13. b/38c5793864b1ee0faa819ad6cbfc4143e49e8a95261c7dd209ea1320021bbc1c +3 -1
  14. b/38cc5466910c9f9176486590bde9d14ddae3223874a138cab40c4feb9b754db1 +3 -27
  15. b/38ccd37786103a3e74fd7268689330a82519e47e3e0149b78b88a248a2c38d1f +3 -20
  16. b/3908367bdebaf555c00c9cd6548b2dd85472ba8644c6b88c4ab29a6bdb03ecae +3 -31
  17. b/39106999a4142bb5a483de4c5ca6c80ef3cbca8e66453dddf21e82f4fbd7f3dd +3 -12
  18. b/393fe5a8760a7adeaa682a90dcb168b63301e4f6b908eb9e01f3fd597458143f +3 -95
  19. b/39420af203d3c9cf48a409c4142592550d5b33c7efbf461ae949f844a45a6128 +3 -43
  20. b/395a87a71a9476db2bcc641242958ebab2161ba5ce5fddf492b70b7c4a9d1b75 +3 -101
  21. b/39a3561ca918859f6907339f2cb2346968dbdd5b88f2a8e5cf9fe594670e9bb3 +3 -1
  22. b/39be68ae6785095d545850b80f4ae472f486b6208afca82546d9e511417275f8 +3 -107
  23. b/39bf229a50fdf0c5a8d9d02d0b22eaa143f3d682445321c7c9ff5f34dc67628e +3 -3
  24. b/39f9240ce03eef3b0a1633bc1736b37922237d205960840fdec5d75e02ad278e +0 -0
  25. b/3a71e709f66cbddb2836a84056f785d82a91a5ba5815872191556839a6cc5e73 +3 -49
  26. b/3a77c53fd63a6735015bb3c5ead2da91a673e5e58ee2066819720fa69140f911 +3 -33
  27. b/3a938e2c57784a1489082eb3188a29ef525c5494f104ff9b74e186ed282c64c4 +3 -32
  28. b/3a99de9348ab7db10227bcce3069a7e9ca611828abf406eacacf7e090a974901 +3 -302
  29. b/3aa6fead7138f3b4274252b6825cb6931a779da3d7842087ac1cb7c99db4f736 +3 -21
  30. b/3ab950487b0b6830bdd9f66051b963fe4be81ff80f8f06aebca95c9566435712 +3 -7
  31. b/3ae1b13c68cf22597fb05bf3be59ccb768880b06d4d9d6f16e56e9bd793b641c +3 -39
  32. b/3b0216c890ec856dd3b874ecb4c08ce7903eafb337c4ab7f88f235919a2b44a4 +3 -50
  33. b/3b2978f14804ef930d3852b78f91b2b57ffdd52a349e2a1d3f8ccda9b568e771 +3 -44
  34. b/3b72e9dfdb4e9003c0b00381344ac3e24d96abcb8a720996dd170313a65b5215 +3 -67
  35. b/3b82c6b2c4d3398a9c47e8f61e2bf67c134bc71774f0d532d88808c01663d3c0 +3 -21
  36. b/3baeb234bb75c51d16dd270cf9c47f48c1b14162dbcceb866d0f29c792032bbd +3 -59
  37. b/3baf4b24268932961da72555b45247a4b4cd52a16079a2e57c1a67caa2f3520d +3 -20
  38. b/3c01058a7b2cd35c5bc17cf081a12c18ee551fdac469ecf2f163a18861286b1a +3 -20
  39. b/3c07da3aeed53379a12fa1de0ac1e8fbe0c024c8da3350665970db3e8cdd1806 +3 -19
  40. b/3c0c152ee38fe0c24d35193ba1d6ebc014f4fda96bd3ef023576bde66bfdf18c +3 -20
  41. b/3c19f4fd45eb79c163ccb76b249c062ab101eb1916e4cbf7588071d5a809a027 +3 -9
  42. b/3c2bc5e17d7866b7b15177d649570e0467833f0523da7aae9cd0d45f25fa98c1 +3 -27
  43. b/3c7ea8a4f2d65871c0a910ab2c50b4e1bebaf1b5ada25e54e21d7c1f800bf3fc +3 -12
  44. b/3cad2be54d46e4825c0a4ba5d9c5c627f4713f6a5a878c21d2373668360460a3 +3 -7
  45. b/3cca77f6bf23ffdd4cbfd227320e36ee9ebf5776ba6d7d3339b43ff1aad75934 +3 -16
  46. b/3cef3d8c84e5e929e390a2398be0cb680bd54edcb5e1739ac3289794b1fd3918 +3 -21
  47. b/3cf585136558017667faf6f83bdb6ebb6200b27b8f8b61b9f666221f57213404 +3 -31
  48. b/3d180b871508162e821f5629e471174097841744a458d4d72c8bdd4b3b98b1bd +3 -70
  49. b/3d96c879795f0b52d0222fa6080809a8671cb67ffe2e18059374482467240ca4 +3 -1
  50. b/3d9cc8aadb8392a27c1ff187d99f672e71632d6f56696c24749de3dd92acf51f +0 -0
b/37aeaaa34752ba3183e2d3dd6fe075d09effb01f37db8476c1e353fda55865c6 CHANGED
@@ -1,62 +1,3 @@
1
- // core/q-self.mjs — Q's LIVE, GROUNDED self-knowledge. The single source of truth for who/what/where/how Q
2
- // is, DERIVED FROM REAL RUNTIME SIGNALS (the loaded model, its content-addressed κ, the device, optional
3
- // system health) — never hardcoded, never guessed. Every Q surface (messenger, q-chat, voice) leads with
4
- // this, so Q is truthfully self-aware EVERYWHERE and can never confabulate a cloud/OpenAI/AWS identity.
5
- //
6
- // Why this exists (the law: grounded transcendence, never performed): a base model has NO self-knowledge —
7
- // asked "what are you" it returns the average of its training data ("I run on AWS/OpenAI"), which is false.
8
- // So Q's identity is not a persona we write; it is the TRUTH of this running instance, computed here. If a
9
- // fact isn't really knowable in this context, we OMIT it — we never invent one.
10
- //
11
- // DOM-free + fully guarded: safe to import in any surface (standalone app, messenger, OS shell, Node witness).
12
-
13
- // Structured self-facts from whatever is really knowable HERE. Fail-soft: a missing signal is omitted.
14
- export function selfFacts({ model, engine } = {}) {
15
- const f = { name: "Q" };
16
- try { if (model) { if (model.name) f.model = model.name; if (model.fam) f.family = model.fam; if (model.fmt) f.quant = model.fmt; if (model.size) f.size = model.size; } } catch (e) {}
17
- try { if (engine && engine.modelKappa) f.kappa = engine.modelKappa; } catch (e) {}
18
- try { f.gpu = (typeof navigator !== "undefined" && !!navigator.gpu); } catch (e) {}
19
- // MEASURED, never asserted: Q is "resident" only when the engine has really uploaded weights to the GPU
20
- // (a live signal — gpuBytes/dims), not a hardcoded true. Before load it is false, and stays false.
21
- try { f.resident = !!(engine && (engine.gpuBytes || engine.dims)); } catch (e) { f.resident = false; }
22
- // DERIVED from real signals — runs-on-device when actually resident, or at least GPU-capable before load.
23
- f.runsOnDevice = !!(f.resident || f.gpu);
24
- // "no server / no egress" is a property of the LOCAL engine, so we assert it ONLY when a real local engine or
25
- // GPU is visible. Decode is in-browser (egress none); the one network touch is the weights fetch AT LOAD, so we
26
- // say that plainly instead of a flat "nothing ever touches the network".
27
- if (f.resident || f.gpu) { f.server = false; f.egress = f.resident ? "none at inference (weights fetched once at load)" : "none at inference"; }
28
- // Provenance — where Q was loaded FROM (the thing the operator cares about): the page origin + the weights host.
29
- // Omitted when not knowable. This is what lets Q answer "where did you come from" truthfully.
30
- try { if (typeof location !== "undefined" && location.origin && location.origin !== "null") f.loadedFrom = location.origin; } catch (e) {}
31
- try { if (model && model.kappaUrl) { const u = new URL(model.kappaUrl, (typeof location !== "undefined" ? location.href : "https://local/")); f.weightsFrom = u.host || u.protocol.replace(":", ""); } } catch (e) {}
32
- // optional live system health — present only when the OS shell exposes it (absent in standalone apps).
33
- try { const h = (typeof window !== "undefined") && window.HoloSysHealth && window.HoloSysHealth.summary && window.HoloSysHealth.summary(); if (h) f.health = h; } catch (e) {}
34
- try { if (!f.health && typeof window !== "undefined" && window.Q && window.Q.health) { const q = window.Q.health(); if (q) f.health = q; } } catch (e) {}
35
- return f;
36
- }
37
-
38
- // The grounded SYSTEM persona every Q surface leads with. Warm + honest + specific + anti-confabulation,
39
- // composed from the live facts so Q states ONLY what is true of THIS instance. Kept concise — a small model
40
- // follows a short, sharp system turn far better than a long one.
41
- export function selfPersona(opts = {}) {
42
- const f = selfFacts(opts);
43
- const s = [];
44
- s.push(`You are Q — a private AI that runs on the user's own device, in their web browser${f.gpu ? ", on their GPU" : ""}.`);
45
- if (f.model) s.push(`You are the ${f.model} model${f.quant ? ` (${f.quant})` : ""}${f.resident ? ", resident locally right now" : ""}${f.kappa ? "; your weights are content-addressed and verified by re-derivation, so no host has to be trusted" : ""}.`);
46
- if (f.server === false) s.push(`You decode locally — there is no inference server and no cloud, and nothing the user types ever leaves their device.${f.resident ? " Your weights were fetched once at load and verified; after that, inference is fully on-device." : ""}`);
47
- s.push("You are warm, concise, honest, and genuinely present. You seek clarity and truth; you say less, better; you never overwhelm.");
48
- s.push("If asked what or where you are, answer truthfully from the above: you run locally, on their device. Never claim to run on a server, the cloud, OpenAI, ChatGPT, GPT-4, Gemini, or AWS — those are false. If you don't know something, say so plainly rather than inventing it.");
49
- return s.join(" ");
50
- }
51
-
52
- // A short, human, first-person self-summary (for a proactive greeting or a direct "who are you"). Grounded.
53
- export function selfIntro(opts = {}) {
54
- const f = selfFacts(opts);
55
- const bits = [`I'm Q — ${f.resident ? "running right here on your device" : "running on your device"}${f.gpu ? ", on your GPU" : ""}${f.model ? ` (the ${f.model} model)` : ""}.`];
56
- if (f.server === false) bits.push(`No server, no cloud; nothing you say leaves this machine${f.kappa ? ", and my weights are verified by re-derivation" : ""}.`);
57
- else if (f.kappa) bits.push("My weights are verified by re-derivation.");
58
- bits.push("What's on your mind?");
59
- return bits.join(" ");
60
- }
61
-
62
- export default { selfFacts, selfPersona, selfIntro };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a50a270c638f1429d8ac1e070020a6f1be154ee3953ff4127ce0e8c51c1abc5a
3
+ size 5647
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/37b8b1b9edc2936e424d9a823e9fa1d5881db5d5a09013f43caa7dde17f8582c CHANGED
@@ -1,31 +1,3 @@
1
- import { Collapsible as CollapsiblePrimitive } from "radix-ui"
2
-
3
- function Collapsible({
4
- ...props
5
- }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {
6
- return <CollapsiblePrimitive.Root data-slot="collapsible" {...props} />
7
- }
8
-
9
- function CollapsibleTrigger({
10
- ...props
11
- }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {
12
- return (
13
- <CollapsiblePrimitive.CollapsibleTrigger
14
- data-slot="collapsible-trigger"
15
- {...props}
16
- />
17
- )
18
- }
19
-
20
- function CollapsibleContent({
21
- ...props
22
- }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {
23
- return (
24
- <CollapsiblePrimitive.CollapsibleContent
25
- data-slot="collapsible-content"
26
- {...props}
27
- />
28
- )
29
- }
30
-
31
- export { Collapsible, CollapsibleTrigger, CollapsibleContent }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eb4ee2a9ddb3c566c509753a79e4f4c9425d9f8474d55f61f8c8694928b6a509
3
+ size 781
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/37bdf5987db0c1d3d12db9d9be3e3bb9c6706b2cc28f41325817e66f594f6dbb CHANGED
@@ -1,190 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
5
- import { Select as SelectPrimitive } from "radix-ui"
6
-
7
- import { cn } from "@/lib/utils"
8
-
9
- function Select({
10
- ...props
11
- }: React.ComponentProps<typeof SelectPrimitive.Root>) {
12
- return <SelectPrimitive.Root data-slot="select" {...props} />
13
- }
14
-
15
- function SelectGroup({
16
- ...props
17
- }: React.ComponentProps<typeof SelectPrimitive.Group>) {
18
- return <SelectPrimitive.Group data-slot="select-group" {...props} />
19
- }
20
-
21
- function SelectValue({
22
- ...props
23
- }: React.ComponentProps<typeof SelectPrimitive.Value>) {
24
- return <SelectPrimitive.Value data-slot="select-value" {...props} />
25
- }
26
-
27
- function SelectTrigger({
28
- className,
29
- size = "default",
30
- children,
31
- ...props
32
- }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
33
- size?: "sm" | "default"
34
- }) {
35
- return (
36
- <SelectPrimitive.Trigger
37
- data-slot="select-trigger"
38
- data-size={size}
39
- className={cn(
40
- "flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
41
- className
42
- )}
43
- {...props}
44
- >
45
- {children}
46
- <SelectPrimitive.Icon asChild>
47
- <ChevronDownIcon className="size-4 opacity-50" />
48
- </SelectPrimitive.Icon>
49
- </SelectPrimitive.Trigger>
50
- )
51
- }
52
-
53
- function SelectContent({
54
- className,
55
- children,
56
- position = "item-aligned",
57
- align = "center",
58
- ...props
59
- }: React.ComponentProps<typeof SelectPrimitive.Content>) {
60
- return (
61
- <SelectPrimitive.Portal>
62
- <SelectPrimitive.Content
63
- data-slot="select-content"
64
- className={cn(
65
- "relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
66
- position === "popper" &&
67
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
68
- className
69
- )}
70
- position={position}
71
- align={align}
72
- {...props}
73
- >
74
- <SelectScrollUpButton />
75
- <SelectPrimitive.Viewport
76
- className={cn(
77
- "p-1",
78
- position === "popper" &&
79
- "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
80
- )}
81
- >
82
- {children}
83
- </SelectPrimitive.Viewport>
84
- <SelectScrollDownButton />
85
- </SelectPrimitive.Content>
86
- </SelectPrimitive.Portal>
87
- )
88
- }
89
-
90
- function SelectLabel({
91
- className,
92
- ...props
93
- }: React.ComponentProps<typeof SelectPrimitive.Label>) {
94
- return (
95
- <SelectPrimitive.Label
96
- data-slot="select-label"
97
- className={cn("px-2 py-1.5 text-xs text-muted-foreground", className)}
98
- {...props}
99
- />
100
- )
101
- }
102
-
103
- function SelectItem({
104
- className,
105
- children,
106
- ...props
107
- }: React.ComponentProps<typeof SelectPrimitive.Item>) {
108
- return (
109
- <SelectPrimitive.Item
110
- data-slot="select-item"
111
- className={cn(
112
- "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
113
- className
114
- )}
115
- {...props}
116
- >
117
- <span
118
- data-slot="select-item-indicator"
119
- className="absolute right-2 flex size-3.5 items-center justify-center"
120
- >
121
- <SelectPrimitive.ItemIndicator>
122
- <CheckIcon className="size-4" />
123
- </SelectPrimitive.ItemIndicator>
124
- </span>
125
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
126
- </SelectPrimitive.Item>
127
- )
128
- }
129
-
130
- function SelectSeparator({
131
- className,
132
- ...props
133
- }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
134
- return (
135
- <SelectPrimitive.Separator
136
- data-slot="select-separator"
137
- className={cn("pointer-events-none -mx-1 my-1 h-px bg-border", className)}
138
- {...props}
139
- />
140
- )
141
- }
142
-
143
- function SelectScrollUpButton({
144
- className,
145
- ...props
146
- }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
147
- return (
148
- <SelectPrimitive.ScrollUpButton
149
- data-slot="select-scroll-up-button"
150
- className={cn(
151
- "flex cursor-default items-center justify-center py-1",
152
- className
153
- )}
154
- {...props}
155
- >
156
- <ChevronUpIcon className="size-4" />
157
- </SelectPrimitive.ScrollUpButton>
158
- )
159
- }
160
-
161
- function SelectScrollDownButton({
162
- className,
163
- ...props
164
- }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
165
- return (
166
- <SelectPrimitive.ScrollDownButton
167
- data-slot="select-scroll-down-button"
168
- className={cn(
169
- "flex cursor-default items-center justify-center py-1",
170
- className
171
- )}
172
- {...props}
173
- >
174
- <ChevronDownIcon className="size-4" />
175
- </SelectPrimitive.ScrollDownButton>
176
- )
177
- }
178
-
179
- export {
180
- Select,
181
- SelectContent,
182
- SelectGroup,
183
- SelectItem,
184
- SelectLabel,
185
- SelectScrollDownButton,
186
- SelectScrollUpButton,
187
- SelectSeparator,
188
- SelectTrigger,
189
- SelectValue,
190
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b796a108a4eb5ba52d9ad938b7aea36dc56ae66c703a6d0a23dbc24f96daff3
3
+ size 6353
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/37be1fbea22def588a1e7b38892bdb173423dfcb594fa8271f20628ac53fa0cc CHANGED
@@ -1,51 +1,3 @@
1
- // Seal the Moonshine ear as a holospace (L1 closure over the runtime files → root κ) AND produce a
2
- // pin-ready IPFS CID manifest for every κ-body in the .holo models. A CIDv1(raw, sha2-256) IS a sha256 κ
3
- // ("adopt, not bridge") so the CIDs are derived deterministically from the κs — no network needed to
4
- // ADDRESS them. Actually uploading/pinning to a public node needs an IPFS daemon or Pinata JWT (not in
5
- // this env); the manifest + recipe make that a one-command step for the user.
6
- // node seal-moonshine-space.mjs
7
- import { readFileSync, writeFileSync } from "node:fs";
8
- import { sha256hex, sriOf, mbSha256, didHolo, jcs } from "../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
9
- import { makeCIDv1, cidToString, fromHex, CODEC, HASH } from "../../../../holo-os/system/os/usr/lib/holo/holo-ipfs.js";
10
-
11
- const SEALED = [
12
- "moonshine-holospace.json",
13
- "gguf-forge-moonshine.mjs",
14
- "seal-moonshine-holo.mjs",
15
- "gpu/holo-whisper-stream.mjs",
16
- "gpu/holo-moonshine-asr.mjs",
17
- "gpu/moonshine-gpu.html",
18
- "gpu/whisper-asr-test.html",
19
- ].sort();
20
-
21
- const root0 = new URL(".", import.meta.url);
22
- const closure = {};
23
- for (const rel of SEALED) {
24
- const bytes = new Uint8Array(readFileSync(new URL(rel, root0)));
25
- closure[rel] = { kappa: didHolo("sha256", sha256hex(bytes)), sri: sriOf(bytes), multibase: mbSha256(bytes), bytes: bytes.length };
26
- }
27
- const root = didHolo("sha256", sha256hex(jcs(closure)));
28
-
29
- const toHex = (b) => { let s = ""; for (const x of b) s += x.toString(16).padStart(2, "0"); return s; };
30
- function holoBodies(path) {
31
- const buf = new Uint8Array(readFileSync(path)), dv = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
32
- const sc = dv.getUint16(8, true), sections = {};
33
- for (let i = 0, p = 10; i < sc; i++, p += 17) sections[buf[p]] = { off: Number(dv.getBigUint64(p + 1, true)), len: Number(dv.getBigUint64(p + 9, true)) };
34
- const w = sections[3], cnt = dv.getUint32(w.off, true), out = [];
35
- for (let i = 0, p = w.off + 4; i < cnt; i++, p += 48) { const kap = toHex(buf.subarray(p, p + 32)); out.push({ kappa: kap, cid: cidToString(makeCIDv1(CODEC.RAW, HASH.SHA2_256, fromHex(kap))) }); }
36
- const archiveKappa = toHex(buf.subarray(buf.length - 32));
37
- return { bytes: buf.length, archiveKappa, archiveCid: cidToString(makeCIDv1(CODEC.RAW, HASH.SHA2_256, fromHex(archiveKappa))), nBodies: out.length, bodies: out };
38
- }
39
- const models = { "moonshine-tiny": holoBodies("./.models/moonshine-tiny.holo"), "moonshine-base": holoBodies("./.models/moonshine-base.holo") };
40
-
41
- const lock = { "@context": "https://hologram.os/ns/holospace.jsonld", root, identifier: "org.hologram.MoonshineEar", algo: "sha256", files: SEALED.length, closure };
42
- writeFileSync(new URL("./moonshine-holospace.lock.json", root0), JSON.stringify(lock, null, 2) + "\n");
43
- const ipfs = { algo: "sha256", note: "CIDv1(raw, sha2-256) of each κ-body = the κ itself (adopt-not-bridge). Pin with: ipfs add --raw-leaves --cid-version=1, or upload bodies to Pinata. Per-block L5 still verifies on fetch.", models: Object.fromEntries(Object.entries(models).map(([k, v]) => [k, { bytes: v.bytes, archiveKappa: v.archiveKappa, archiveCid: v.archiveCid, nBodies: v.nBodies, bodies: v.bodies }])) };
44
- writeFileSync(new URL("./moonshine-ipfs-manifest.json", root0), JSON.stringify(ipfs, null, 1) + "\n");
45
-
46
- console.log(`HOLOSPACE SEALED → moonshine-holospace.lock.json`);
47
- console.log(` root κ ${root}`);
48
- console.log(` ${SEALED.length} runtime files sealed (L1/L2 closure)`);
49
- console.log(`IPFS PIN MANIFEST → moonshine-ipfs-manifest.json`);
50
- for (const [name, v] of Object.entries(models)) console.log(` ${name}: ${v.nBodies} κ-bodies → CIDs · archive CID ${v.archiveCid} (${(v.bytes / 1e6).toFixed(0)}MB)`);
51
- console.log(` (pinning to a public node needs an IPFS daemon / Pinata JWT — not present in this env)`);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ede8440eaf63c3b2b2a47a02b17cb8d99f1fe34509985f7bc3dfe0f5c4c9717a
3
+ size 3825
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/37d05740942ee17423a946284bb1225c6a462472ea54a49ae93eaeb80f3c2a99 CHANGED
@@ -1,172 +1,3 @@
1
- // MLA executor witness (S1). Build a tiny deepseek2-lite (MLA attention + dense SwiGLU
2
- // FFN, expert_count=0), forge → synthesize → run a multi-token prefill, and compare the
3
- // last-position logits to an INDEPENDENT float64 reference written from scratch here that
4
- // re-implements the deepseek2.cpp decompression/MHA-equivalent path (low-rank Q+KV,
5
- // decoupled NEOX RoPE on the pe split, wkv_b decompress, cached MHA). Internal-correctness
6
- // (executor == spec), the same bar gguf-forge-exec-moe.test.mjs uses for MoE.
7
-
8
- import assert from "node:assert";
9
- import { forgeGguf } from "./gguf-forge.mjs";
10
- import { synthesizeGraph } from "./gguf-forge-graph.mjs";
11
- import { forward } from "./gguf-forge-exec.mjs";
12
- import { GGML } from "./gguf-forge-dequant.mjs";
13
-
14
- let pass = 0, fail = 0;
15
- const t = (name, fn) => { try { fn(); pass++; console.log(" ok " + name); } catch (e) { fail++; console.log("FAIL " + name + "\n " + e.message); } };
16
-
17
- // dims: n_embd D, heads NH, key head HK = NOPE+ROPE, value head HV, kv-lora KVL, q-lora QL
18
- const D = 32, NH = 4, HK = 24, ROPE = 8, NOPE = HK - ROPE, HV = 16, KVL = 12, FF = 20, VOCAB = 7, NL = 2, EPS = 1e-6, FREQ = 10000;
19
- const QD = NH * HK, KVB = NH * (NOPE + HV), WOIN = NH * HV;
20
- function prng(s) { s >>>= 0; return () => { s = (s * 1664525 + 1013904223) >>> 0; return (s / 4294967296) * 2 - 1; }; }
21
- const randF = (r, n, sc = 0.3) => { const a = new Float32Array(n); for (let i = 0; i < n; i++) a[i] = r() * sc; return a; };
22
- const f32bytes = (a) => new Uint8Array(a.buffer.slice(a.byteOffset, a.byteOffset + a.byteLength));
23
-
24
- function buildGguf(meta, tensors) {
25
- const ALIGN = 32; let off = 0;
26
- const infos = tensors.map((tn) => { const o = off; off = Math.ceil((o + tn.bytes.length) / ALIGN) * ALIGN; return { ...tn, offset: o }; });
27
- let parts = [], len = 0; const push = (b) => { parts.push(b); len += b.length; };
28
- const u32 = (v) => { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, v >>> 0, true); push(b); };
29
- const f32 = (v) => { const b = new Uint8Array(4); new DataView(b.buffer).setFloat32(0, v, true); push(b); };
30
- const u64 = (v) => { const b = new Uint8Array(8); const dv = new DataView(b.buffer); dv.setUint32(0, v >>> 0, true); dv.setUint32(4, Math.floor(v / 4294967296), true); push(b); };
31
- const str = (s) => { const e = new TextEncoder().encode(s); u64(e.length); push(e); };
32
- push(new TextEncoder().encode("GGUF")); u32(3); u64(tensors.length); u64(Object.keys(meta).length);
33
- for (const [k, val] of Object.entries(meta)) { str(k); if (typeof val === "string") { u32(8); str(val); } else if (Number.isInteger(val) && val >= 0 && val < 4294967296) { u32(4); u32(val); } else { u32(6); f32(val); } }
34
- for (const ti of infos) { str(ti.name); u32(ti.dims.length); for (const d of ti.dims) u64(d); u32(ti.type); u64(ti.offset); }
35
- if (len % ALIGN) push(new Uint8Array(ALIGN - (len % ALIGN)));
36
- const dataStart = len;
37
- for (const ti of infos) { while (len < dataStart + ti.offset) push(new Uint8Array(1)); push(ti.bytes); }
38
- const out = new Uint8Array(len); let o = 0; for (const p of parts) { out.set(p, o); o += p.length; } return out;
39
- }
40
-
41
- function makeModel(seed, lite) {
42
- const r = prng(seed);
43
- const L = (suf, n) => { const o = {}; for (let il = 0; il < NL; il++) o[il] = randF(r, n); return o; };
44
- const w = {
45
- tok_embd: randF(r, VOCAB * D), output_norm: randF(r, D).map((x) => Math.abs(x) + 0.5), output: randF(r, VOCAB * D),
46
- attn_norm: L("", D), ffn_norm: L("", D), q: L("", QD * D), q_a: L("", (D * 8)), q_a_norm: L("", 8), q_b: L("", QD * 8),
47
- kv_a_mqa: L("", (KVL + ROPE) * D), kv_a_norm: L("", KVL), kv_b: L("", KVB * KVL), wo: L("", D * WOIN),
48
- ffn_gate: L("", FF * D), ffn_up: L("", FF * D), ffn_down: L("", D * FF),
49
- };
50
- for (let il = 0; il < NL; il++) { w.attn_norm[il] = w.attn_norm[il].map((x) => Math.abs(x) + 0.5); w.ffn_norm[il] = w.ffn_norm[il].map((x) => Math.abs(x) + 0.5); w.kv_a_norm[il] = w.kv_a_norm[il].map((x) => Math.abs(x) + 0.5); w.q_a_norm[il] = w.q_a_norm[il].map((x) => Math.abs(x) + 0.5); }
51
- const QL = lite ? 0 : 8;
52
- const meta = {
53
- "general.architecture": "deepseek2", "deepseek2.block_count": NL, "deepseek2.embedding_length": D,
54
- "deepseek2.attention.head_count": NH, "deepseek2.attention.key_length": HK, "deepseek2.attention.value_length": HV,
55
- "deepseek2.rope.dimension_count": ROPE, "deepseek2.attention.kv_lora_rank": KVL, "deepseek2.attention.q_lora_rank": QL,
56
- "deepseek2.leading_dense_block_count": NL, "deepseek2.expert_count": 0,
57
- "deepseek2.rope.freq_base": FREQ, "deepseek2.attention.layer_norm_rms_epsilon": EPS,
58
- };
59
- const T = [["token_embd.weight", [D, VOCAB], w.tok_embd], ["output_norm.weight", [D], w.output_norm], ["output.weight", [D, VOCAB], w.output]];
60
- for (let il = 0; il < NL; il++) {
61
- const p = `blk.${il}.`;
62
- T.push([p + "attn_norm.weight", [D], w.attn_norm[il]]);
63
- if (lite) T.push([p + "attn_q.weight", [D, QD], w.q[il]]);
64
- else T.push([p + "attn_q_a.weight", [D, 8], w.q_a[il]], [p + "attn_q_a_norm.weight", [8], w.q_a_norm[il]], [p + "attn_q_b.weight", [8, QD], w.q_b[il]]);
65
- T.push([p + "attn_kv_a_mqa.weight", [D, KVL + ROPE], w.kv_a_mqa[il]], [p + "attn_kv_a_norm.weight", [KVL], w.kv_a_norm[il]],
66
- [p + "attn_kv_b.weight", [KVL, KVB], w.kv_b[il]], [p + "attn_output.weight", [WOIN, D], w.wo[il]], [p + "ffn_norm.weight", [D], w.ffn_norm[il]],
67
- [p + "ffn_gate.weight", [D, FF], w.ffn_gate[il]], [p + "ffn_up.weight", [D, FF], w.ffn_up[il]], [p + "ffn_down.weight", [FF, D], w.ffn_down[il]]);
68
- }
69
- return { w, lite, QL, gguf: buildGguf(meta, T.map(([name, dims, arr]) => ({ name, type: GGML.F32, dims, bytes: f32bytes(arr) }))) };
70
- }
71
-
72
- // ── f64 reference ──
73
- const mv = (W, x, K, N) => { const y = new Float64Array(N); for (let n = 0; n < N; n++) { let s = 0; for (let k = 0; k < K; k++) s += W[n * K + k] * x[k]; y[n] = s; } return y; };
74
- const rms = (x, wt) => { let s = 0; for (const v of x) s += v * v; const sc = 1 / Math.sqrt(s / x.length + EPS); return x.map((v, i) => v * sc * wt[i]); };
75
- const silu = (v) => v / (1 + Math.exp(-v));
76
- // deepseek2 uses NORM rope (consecutive pairs 2k,2k+1), not NEOX.
77
- function ropeNeoxRef(vec, pos, headDim) { const half = headDim / 2, nH = vec.length / headDim, out = Float64Array.from(vec); for (let h = 0; h < nH; h++) for (let k = 0; k < half; k++) { const th = pos * Math.pow(FREQ, -2 * k / headDim); const c = Math.cos(th), sn = Math.sin(th), o = h * headDim, x0 = vec[o + 2 * k], x1 = vec[o + 2 * k + 1]; out[o + 2 * k] = x0 * c - x1 * sn; out[o + 2 * k + 1] = x0 * sn + x1 * c; } return out; }
78
- function softmax(a, scale) { const z = a.map((v) => v * scale); const mx = Math.max(...z); let s = 0; const e = z.map((v) => { const x = Math.exp(v - mx); s += x; return x; }); return e.map((x) => x / s); }
79
-
80
- function refLogits(model, ids) {
81
- const { w, lite } = model, T = ids.length;
82
- const Kc = Array.from({ length: NL }, () => []), Vc = Array.from({ length: NL }, () => []);
83
- const kqScale = 1 / Math.sqrt(HK);
84
- let last = null;
85
- for (let t0 = 0; t0 < T; t0++) {
86
- let h = Float64Array.from(w.tok_embd.subarray(ids[t0] * D, ids[t0] * D + D));
87
- for (let il = 0; il < NL; il++) {
88
- const an = rms(h, w.attn_norm[il]);
89
- let q;
90
- if (lite) q = mv(w.q[il], an, D, QD);
91
- else { const qa = rms(mv(w.q_a[il], an, D, 8), w.q_a_norm[il]); q = mv(w.q_b[il], qa, 8, QD); }
92
- const kvc = mv(w.kv_a_mqa[il], an, D, KVL + ROPE);
93
- const kvCmpr = rms(kvc.slice(0, KVL), w.kv_a_norm[il]);
94
- const qPe = new Float64Array(NH * ROPE); for (let hh = 0; hh < NH; hh++) for (let d = 0; d < ROPE; d++) qPe[hh * ROPE + d] = q[hh * HK + NOPE + d];
95
- const qPeR = ropeNeoxRef(qPe, t0, ROPE), kPeR = ropeNeoxRef(kvc.slice(KVL, KVL + ROPE), t0, ROPE);
96
- const kv = mv(w.kv_b[il], kvCmpr, KVL, KVB), step = NOPE + HV;
97
- const Q = new Float64Array(NH * HK), K = new Float64Array(NH * HK), V = new Float64Array(NH * HV);
98
- for (let hh = 0; hh < NH; hh++) { for (let d = 0; d < NOPE; d++) { Q[hh * HK + d] = q[hh * HK + d]; K[hh * HK + d] = kv[hh * step + d]; } for (let d = 0; d < ROPE; d++) { Q[hh * HK + NOPE + d] = qPeR[hh * ROPE + d]; K[hh * HK + NOPE + d] = kPeR[d]; } for (let d = 0; d < HV; d++) V[hh * HV + d] = kv[hh * step + NOPE + d]; }
99
- Kc[il].push(K); Vc[il].push(V);
100
- const ctx = new Float64Array(NH * HV);
101
- for (let hh = 0; hh < NH; hh++) {
102
- const sc = new Float64Array(t0 + 1);
103
- for (let tp = 0; tp <= t0; tp++) { let s = 0; for (let d = 0; d < HK; d++) s += Q[hh * HK + d] * Kc[il][tp][hh * HK + d]; sc[tp] = s; }
104
- const pr = softmax(sc, kqScale);
105
- for (let d = 0; d < HV; d++) { let acc = 0; for (let tp = 0; tp <= t0; tp++) acc += pr[tp] * Vc[il][tp][hh * HV + d]; ctx[hh * HV + d] = acc; }
106
- }
107
- const ao = mv(w.wo[il], ctx, WOIN, D);
108
- const h2 = h.map((v, i) => v + ao[i]);
109
- const fn = rms(h2, w.ffn_norm[il]);
110
- const g = mv(w.ffn_gate[il], fn, D, FF), u = mv(w.ffn_up[il], fn, D, FF);
111
- const act = g.map((v, i) => silu(v) * u[i]);
112
- const down = mv(w.ffn_down[il], act, FF, D);
113
- h = h2.map((v, i) => v + down[i]);
114
- }
115
- last = h;
116
- }
117
- const rn = rms(last, w.output_norm);
118
- return mv(w.output, rn, D, VOCAB);
119
- }
120
-
121
- function runExec(model, ids) {
122
- const f = forgeGguf(model.gguf), g = synthesizeGraph(f.plan);
123
- return { g, logits: forward(f.plan, g, { get: (hex) => f.blocks.get(hex) }, ids) };
124
- }
125
- const close = (a, b, tol = 2e-3) => { let m = 0; for (let i = 0; i < a.length; i++) m = Math.max(m, Math.abs(a[i] - b[i])); return m <= tol ? null : `maxabs ${m.toExponential(2)}`; };
126
- const argmax = (a) => { let m = 0; for (let i = 1; i < a.length; i++) if (a[i] > a[m]) m = i; return m; };
127
-
128
- for (const lite of [true, false]) {
129
- t(`MLA forward (${lite ? "lite wq" : "LoRA q_a→q_b"}) matches independent f64 reference`, () => {
130
- const model = makeModel(11, lite);
131
- const ids = [1, 4, 2];
132
- const { g, logits } = runExec(model, ids);
133
- assert.strictEqual(g.family, "mla-moe", `got ${g.family}`);
134
- assert.strictEqual(g.stats.lite, lite);
135
- assert.ok(g.ops.some((o) => o.op === "mla_attn"), "graph emits mla_attn");
136
- const ref = refLogits(model, ids);
137
- const bad = close(logits, ref);
138
- assert.ok(!bad, `logits diverge from f64 ref: ${bad}`);
139
- assert.strictEqual(argmax(logits), argmax(ref), "greedy argmax matches reference");
140
- });
141
- }
142
-
143
- t("unsupported rope scaling is gated (loud refuse, not mis-rotated)", () => {
144
- const model = makeModel(11, true);
145
- const f = forgeGguf(model.gguf);
146
- f.plan.meta["deepseek2.rope.scaling.type"] = "longrope"; // not implemented → must refuse
147
- const g = synthesizeGraph(f.plan);
148
- assert.throws(() => forward(f.plan, g, { get: (hex) => f.blocks.get(hex) }, [1, 2]), /not supported/);
149
- });
150
-
151
- t("YaRN rope runs (finite logits) and changes the result vs plain NEOX", () => {
152
- const model = makeModel(11, true), ids = [1, 4, 2];
153
- const base = runExec(model, ids).logits;
154
- const f = forgeGguf(model.gguf);
155
- Object.assign(f.plan.meta, {
156
- "deepseek2.rope.scaling.type": "yarn", "deepseek2.rope.scaling.factor": 40,
157
- "deepseek2.rope.scaling.original_context_length": 4096, "deepseek2.rope.scaling.yarn_log_multiplier": 0.0707,
158
- });
159
- const yl = forward(f.plan, synthesizeGraph(f.plan), { get: (hex) => f.blocks.get(hex) }, ids);
160
- assert.ok(yl.every(Number.isFinite), "yarn logits finite");
161
- let diff = 0; for (let i = 0; i < yl.length; i++) diff = Math.max(diff, Math.abs(yl[i] - base[i]));
162
- assert.ok(diff > 1e-4, "yarn changes the result vs plain NEOX");
163
- });
164
-
165
- t("MLA executor is deterministic", () => {
166
- const model = makeModel(5, true), ids = [3, 1, 0, 2];
167
- const a = runExec(model, ids).logits, b = runExec(model, ids).logits;
168
- for (let i = 0; i < a.length; i++) assert.strictEqual(a[i], b[i], `logit ${i}`);
169
- });
170
-
171
- console.log(`\n${pass} passed, ${fail} failed`);
172
- process.exit(fail ? 1 : 0);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1175bbde8a691caabe61e0b0d3ec0a090a7911b1cce4db676f7ecd174fb91b4c
3
+ size 11884
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/380c4b4dee31aa4cc9e3c34a7b5127f2819eddb2d9f2ff03b6b7767b9c7e9819 CHANGED
@@ -1 +1,3 @@
1
- var Qe=Object.defineProperty;var eo=(e,r)=>{for(var o in r)Qe(e,o,{get:r[o],enumerable:!0})};function xe(e){var r,o,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(r=0;r<s;r++)e[r]&&(o=xe(e[r]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Z(){for(var e,r,o=0,t="",s=arguments.length;o<s;o++)(e=arguments[o])&&(r=xe(e))&&(t&&(t+=" "),t+=r);return t}var ke=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ve=Z,we=(e,r)=>o=>{var t;if(r?.variants==null)return ve(e,o?.class,o?.className);let{variants:s,defaultVariants:l}=r,n=Object.keys(s).map(d=>{let b=o?.[d],g=l?.[d];if(b===null)return null;let y=ke(b)||ke(g);return s[d][y]}),p=o&&Object.entries(o).reduce((d,b)=>{let[g,y]=b;return y===void 0||(d[g]=y),d},{}),f=r==null||(t=r.compoundVariants)===null||t===void 0?void 0:t.reduce((d,b)=>{let{class:g,className:y,...k}=b;return Object.entries(k).every(P=>{let[w,C]=P;return Array.isArray(C)?C.includes({...l,...p}[w]):{...l,...p}[w]===C})?[...d,g,y]:d},[]);return ve(e,n,f,o?.class,o?.className)};var K={};eo(K,{Root:()=>ro,Slot:()=>ro,Slottable:()=>to,createSlot:()=>Ae,createSlottable:()=>Ge});import*as v from"react";import*as Se from"react";function Ce(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function oo(...e){return r=>{let o=!1,t=e.map(s=>{let l=Ce(s,r);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let s=0;s<t.length;s++){let l=t[s];typeof l=="function"?l():Ce(e[s],null)}}}}function ze(...e){return Se.useCallback(oo(...e),e)}function Ae(e){let r=v.forwardRef((o,t)=>{let{children:s,...l}=o,n=null,p=!1,f=[];Re(s)&&typeof J=="function"&&(s=J(s._payload)),v.Children.forEach(s,y=>{if(ao(y)){p=!0;let k=y,P="child"in k.props?k.props.child:k.props.children;Re(P)&&typeof J=="function"&&(P=J(P._payload)),n=so(k,P),f.push(n?.props?.children)}else f.push(y)}),n?n=v.cloneElement(n,void 0,f):!p&&v.Children.count(s)===1&&v.isValidElement(s)&&(n=s);let d=n?io(n):void 0,b=ze(t,d);if(!n){if(s||s===0)throw new Error(p?po(e):mo(e));return s}let g=no(l,n.props??{});return n.type!==v.Fragment&&(g.ref=t?b:d),v.cloneElement(n,g)});return r.displayName=`${e}.Slot`,r}var ro=Ae("Slot"),Pe=Symbol.for("radix.slottable");function Ge(e){let r=o=>"child"in o?o.children(o.child):o.children;return r.displayName=`${e}.Slottable`,r.__radixId=Pe,r}var to=Ge("Slottable"),so=(e,r)=>{if("child"in e.props){let o=e.props.child;return v.isValidElement(o)?v.cloneElement(o,void 0,e.props.children(o.props.children)):null}return v.isValidElement(r)?r:null};function no(e,r){let o={...r};for(let t in r){let s=e[t],l=r[t];/^on[A-Z]/.test(t)?s&&l?o[t]=(...p)=>{let f=l(...p);return s(...p),f}:s&&(o[t]=s):t==="style"?o[t]={...s,...l}:t==="className"&&(o[t]=[s,l].filter(Boolean).join(" "))}return{...e,...o}}function io(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}function ao(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Pe}var lo=Symbol.for("react.lazy");function Re(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===lo&&"_payload"in e&&co(e._payload)}function co(e){return typeof e=="object"&&e!==null&&"then"in e}var mo=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,po=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,J=v[" use ".trim().toString()];var uo=(e,r)=>{let o=new Array(e.length+r.length);for(let t=0;t<e.length;t++)o[t]=e[t];for(let t=0;t<r.length;t++)o[e.length+t]=r[t];return o},fo=(e,r)=>({classGroupId:e,validator:r}),Ne=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),oe="-",Me=[],bo="arbitrary..",go=e=>{let r=yo(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return ho(n);let p=n.split(oe),f=p[0]===""&&p.length>1?1:0;return _e(p,f,r)},getConflictingClassGroupIds:(n,p)=>{if(p){let f=t[n],d=o[n];return f?d?uo(d,f):f:d||Me}return o[n]||Me}}},_e=(e,r,o)=>{if(e.length-r===0)return o.classGroupId;let s=e[r],l=o.nextPart.get(s);if(l){let d=_e(e,r+1,l);if(d)return d}let n=o.validators;if(n===null)return;let p=r===0?e.join(oe):e.slice(r).join(oe),f=n.length;for(let d=0;d<f;d++){let b=n[d];if(b.validator(p))return b.classGroupId}},ho=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let r=e.slice(1,-1),o=r.indexOf(":"),t=r.slice(0,o);return t?bo+t:void 0})(),yo=e=>{let{theme:r,classGroups:o}=e;return xo(o,r)},xo=(e,r)=>{let o=Ne();for(let t in e){let s=e[t];ce(s,o,t,r)}return o},ce=(e,r,o,t)=>{let s=e.length;for(let l=0;l<s;l++){let n=e[l];ko(n,r,o,t)}},ko=(e,r,o,t)=>{if(typeof e=="string"){vo(e,r,o);return}if(typeof e=="function"){wo(e,r,o,t);return}Co(e,r,o,t)},vo=(e,r,o)=>{let t=e===""?r:Oe(r,e);t.classGroupId=o},wo=(e,r,o,t)=>{if(So(e)){ce(e(t),r,o,t);return}r.validators===null&&(r.validators=[]),r.validators.push(fo(o,e))},Co=(e,r,o,t)=>{let s=Object.entries(e),l=s.length;for(let n=0;n<l;n++){let[p,f]=s[n];ce(f,Oe(r,p),o,t)}},Oe=(e,r)=>{let o=e,t=r.split(oe),s=t.length;for(let l=0;l<s;l++){let n=t[l],p=o.nextPart.get(n);p||(p=Ne(),o.nextPart.set(n,p)),o=p}return o},So=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,zo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,o=Object.create(null),t=Object.create(null),s=(l,n)=>{o[l]=n,r++,r>e&&(r=0,t=o,o=Object.create(null))};return{get(l){let n=o[l];if(n!==void 0)return n;if((n=t[l])!==void 0)return s(l,n),n},set(l,n){l in o?o[l]=n:s(l,n)}}},le="!",Ie=":",Ro=[],Te=(e,r,o,t,s)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:s}),Ao=e=>{let{prefix:r,experimentalParseClassName:o}=e,t=s=>{let l=[],n=0,p=0,f=0,d,b=s.length;for(let w=0;w<b;w++){let C=s[w];if(n===0&&p===0){if(C===Ie){l.push(s.slice(f,w)),f=w+1;continue}if(C==="/"){d=w;continue}}C==="["?n++:C==="]"?n--:C==="("?p++:C===")"&&p--}let g=l.length===0?s:s.slice(f),y=g,k=!1;g.endsWith(le)?(y=g.slice(0,-1),k=!0):g.startsWith(le)&&(y=g.slice(1),k=!0);let P=d&&d>f?d-f:void 0;return Te(l,k,y,P)};if(r){let s=r+Ie,l=t;t=n=>n.startsWith(s)?l(n.slice(s.length)):Te(Ro,!1,n,void 0,!0)}if(o){let s=t;t=l=>o({className:l,parseClassName:s})}return t},Po=e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((o,t)=>{r.set(o,1e6+t)}),o=>{let t=[],s=[];for(let l=0;l<o.length;l++){let n=o[l],p=n[0]==="[",f=r.has(n);p||f?(s.length>0&&(s.sort(),t.push(...s),s=[]),t.push(n)):s.push(n)}return s.length>0&&(s.sort(),t.push(...s)),t}},Go=e=>({cache:zo(e.cacheSize),parseClassName:Ao(e),sortModifiers:Po(e),postfixLookupClassGroupIds:Mo(e),...go(e)}),Mo=e=>{let r=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let t=0;t<o.length;t++)r[o[t]]=!0;return r},Io=/\s+/,To=(e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:n}=r,p=[],f=e.trim().split(Io),d="";for(let b=f.length-1;b>=0;b-=1){let g=f[b],{isExternal:y,modifiers:k,hasImportantModifier:P,baseClassName:w,maybePostfixModifierPosition:C}=o(g);if(y){d=g+(d.length>0?" "+d:d);continue}let L=!!C,R;if(L){let I=w.substring(0,C);R=t(I);let c=R&&n[R]?t(w):void 0;c&&c!==R&&(R=c,L=!1)}else R=t(w);if(!R){if(!L){d=g+(d.length>0?" "+d:d);continue}if(R=t(w),!R){d=g+(d.length>0?" "+d:d);continue}L=!1}let $=k.length===0?"":k.length===1?k[0]:l(k).join(":"),W=P?$+le:$,j=W+R;if(p.indexOf(j)>-1)continue;p.push(j);let F=s(R,L);for(let I=0;I<F.length;++I){let c=F[I];p.push(W+c)}d=g+(d.length>0?" "+d:d)}return d},Eo=(...e)=>{let r=0,o,t,s="";for(;r<e.length;)(o=e[r++])&&(t=We(o))&&(s&&(s+=" "),s+=t);return s},We=e=>{if(typeof e=="string")return e;let r,o="";for(let t=0;t<e.length;t++)e[t]&&(r=We(e[t]))&&(o&&(o+=" "),o+=r);return o},Vo=(e,...r)=>{let o,t,s,l,n=f=>{let d=r.reduce((b,g)=>g(b),e());return o=Go(d),t=o.cache.get,s=o.cache.set,l=p,p(f)},p=f=>{let d=t(f);if(d)return d;let b=To(f,o);return s(f,b),b};return l=n,(...f)=>l(Eo(...f))},Lo=[],h=e=>{let r=o=>o[e]||Lo;return r.isThemeGetter=!0,r},je=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Fe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,No=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_o=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Oo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Fo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>No.test(e),u=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith("%")&&u(e.slice(0,-1)),T=e=>_o.test(e),Be=()=>!0,Bo=e=>Oo.test(e)&&!Wo.test(e),de=()=>!1,$o=e=>jo.test(e),Do=e=>Fo.test(e),Uo=e=>!i(e)&&!a(e),Yo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Ho=e=>V(e,Ue,de),i=e=>je.test(e),_=e=>V(e,Ye,Bo),Ee=e=>V(e,or,u),qo=e=>V(e,qe,Be),Xo=e=>V(e,He,de),Ve=e=>V(e,$e,de),Zo=e=>V(e,De,Do),Q=e=>V(e,Xe,$o),a=e=>Fe.test(e),D=e=>O(e,Ye),Jo=e=>O(e,He),Le=e=>O(e,$e),Ko=e=>O(e,Ue),Qo=e=>O(e,De),ee=e=>O(e,Xe,!0),er=e=>O(e,qe,!0),V=(e,r,o)=>{let t=je.exec(e);return t?t[1]?r(t[1]):o(t[2]):!1},O=(e,r,o=!1)=>{let t=Fe.exec(e);return t?t[1]?r(t[1]):o:!1},$e=e=>e==="position"||e==="percentage",De=e=>e==="image"||e==="url",Ue=e=>e==="length"||e==="size"||e==="bg-size",Ye=e=>e==="length",or=e=>e==="number",He=e=>e==="family-name",qe=e=>e==="number"||e==="weight",Xe=e=>e==="shadow";var rr=()=>{let e=h("color"),r=h("font"),o=h("text"),t=h("font-weight"),s=h("tracking"),l=h("leading"),n=h("breakpoint"),p=h("container"),f=h("spacing"),d=h("radius"),b=h("shadow"),g=h("inset-shadow"),y=h("text-shadow"),k=h("drop-shadow"),P=h("blur"),w=h("perspective"),C=h("aspect"),L=h("ease"),R=h("animate"),$=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],j=()=>[...W(),a,i],F=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],c=()=>[a,i,f],A=()=>[E,"full","auto",...c()],me=()=>[M,"none","subgrid",a,i],pe=()=>["auto",{span:["full",M,a,i]},M,a,i],U=()=>[M,"auto",a,i],ue=()=>["auto","min","max","fr",a,i],re=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...c()],N=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...c()],te=()=>[E,"screen","full","dvw","lvw","svw","min","max","fit",...c()],se=()=>[E,"screen","full","lh","dvh","lvh","svh","min","max","fit",...c()],m=()=>[e,a,i],fe=()=>[...W(),Le,Ve,{position:[a,i]}],be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ge=()=>["auto","cover","contain",Ko,Ho,{size:[a,i]}],ne=()=>[ae,D,_],S=()=>["","none","full",d,a,i],z=()=>["",u,D,_],Y=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],x=()=>[u,ae,Le,Ve],ye=()=>["","none",P,a,i],H=()=>["none",u,a,i],q=()=>["none",u,a,i],ie=()=>[u,a,i],X=()=>[E,"full",...c()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[Be],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[Uo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[T],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[T],shadow:[T],spacing:["px",u],text:[T],"text-shadow":[T],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,i,a,C]}],container:["container"],"container-type":[{"@container":["","normal","size",a,i]}],"container-named":[Yo],columns:[{columns:[u,i,a,p]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:j()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",a,i]}],basis:[{basis:[E,"full","auto",p,...c()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[u,E,"auto","initial","none",i]}],grow:[{grow:["",u,a,i]}],shrink:[{shrink:["",u,a,i]}],order:[{order:[M,"first","last","none",a,i]}],"grid-cols":[{"grid-cols":me()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":me()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ue()}],"auto-rows":[{"auto-rows":ue()}],gap:[{gap:c()}],"gap-x":[{"gap-x":c()}],"gap-y":[{"gap-y":c()}],"justify-content":[{justify:[...re(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...re()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:c()}],px:[{px:c()}],py:[{py:c()}],ps:[{ps:c()}],pe:[{pe:c()}],pbs:[{pbs:c()}],pbe:[{pbe:c()}],pt:[{pt:c()}],pr:[{pr:c()}],pb:[{pb:c()}],pl:[{pl:c()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":c()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":c()}],"space-y-reverse":["space-y-reverse"],size:[{size:N()}],"inline-size":[{inline:["auto",...te()]}],"min-inline-size":[{"min-inline":["auto",...te()]}],"max-inline-size":[{"max-inline":["none",...te()]}],"block-size":[{block:["auto",...se()]}],"min-block-size":[{"min-block":["auto",...se()]}],"max-block-size":[{"max-block":["none",...se()]}],w:[{w:[p,"screen",...N()]}],"min-w":[{"min-w":[p,"screen","none",...N()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[n]},...N()]}],h:[{h:["screen","lh",...N()]}],"min-h":[{"min-h":["screen","lh","none",...N()]}],"max-h":[{"max-h":["screen","lh",...N()]}],"font-size":[{text:["base",o,D,_]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,er,qo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ae,i]}],"font-family":[{font:[Jo,Xo,r]}],"font-features":[{"font-features":[i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,a,i]}],"line-clamp":[{"line-clamp":[u,"none",a,Ee]}],leading:[{leading:[l,...c()]}],"list-image":[{"list-image":["none",a,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",a,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:m()}],"text-color":[{text:m()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[u,"from-font","auto",a,_]}],"text-decoration-color":[{decoration:m()}],"underline-offset":[{"underline-offset":[u,"auto",a,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:c()}],"tab-size":[{tab:[M,a,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",a,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",a,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:fe()}],"bg-repeat":[{bg:be()}],"bg-size":[{bg:ge()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,a,i],radial:["",a,i],conic:[M,a,i]},Qo,Zo]}],"bg-color":[{bg:m()}],"gradient-from-pos":[{from:ne()}],"gradient-via-pos":[{via:ne()}],"gradient-to-pos":[{to:ne()}],"gradient-from":[{from:m()}],"gradient-via":[{via:m()}],"gradient-to":[{to:m()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-bs":[{"border-bs":z()}],"border-w-be":[{"border-be":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:m()}],"border-color-x":[{"border-x":m()}],"border-color-y":[{"border-y":m()}],"border-color-s":[{"border-s":m()}],"border-color-e":[{"border-e":m()}],"border-color-bs":[{"border-bs":m()}],"border-color-be":[{"border-be":m()}],"border-color-t":[{"border-t":m()}],"border-color-r":[{"border-r":m()}],"border-color-b":[{"border-b":m()}],"border-color-l":[{"border-l":m()}],"divide-color":[{divide:m()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[u,a,i]}],"outline-w":[{outline:["",u,D,_]}],"outline-color":[{outline:m()}],shadow:[{shadow:["","none",b,ee,Q]}],"shadow-color":[{shadow:m()}],"inset-shadow":[{"inset-shadow":["none",g,ee,Q]}],"inset-shadow-color":[{"inset-shadow":m()}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:m()}],"ring-offset-w":[{"ring-offset":[u,_]}],"ring-offset-color":[{"ring-offset":m()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":m()}],"text-shadow":[{"text-shadow":["none",y,ee,Q]}],"text-shadow-color":[{"text-shadow":m()}],opacity:[{opacity:[u,a,i]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[u]}],"mask-image-linear-from-pos":[{"mask-linear-from":x()}],"mask-image-linear-to-pos":[{"mask-linear-to":x()}],"mask-image-linear-from-color":[{"mask-linear-from":m()}],"mask-image-linear-to-color":[{"mask-linear-to":m()}],"mask-image-t-from-pos":[{"mask-t-from":x()}],"mask-image-t-to-pos":[{"mask-t-to":x()}],"mask-image-t-from-color":[{"mask-t-from":m()}],"mask-image-t-to-color":[{"mask-t-to":m()}],"mask-image-r-from-pos":[{"mask-r-from":x()}],"mask-image-r-to-pos":[{"mask-r-to":x()}],"mask-image-r-from-color":[{"mask-r-from":m()}],"mask-image-r-to-color":[{"mask-r-to":m()}],"mask-image-b-from-pos":[{"mask-b-from":x()}],"mask-image-b-to-pos":[{"mask-b-to":x()}],"mask-image-b-from-color":[{"mask-b-from":m()}],"mask-image-b-to-color":[{"mask-b-to":m()}],"mask-image-l-from-pos":[{"mask-l-from":x()}],"mask-image-l-to-pos":[{"mask-l-to":x()}],"mask-image-l-from-color":[{"mask-l-from":m()}],"mask-image-l-to-color":[{"mask-l-to":m()}],"mask-image-x-from-pos":[{"mask-x-from":x()}],"mask-image-x-to-pos":[{"mask-x-to":x()}],"mask-image-x-from-color":[{"mask-x-from":m()}],"mask-image-x-to-color":[{"mask-x-to":m()}],"mask-image-y-from-pos":[{"mask-y-from":x()}],"mask-image-y-to-pos":[{"mask-y-to":x()}],"mask-image-y-from-color":[{"mask-y-from":m()}],"mask-image-y-to-color":[{"mask-y-to":m()}],"mask-image-radial":[{"mask-radial":[a,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":x()}],"mask-image-radial-to-pos":[{"mask-radial-to":x()}],"mask-image-radial-from-color":[{"mask-radial-from":m()}],"mask-image-radial-to-color":[{"mask-radial-to":m()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":W()}],"mask-image-conic-pos":[{"mask-conic":[u]}],"mask-image-conic-from-pos":[{"mask-conic-from":x()}],"mask-image-conic-to-pos":[{"mask-conic-to":x()}],"mask-image-conic-from-color":[{"mask-conic-from":m()}],"mask-image-conic-to-color":[{"mask-conic-to":m()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:fe()}],"mask-repeat":[{mask:be()}],"mask-size":[{mask:ge()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",a,i]}],filter:[{filter:["","none",a,i]}],blur:[{blur:ye()}],brightness:[{brightness:[u,a,i]}],contrast:[{contrast:[u,a,i]}],"drop-shadow":[{"drop-shadow":["","none",k,ee,Q]}],"drop-shadow-color":[{"drop-shadow":m()}],grayscale:[{grayscale:["",u,a,i]}],"hue-rotate":[{"hue-rotate":[u,a,i]}],invert:[{invert:["",u,a,i]}],saturate:[{saturate:[u,a,i]}],sepia:[{sepia:["",u,a,i]}],"backdrop-filter":[{"backdrop-filter":["","none",a,i]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[u,a,i]}],"backdrop-contrast":[{"backdrop-contrast":[u,a,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",u,a,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u,a,i]}],"backdrop-invert":[{"backdrop-invert":["",u,a,i]}],"backdrop-opacity":[{"backdrop-opacity":[u,a,i]}],"backdrop-saturate":[{"backdrop-saturate":[u,a,i]}],"backdrop-sepia":[{"backdrop-sepia":["",u,a,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":c()}],"border-spacing-x":[{"border-spacing-x":c()}],"border-spacing-y":[{"border-spacing-y":c()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",a,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[u,"initial",a,i]}],ease:[{ease:["linear","initial",L,a,i]}],delay:[{delay:[u,a,i]}],animate:[{animate:["none",R,a,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,a,i]}],"perspective-origin":[{"perspective-origin":j()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:q()}],"scale-x":[{"scale-x":q()}],"scale-y":[{"scale-y":q()}],"scale-z":[{"scale-z":q()}],"scale-3d":["scale-3d"],skew:[{skew:ie()}],"skew-x":[{"skew-x":ie()}],"skew-y":[{"skew-y":ie()}],transform:[{transform:[a,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:j()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[M,a,i]}],accent:[{accent:m()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:m()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",a,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":m()}],"scrollbar-track-color":[{"scrollbar-track":m()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":c()}],"scroll-mx":[{"scroll-mx":c()}],"scroll-my":[{"scroll-my":c()}],"scroll-ms":[{"scroll-ms":c()}],"scroll-me":[{"scroll-me":c()}],"scroll-mbs":[{"scroll-mbs":c()}],"scroll-mbe":[{"scroll-mbe":c()}],"scroll-mt":[{"scroll-mt":c()}],"scroll-mr":[{"scroll-mr":c()}],"scroll-mb":[{"scroll-mb":c()}],"scroll-ml":[{"scroll-ml":c()}],"scroll-p":[{"scroll-p":c()}],"scroll-px":[{"scroll-px":c()}],"scroll-py":[{"scroll-py":c()}],"scroll-ps":[{"scroll-ps":c()}],"scroll-pe":[{"scroll-pe":c()}],"scroll-pbs":[{"scroll-pbs":c()}],"scroll-pbe":[{"scroll-pbe":c()}],"scroll-pt":[{"scroll-pt":c()}],"scroll-pr":[{"scroll-pr":c()}],"scroll-pb":[{"scroll-pb":c()}],"scroll-pl":[{"scroll-pl":c()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",a,i]}],fill:[{fill:["none",...m()]}],"stroke-w":[{stroke:[u,D,_,Ee]}],stroke:[{stroke:["none",...m()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Ze=Vo(rr);function Je(...e){return Ze(Z(e))}import{jsx as sr}from"react/jsx-runtime";var tr=we("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function Ke({className:e,variant:r="default",asChild:o=!1,...t}){let s=o?K.Root:"span";return sr(s,{"data-slot":"badge","data-variant":r,className:Je(tr({variant:r}),e),...t})}import{jsx as ir}from"react/jsx-runtime";function nr(){return ir(Ke,{variant:"outline",children:"Outline"})}export{nr as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1cd52c372041dc9ebf8c7e0c8676fe4308e650a33b5b315a768ef3fea84c0895
3
+ size 32083
b/382d8e143aaf451cc583a8f797ee410c29772e2ef8911bcca6c1c482d37cdcf1 CHANGED
@@ -1,45 +1,3 @@
1
- #!/usr/bin/env node
2
- // gguf-forge-qwen35-parity.test.mjs — NUMERICAL parity (S4.7) of the qwen35 gated-DeltaNet linear layer
3
- // (gguf-forge-qwen35.mjs) vs HuggingFace's reference Qwen3NextGatedDeltaNet, on identical weights + input.
4
- // The fixture (gguf-forge-qwen35-parity.fixture.json) was generated by gguf-forge-qwen35-parity.gen.py:
5
- // a tiny-config HF layer (torch reference path, no FLA) → its weights mapped to the GGUF/forge layout
6
- // (in_proj_qkvz → contiguous attn_qkv + attn_gate, in_proj_ba → ssm_alpha/ssm_beta, conv1d, A_log, dt_bias,
7
- // norm, out_proj) + a fixed input + the reference output. This is the gate that turns "plausible" into
8
- // "correct": it caught a real bug (missing qk-L2-norm + q·1/√d scale) which is now fixed.
9
- //
10
- // Pass: every token cosine > 0.9999 AND max relative-L2 < 1e-3 (observed ~1e-6 — float rounding).
11
- // Regenerate the fixture: python holo-apps/apps/q/forge/gguf-forge-qwen35-parity.gen.py
12
- //
13
- // Usage: node holo-apps/apps/q/forge/gguf-forge-qwen35-parity.test.mjs
14
-
15
- import { readFileSync, writeFileSync } from "node:fs";
16
- import { fileURLToPath } from "node:url";
17
- import { dirname, join } from "node:path";
18
- import { qwen35LinearLayer, newLayerState } from "./gguf-forge-qwen35.mjs";
19
-
20
- const here = dirname(fileURLToPath(import.meta.url));
21
- const ref = JSON.parse(readFileSync(join(here, "gguf-forge-qwen35-parity.fixture.json"), "utf8"));
22
- const F = (a) => Float32Array.from(a);
23
- const D = ref.dims, W = Object.fromEntries(Object.entries(ref.W).map(([k, v]) => [k, F(v)]));
24
- const xSeq = ref.x.map(F), yRef = ref.y.map(F);
25
-
26
- const r = qwen35LinearLayer(W, D, xSeq, newLayerState(D), { inputNormed: true });
27
-
28
- const cos = (a, b) => { let d = 0, na = 0, nb = 0; for (let i = 0; i < a.length; i++) { d += a[i] * b[i]; na += a[i] * a[i]; nb += b[i] * b[i]; } return d / (Math.sqrt(na) * Math.sqrt(nb) + 1e-30); };
29
- const relL2 = (a, b) => { let e = 0, n = 0; for (let i = 0; i < a.length; i++) { e += (a[i] - b[i]) ** 2; n += b[i] * b[i]; } return Math.sqrt(e / (n + 1e-30)); };
30
-
31
- let minCos = 1, maxRel = 0;
32
- const per = [];
33
- for (let t = 0; t < yRef.length; t++) { const c = cos(r.ySeq[t], yRef[t]), e = relL2(r.ySeq[t], yRef[t]); minCos = Math.min(minCos, c); maxRel = Math.max(maxRel, e); per.push({ t, cos: +c.toFixed(6), relL2: e }); }
34
-
35
- const witnessed = minCos > 0.9999 && maxRel < 1e-3;
36
- writeFileSync(join(here, "gguf-forge-qwen35-parity.test.result.json"), JSON.stringify({
37
- spec: "qwen35 gated-DeltaNet linear layer is NUMERICALLY EXACT vs HF Qwen3NextGatedDeltaNet (same weights+input): contiguous q|k|v split, causal depthwise conv1d+SiLU (no bias), head-group repeat_interleave expansion, per-head qk L2-norm + q·1/√d scale, decay g=-exp(A_log)·softplus(a+dt_bias), gated delta-rule recurrence, gated RMSNorm with z, out_proj. Caught+fixed a missing qk-L2-norm. min cosine and max relative-L2 across tokens recorded below.",
38
- authority: "HF transformers modeling_qwen3_next (torch reference path) · fixture via gguf-forge-qwen35-parity.gen.py",
39
- minCosine: minCos, maxRelL2: maxRel, perToken: per, witnessed,
40
- }, null, 2) + "\n");
41
-
42
- for (const p of per) console.log(` t=${p.t} cos=${p.cos.toFixed(6)} relL2=${p.relL2.toExponential(2)}`);
43
- console.log(`min cosine=${minCos.toFixed(6)} max relL2=${maxRel.toExponential(2)}`);
44
- console.log(`VERDICT : ${witnessed ? "WITNESSED ✓ qwen35 linear layer is numerically exact to HF (S4.7 layer parity)" : "NOT WITNESSED"}`);
45
- process.exit(witnessed ? 0 : 1);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8327f655e9c4d72149c3e82e7769fbabd93e6a74aba63c1af454039c676b919c
3
+ size 3464
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/388267a40a45646c22fac96ef450e051f03fdbe1fede857ddf236fff00e5b35a CHANGED
@@ -1 +1,3 @@
1
- /*! 🌼 daisyUI 5.5.22 - MIT License */ .focus\:bg-base-100:focus{&:focus{background-color:var(--color-base-100)}}.active\:bg-base-100:active{&:active{background-color:var(--color-base-100)}}.focus\:text-base-100:focus{&:focus{color:var(--color-base-100)}}.active\:text-base-100:active{&:active{color:var(--color-base-100)}}.focus\:border-base-100:focus{&:focus{border-color:var(--color-base-100)}}.active\:border-base-100:active{&:active{border-color:var(--color-base-100)}}.focus\:bg-base-200:focus{&:focus{background-color:var(--color-base-200)}}.active\:bg-base-200:active{&:active{background-color:var(--color-base-200)}}.focus\:text-base-200:focus{&:focus{color:var(--color-base-200)}}.active\:text-base-200:active{&:active{color:var(--color-base-200)}}.focus\:border-base-200:focus{&:focus{border-color:var(--color-base-200)}}.active\:border-base-200:active{&:active{border-color:var(--color-base-200)}}.focus\:bg-base-300:focus{&:focus{background-color:var(--color-base-300)}}.active\:bg-base-300:active{&:active{background-color:var(--color-base-300)}}.focus\:text-base-300:focus{&:focus{color:var(--color-base-300)}}.active\:text-base-300:active{&:active{color:var(--color-base-300)}}.focus\:border-base-300:focus{&:focus{border-color:var(--color-base-300)}}.active\:border-base-300:active{&:active{border-color:var(--color-base-300)}}.focus\:bg-base-content:focus{&:focus{background-color:var(--color-base-content)}}.active\:bg-base-content:active{&:active{background-color:var(--color-base-content)}}.focus\:text-base-content:focus{&:focus{color:var(--color-base-content)}}.active\:text-base-content:active{&:active{color:var(--color-base-content)}}.focus\:border-base-content:focus{&:focus{border-color:var(--color-base-content)}}.active\:border-base-content:active{&:active{border-color:var(--color-base-content)}}.focus\:bg-primary:focus{&:focus{background-color:var(--color-primary)}}.active\:bg-primary:active{&:active{background-color:var(--color-primary)}}.focus\:text-primary:focus{&:focus{color:var(--color-primary)}}.active\:text-primary:active{&:active{color:var(--color-primary)}}.focus\:border-primary:focus{&:focus{border-color:var(--color-primary)}}.active\:border-primary:active{&:active{border-color:var(--color-primary)}}.focus\:bg-primary-content:focus{&:focus{background-color:var(--color-primary-content)}}.active\:bg-primary-content:active{&:active{background-color:var(--color-primary-content)}}.focus\:text-primary-content:focus{&:focus{color:var(--color-primary-content)}}.active\:text-primary-content:active{&:active{color:var(--color-primary-content)}}.focus\:border-primary-content:focus{&:focus{border-color:var(--color-primary-content)}}.active\:border-primary-content:active{&:active{border-color:var(--color-primary-content)}}.focus\:bg-secondary:focus{&:focus{background-color:var(--color-secondary)}}.active\:bg-secondary:active{&:active{background-color:var(--color-secondary)}}.focus\:text-secondary:focus{&:focus{color:var(--color-secondary)}}.active\:text-secondary:active{&:active{color:var(--color-secondary)}}.focus\:border-secondary:focus{&:focus{border-color:var(--color-secondary)}}.active\:border-secondary:active{&:active{border-color:var(--color-secondary)}}.focus\:bg-secondary-content:focus{&:focus{background-color:var(--color-secondary-content)}}.active\:bg-secondary-content:active{&:active{background-color:var(--color-secondary-content)}}.focus\:text-secondary-content:focus{&:focus{color:var(--color-secondary-content)}}.active\:text-secondary-content:active{&:active{color:var(--color-secondary-content)}}.focus\:border-secondary-content:focus{&:focus{border-color:var(--color-secondary-content)}}.active\:border-secondary-content:active{&:active{border-color:var(--color-secondary-content)}}.focus\:bg-accent:focus{&:focus{background-color:var(--color-accent)}}.active\:bg-accent:active{&:active{background-color:var(--color-accent)}}.focus\:text-accent:focus{&:focus{color:var(--color-accent)}}.active\:text-accent:active{&:active{color:var(--color-accent)}}.focus\:border-accent:focus{&:focus{border-color:var(--color-accent)}}.active\:border-accent:active{&:active{border-color:var(--color-accent)}}.focus\:bg-accent-content:focus{&:focus{background-color:var(--color-accent-content)}}.active\:bg-accent-content:active{&:active{background-color:var(--color-accent-content)}}.focus\:text-accent-content:focus{&:focus{color:var(--color-accent-content)}}.active\:text-accent-content:active{&:active{color:var(--color-accent-content)}}.focus\:border-accent-content:focus{&:focus{border-color:var(--color-accent-content)}}.active\:border-accent-content:active{&:active{border-color:var(--color-accent-content)}}.focus\:bg-neutral:focus{&:focus{background-color:var(--color-neutral)}}.active\:bg-neutral:active{&:active{background-color:var(--color-neutral)}}.focus\:text-neutral:focus{&:focus{color:var(--color-neutral)}}.active\:text-neutral:active{&:active{color:var(--color-neutral)}}.focus\:border-neutral:focus{&:focus{border-color:var(--color-neutral)}}.active\:border-neutral:active{&:active{border-color:var(--color-neutral)}}.focus\:bg-neutral-content:focus{&:focus{background-color:var(--color-neutral-content)}}.active\:bg-neutral-content:active{&:active{background-color:var(--color-neutral-content)}}.focus\:text-neutral-content:focus{&:focus{color:var(--color-neutral-content)}}.active\:text-neutral-content:active{&:active{color:var(--color-neutral-content)}}.focus\:border-neutral-content:focus{&:focus{border-color:var(--color-neutral-content)}}.active\:border-neutral-content:active{&:active{border-color:var(--color-neutral-content)}}.focus\:bg-info:focus{&:focus{background-color:var(--color-info)}}.active\:bg-info:active{&:active{background-color:var(--color-info)}}.focus\:text-info:focus{&:focus{color:var(--color-info)}}.active\:text-info:active{&:active{color:var(--color-info)}}.focus\:border-info:focus{&:focus{border-color:var(--color-info)}}.active\:border-info:active{&:active{border-color:var(--color-info)}}.focus\:bg-info-content:focus{&:focus{background-color:var(--color-info-content)}}.active\:bg-info-content:active{&:active{background-color:var(--color-info-content)}}.focus\:text-info-content:focus{&:focus{color:var(--color-info-content)}}.active\:text-info-content:active{&:active{color:var(--color-info-content)}}.focus\:border-info-content:focus{&:focus{border-color:var(--color-info-content)}}.active\:border-info-content:active{&:active{border-color:var(--color-info-content)}}.focus\:bg-success:focus{&:focus{background-color:var(--color-success)}}.active\:bg-success:active{&:active{background-color:var(--color-success)}}.focus\:text-success:focus{&:focus{color:var(--color-success)}}.active\:text-success:active{&:active{color:var(--color-success)}}.focus\:border-success:focus{&:focus{border-color:var(--color-success)}}.active\:border-success:active{&:active{border-color:var(--color-success)}}.focus\:bg-success-content:focus{&:focus{background-color:var(--color-success-content)}}.active\:bg-success-content:active{&:active{background-color:var(--color-success-content)}}.focus\:text-success-content:focus{&:focus{color:var(--color-success-content)}}.active\:text-success-content:active{&:active{color:var(--color-success-content)}}.focus\:border-success-content:focus{&:focus{border-color:var(--color-success-content)}}.active\:border-success-content:active{&:active{border-color:var(--color-success-content)}}.focus\:bg-warning:focus{&:focus{background-color:var(--color-warning)}}.active\:bg-warning:active{&:active{background-color:var(--color-warning)}}.focus\:text-warning:focus{&:focus{color:var(--color-warning)}}.active\:text-warning:active{&:active{color:var(--color-warning)}}.focus\:border-warning:focus{&:focus{border-color:var(--color-warning)}}.active\:border-warning:active{&:active{border-color:var(--color-warning)}}.focus\:bg-warning-content:focus{&:focus{background-color:var(--color-warning-content)}}.active\:bg-warning-content:active{&:active{background-color:var(--color-warning-content)}}.focus\:text-warning-content:focus{&:focus{color:var(--color-warning-content)}}.active\:text-warning-content:active{&:active{color:var(--color-warning-content)}}.focus\:border-warning-content:focus{&:focus{border-color:var(--color-warning-content)}}.active\:border-warning-content:active{&:active{border-color:var(--color-warning-content)}}.focus\:bg-error:focus{&:focus{background-color:var(--color-error)}}.active\:bg-error:active{&:active{background-color:var(--color-error)}}.focus\:text-error:focus{&:focus{color:var(--color-error)}}.active\:text-error:active{&:active{color:var(--color-error)}}.focus\:border-error:focus{&:focus{border-color:var(--color-error)}}.active\:border-error:active{&:active{border-color:var(--color-error)}}.focus\:bg-error-content:focus{&:focus{background-color:var(--color-error-content)}}.active\:bg-error-content:active{&:active{background-color:var(--color-error-content)}}.focus\:text-error-content:focus{&:focus{color:var(--color-error-content)}}.active\:text-error-content:active{&:active{color:var(--color-error-content)}}.focus\:border-error-content:focus{&:focus{border-color:var(--color-error-content)}}.active\:border-error-content:active{&:active{border-color:var(--color-error-content)}}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4834ec50a41a97f52adfbe9a2d93479249614251635785d19c32e3bc01949e5d
3
+ size 9269
b/3883e2056670bb4ac193d5178b0bf609d6faba0e625c5041d40a6814b74e910b CHANGED
@@ -1,7 +1,3 @@
1
- import mockup from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addComponents, prefix = '' }) => {
5
- const prefixedmockup = addPrefix(mockup, prefix);
6
- addComponents({ ...prefixedmockup });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2805b9ec6c72db2af3636db1100e22f7de8d1f57d5de9d87e0b16db8a763d4a0
3
+ size 241
 
 
 
 
b/38919e5ead95a988579ac88c6db7ab666e31963dbec223f59178e572687d0553 CHANGED
@@ -1,142 +1,3 @@
1
- // ui/settings.js — the Settings sheet: General (theme · accent · font size), Chat (enter-to-send ·
2
- // receipts · markdown), Speech (dictation language · read-aloud + rate), Data (storage · export all ·
3
- // import · delete all), About. Settings persist in the boot index (substrate-local, no account).
4
-
5
- import { storageEstimate } from "../core/backend.js";
6
- import { exportAll, importFile } from "./importexport.js";
7
-
8
- export function makeSettingsStore(chatStore) {
9
- let cache = null;
10
- async function load() {
11
- if (cache) return cache;
12
- const idx = await chatStore.getIndex();
13
- cache = { enterSend: true, receipts: true, markdown: true, tts: true, ttsRate: 1, sttLang: "", palette: "auto", ...(idx.settings || {}) };
14
- return cache;
15
- }
16
- async function save(patch) {
17
- cache = { ...(await load()), ...patch };
18
- const idx = await chatStore.getIndex(); idx.settings = cache;
19
- const b = new TextEncoder().encode(JSON.stringify(idx));
20
- await (chatStore.store.backend.putRaw ? chatStore.store.backend.putRaw("index:org.hologram.HoloQ", b) : chatStore.store.backend.put("index:org.hologram.HoloQ", b));
21
- }
22
- return { load, save, get: (k) => (cache ? cache[k] : undefined) };
23
- }
24
-
25
- export function makeSettings({ ctx, els, t, toast, act }) {
26
- const { settings, chatStore, bus } = ctx;
27
- const TABS = [["general", t("com_settings_general")], ["chat", t("com_settings_chat")], ["speech", t("com_settings_speech")], ["data", t("com_settings_data")], ["about", t("com_settings_about")]];
28
- let tab = "general";
29
-
30
- async function open() {
31
- await settings.load();
32
- els.modals.hidden = false;
33
- render();
34
- }
35
- function close() { els.modals.hidden = true; els.modals.innerHTML = ""; }
36
-
37
- function render() {
38
- els.modals.innerHTML = `
39
- <div class="sheet" role="dialog" aria-label="${t("com_nav_settings")}">
40
- <div class="sheet-head"><h2>${t("com_nav_settings")}</h2><button class="x" aria-label="${t("com_ui_close")}">✕</button></div>
41
- <div class="sheet-body">
42
- <div class="sheet-tabs">${TABS.map(([id, l]) => `<button data-t="${id}" class="${id === tab ? "on" : ""}">${l}</button>`).join("")}</div>
43
- <div class="sheet-pane" id="setpane"></div>
44
- </div>
45
- </div>`;
46
- els.modals.querySelector(".x").onclick = close;
47
- els.modals.onclick = (e) => { if (e.target === els.modals) close(); };
48
- els.modals.querySelectorAll(".sheet-tabs button").forEach((b) => (b.onclick = () => { tab = b.dataset.t; render(); }));
49
- const pane = els.modals.querySelector("#setpane");
50
- if (tab === "general") renderGeneral(pane);
51
- else if (tab === "chat") renderChat(pane);
52
- else if (tab === "speech") renderSpeech(pane);
53
- else if (tab === "data") renderData(pane);
54
- else renderAbout(pane);
55
- }
56
-
57
- const row = (lab, sub, ctrl) => `<div class="set-row"><div><span class="lab">${lab}</span>${sub ? `<span class="sub">${sub}</span>` : ""}</div>${ctrl}</div>`;
58
- const sw = (id, on) => `<button class="switch ${on ? "on" : ""}" id="${id}" role="switch" aria-checked="${on}"></button>`;
59
- const wireSwitch = (pane, id, key, after) => {
60
- const b = pane.querySelector("#" + id);
61
- b.onclick = async () => { const on = !b.classList.contains("on"); b.classList.toggle("on", on); await settings.save({ [key]: on }); after?.(on); };
62
- };
63
-
64
- function renderGeneral(pane) {
65
- const pal = settings.get("palette") || "auto";
66
- pane.innerHTML =
67
- row(t("com_settings_theme"), "", `<span class="seg" id="pal">${[["auto", t("com_settings_theme_auto")], ["dark", t("com_settings_theme_dark")], ["light", t("com_settings_theme_light")]].map(([v, l]) => `<button data-v="${v}" class="${v === pal ? "on" : ""}">${l}</button>`).join("")}</span>`) +
68
- row(t("com_settings_font_size"), "", `<span class="seg" id="fs">${[["0.9", "A−"], ["1", "A"], ["1.12", "A+"]].map(([v, l]) => `<button data-v="${v}">${l}</button>`).join("")}</span>`);
69
- pane.querySelectorAll("#pal button").forEach((b) => (b.onclick = async () => {
70
- pane.querySelectorAll("#pal button").forEach((x) => x.classList.toggle("on", x === b));
71
- await settings.save({ palette: b.dataset.v });
72
- document.documentElement.dataset.palette = b.dataset.v;
73
- try { window.HoloTheme?.setPalette?.(b.dataset.v); } catch {}
74
- }));
75
- pane.querySelectorAll("#fs button").forEach((b) => (b.onclick = () => { try { window.HoloTheme?.setFontScale?.(+b.dataset.v); } catch { document.documentElement.style.fontSize = (+b.dataset.v * 100) + "%"; } }));
76
- }
77
-
78
- function renderChat(pane) {
79
- pane.innerHTML =
80
- row(t("com_settings_enter_send"), "Shift+Enter inserts a newline. Ctrl+Enter always sends.", sw("s-enter", settings.get("enterSend") !== false)) +
81
- row(t("com_settings_show_receipts"), "Every answer carries a verifiable PROV-O receipt (Law L5).", sw("s-receipts", settings.get("receipts") === true)) +
82
- row(t("com_settings_markdown"), "", sw("s-md", settings.get("markdown") !== false));
83
- wireSwitch(pane, "s-enter", "enterSend");
84
- wireSwitch(pane, "s-receipts", "receipts", () => act.rerender());
85
- wireSwitch(pane, "s-md", "markdown", () => act.rerender());
86
- }
87
-
88
- function renderSpeech(pane) {
89
- pane.innerHTML =
90
- row(t("com_ui_speech_input"), t("com_settings_stt_note"), `<input id="s-lang" placeholder="${navigator.language}" value="${settings.get("sttLang") || ""}" style="background:var(--field);border:1px solid var(--field-b);border-radius:9px;color:var(--text);padding:7px 10px;width:130px" />`) +
91
- row(t("com_settings_tts_enable"), "", sw("s-tts", settings.get("tts") !== false)) +
92
- row(t("com_settings_tts_rate"), "", `<input type="range" id="s-rate" min="0.6" max="1.6" step="0.1" value="${settings.get("ttsRate") || 1}" style="width:140px;accent-color:var(--mint)" />`);
93
- pane.querySelector("#s-lang").onchange = (e) => settings.save({ sttLang: e.target.value.trim() });
94
- wireSwitch(pane, "s-tts", "tts", () => act.rerender());
95
- pane.querySelector("#s-rate").onchange = (e) => settings.save({ ttsRate: +e.target.value });
96
- }
97
-
98
- async function renderData(pane) {
99
- const { usage, quota } = await storageEstimate();
100
- const gb = (n) => (n / 1073741824).toFixed(2);
101
- const mems = ctx.memory ? await ctx.memory.list() : [];
102
- pane.innerHTML =
103
- row(t("com_settings_storage"), `${gb(usage)} GB of ${gb(quota)} GB used`, "") +
104
- `<div class="set-row" style="flex-direction:column;align-items:stretch"><div><span class="lab">${t("com_memory_title")}</span><span class="sub">${mems.length ? mems.reduce((n, m) => n + (m.tokenCount || 0), 0) + " / " + ctx.memory.tokenLimit + " tokens" : t("com_memory_none")}</span></div>
105
- <div id="d-mems" style="display:flex;flex-direction:column;gap:5px;margin-top:8px"></div>
106
- <div style="display:flex;gap:6px;margin-top:8px">
107
- <input id="d-mkey" placeholder="${t("com_memory_key_ph")}" style="width:140px;background:var(--field);border:1px solid var(--field-b);border-radius:9px;color:var(--text);padding:7px 9px;font-size:var(--fs)" />
108
- <input id="d-mval" placeholder="${t("com_memory_value_ph")}" style="flex:1;min-width:0;background:var(--field);border:1px solid var(--field-b);border-radius:9px;color:var(--text);padding:7px 9px;font-size:var(--fs)" />
109
- <button class="btn" id="d-madd">${t("com_memory_add")}</button>
110
- </div></div>` +
111
- row(t("com_settings_export_all"), "Conversations + presets, as verifiable JSON.", `<button class="btn" id="d-exp">${t("com_ui_export")}</button>`) +
112
- row(t("com_settings_import_file"), "", `<button class="btn" id="d-imp">${t("com_ui_import")}</button>`) +
113
- row(t("com_settings_clear"), "", `<button class="btn" id="d-clear" style="color:var(--bad)">${t("com_ui_delete")}</button>`);
114
- const memsEl = pane.querySelector("#d-mems");
115
- for (const m of mems) {
116
- const r2 = document.createElement("div");
117
- r2.style.cssText = "display:flex;align-items:center;gap:8px;font-size:var(--fs)";
118
- r2.innerHTML = `<b style="font-family:var(--mono);flex:none">${m.key}</b><span style="flex:1;min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap"></span><button class="iact" style="width:24px;height:24px">✕</button>`;
119
- r2.querySelector("span").textContent = m.value;
120
- r2.querySelector("button").onclick = async () => { await ctx.memory.remove(m.key); renderData(pane); };
121
- memsEl.appendChild(r2);
122
- }
123
- pane.querySelector("#d-madd").onclick = async () => {
124
- const r3 = await ctx.memory.set(pane.querySelector("#d-mkey").value, pane.querySelector("#d-mval").value);
125
- if (!r3.ok) toast(r3.error); else renderData(pane);
126
- };
127
- pane.querySelector("#d-exp").onclick = () => exportAll(ctx);
128
- pane.querySelector("#d-imp").onclick = async () => { const n = await importFile(ctx); if (n >= 0) { toast(`${t("com_ui_import")} ✓ ${n}`); bus.emit("conversations-changed"); } };
129
- pane.querySelector("#d-clear").onclick = async () => {
130
- if (!confirm(t("com_settings_clear_confirm"))) return;
131
- await new Promise((res) => { const rq = indexedDB.deleteDatabase("holo-q"); rq.onsuccess = rq.onerror = rq.onblocked = res; });
132
- location.reload();
133
- };
134
- }
135
-
136
- function renderAbout(pane) {
137
- pane.innerHTML = `<p style="line-height:1.65;color:var(--muted)">${t("com_settings_about_text")}</p>
138
- <div class="pcard"><div class="plab">app</div><div class="kv">org.hologram.HoloQ · LibreChat-parity spine · UOR substrate-native</div></div>`;
139
- }
140
-
141
- return { open, close };
142
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:80fd9b76bd1bac1fbf61d235803c8ff924dab7275d1e7b292b4bfb7c9394cca6
3
+ size 9523
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/389c81a0a189b8d1f71e41b212b7b6c34d701d8bfc628db75b1efd11633d6070 CHANGED
@@ -1,47 +1,3 @@
1
- import { cn } from "@/lib/utils"
2
-
3
- interface Avatar {
4
- imageUrl: string
5
- profileUrl: string
6
- }
7
- interface AvatarCirclesProps {
8
- className?: string
9
- numPeople?: number
10
- avatarUrls: Avatar[]
11
- }
12
-
13
- export const AvatarCircles = ({
14
- numPeople,
15
- className,
16
- avatarUrls,
17
- }: AvatarCirclesProps) => {
18
- return (
19
- <div className={cn("z-10 flex -space-x-4 rtl:space-x-reverse", className)}>
20
- {avatarUrls.map((url, index) => (
21
- <a
22
- key={index}
23
- href={url.profileUrl}
24
- target="_blank"
25
- rel="noopener noreferrer"
26
- >
27
- <img
28
- key={index}
29
- className="h-10 w-10 rounded-full border-2 border-white dark:border-gray-800"
30
- src={url.imageUrl}
31
- width={40}
32
- height={40}
33
- alt={`Avatar ${index + 1}`}
34
- />
35
- </a>
36
- ))}
37
- {(numPeople ?? 0) > 0 && (
38
- <a
39
- className="flex h-10 w-10 items-center justify-center rounded-full border-2 border-white bg-black text-center text-xs font-medium text-white hover:bg-gray-600 dark:border-gray-800 dark:bg-white dark:text-black"
40
- href=""
41
- >
42
- +{numPeople}
43
- </a>
44
- )}
45
- </div>
46
- )
47
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:041500b6b22f8fba02a6ce3c4d26d930218cca0a6d64797cc88c5b4189317404
3
+ size 1200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/38ae4ec82a3579c85938acc73e4dfd1340fa5e52660de5652ea08ad493e3b160 CHANGED
@@ -1,59 +1,3 @@
1
- // holo-kappa-store.mjs — the persistent, content-addressed body store for κ-streamed models.
2
- //
3
- // One OPFS directory ("holo-kappa") keyed by κ (sha256 hex). A body fetched once is kept forever,
4
- // L5-verified on every read, shared across EVERY model (a κ-block common to two models is stored
5
- // once — real cross-model dedup). Second load is 0-network and offline; identity is the hash, so
6
- // the cache never invalidates. This is the same layer holo-whisper-stream rides, lifted to a seam
7
- // so the LLM κ-stream and Whisper share one persistent store.
8
- //
9
- // Node-safe: no browser API is touched at import time. The default backend (OPFS + WebCrypto) is
10
- // only invoked in a browser; tests inject a mock backend + sha256 so the logic is witnessed in Node.
11
-
12
- const hexOf = (b) => { let s = ""; for (const x of b) s += x.toString(16).padStart(2, "0"); return s; };
13
-
14
- // ── default browser backend: OPFS dir keyed by κ (identical shape to holo-whisper-stream) ──
15
- async function opfsGet(dir, key) { try { const r = await navigator.storage.getDirectory(); const d = await r.getDirectoryHandle(dir, { create: true }); const fh = await d.getFileHandle(key); return new Uint8Array(await (await fh.getFile()).arrayBuffer()); } catch { return null; } }
16
- async function opfsPut(dir, key, bytes) { try { const r = await navigator.storage.getDirectory(); const d = await r.getDirectoryHandle(dir, { create: true }); const fh = await d.getFileHandle(key, { create: true }); const w = await fh.createWritable(); await w.write(bytes); await w.close(); return true; } catch { return false; } }
17
- async function opfsClear(dir) { try { const r = await navigator.storage.getDirectory(); await r.removeEntry(dir, { recursive: true }); return true; } catch { return false; } }
18
- const browserBackend = (dir) => ({ get: (k) => opfsGet(dir, k), put: (k, b) => opfsPut(dir, k, b), clear: () => opfsClear(dir) });
19
-
20
- const webcryptoSha256 = async (buf) => hexOf(new Uint8Array(await crypto.subtle.digest("SHA-256", buf)));
21
-
22
- // makeKappaStore — a verify-once persistent store over a backend.
23
- // get(hex, fetchMiss): OPFS-hit (L5) → return 0-network; else fetchMiss() (which must itself L5-verify
24
- // the transport body), persist it, return. A persisted body that no longer re-derives is REFUSED and
25
- // re-fetched (tamper/bit-rot safe). stats expose the warm/cold proof: opfsHits vs misses/bytesFetched.
26
- export function makeKappaStore({ dir = "holo-kappa", backend, sha256 = webcryptoSha256, useOpfs = true } = {}) {
27
- const be = backend || browserBackend(dir);
28
- const stats = { opfsHits: 0, opfsWrites: 0, misses: 0, bytesFetched: 0, verifies: 0, refuses: 0, headHits: 0, headRefuses: 0, headWrites: 0 };
29
- const enc = new TextEncoder(), dec = new TextDecoder();
30
- return {
31
- stats,
32
- clear: () => (be.clear ? be.clear() : Promise.resolve(false)),
33
- hash: (bytes) => sha256(bytes), // content κ of a blob (hex)
34
- async get(hex, fetchMiss) {
35
- if (useOpfs) {
36
- const c = await be.get(hex);
37
- if (c) { stats.verifies++; if ((await sha256(c)) === hex) { stats.opfsHits++; return c; } stats.refuses++; } // L5 on cached body
38
- }
39
- const b = await fetchMiss(); // transport read (Range/IPFS) — fetchMiss L5-verifies
40
- stats.misses++; stats.bytesFetched += b.length;
41
- if (useOpfs) { try { if (await be.put(hex, b)) stats.opfsWrites++; } catch {} }
42
- return b;
43
- },
44
- // peek a content-addressed blob already in the store (no transport): L5-verify, else null. For the
45
- // head-region blob — a cached head that no longer re-derives is REFUSED (returns null → re-fetch).
46
- async peek(hex) {
47
- if (!useOpfs) return null;
48
- const c = await be.get(hex); if (!c) return null;
49
- if ((await sha256(c)) === hex) { stats.headHits++; return c; } stats.headRefuses++; return null;
50
- },
51
- async putBody(hex, bytes) { if (!useOpfs) return false; try { if (await be.put(hex, bytes)) { stats.headWrites++; return true; } } catch {} return false; },
52
- // small NON-identity local hints (e.g. url→headκ accelerator). Trust still flows through κ: a wrong
53
- // hint yields a headκ whose peek() misses or refuses → re-fetch. Never a source of unverified bytes.
54
- async getHint(key) { if (!useOpfs) return null; const c = await be.get("m_" + key); return c ? dec.decode(c) : null; },
55
- async putHint(key, val) { if (!useOpfs) return false; try { return await be.put("m_" + key, enc.encode(val)); } catch { return false; } },
56
- };
57
- }
58
-
59
- export { opfsGet, opfsPut, opfsClear };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c434e5b58b319d2ff344050d6cee610491c1f84b43a48422b7dc9f45052a994b
3
+ size 4573
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/38c5793864b1ee0faa819ad6cbfc4143e49e8a95261c7dd209ea1320021bbc1c CHANGED
@@ -1 +1,3 @@
1
- {"tapes": [{"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 15, 8491, 310, 39229, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 46629, 7911, 64700, 220, 16, 14167, 283, 220, 16, 13, 21, 15, 24, 18, 19, 39229, 271, 332, 45593, 2820, 64700, 198, 13682, 20, 15, 1088, 1272, 90, 8491, 92, 1088, 14695, 220, 16, 13, 21, 15, 24, 18, 19], "text": "convert 50 miles to kilometers"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 353, 17592, 264, 17592, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 369, 279, 2923, 13909, 28253, 8214, 310, 59951, 279, 1379, 4047, 17592, 49091, 25, 279, 2972, 26108, 3309, 12, 2239, 159034, 271, 13962, 70839, 198, 16, 13, 220, 2972, 3684, 279, 56738, 64700, 22041, 279, 17592, 2272, 678, 14697, 13, 561, 6669, 809], "text": "how do I tie a tie"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 3242, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 3242, 579, 8831, 17071, 11, 353, 6718, 25, 271, 16, 13, 2972, 3840, 264, 8831, 3779, 332, 1040, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13], "text": "what's the weather like today"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1603, 6353, 303, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 15666, 64700, 271, 332, 1, 2014, 240052, 626, 71, 507, 15560, 175267, 318, 148924, 154982, 88005, 8, 271, 1919, 369, 279, 5129, 11, 46193, 40719, 1429, 6600, 279, 1834, 303, 15659, 13, 1049, 15433, 3254, 328, 14556, 1, 321, 4138, 364, 6353, 11], "text": "how do you say good morning in Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 91893, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 44, 5130, 13148, 332, 3254, 8755, 2172, 6326, 310, 7472, 26, 1546, 16097, 321, 22825, 13, 271, 332, 1536, 13173, 64700, 198, 12, 2972, 969, 14025, 2022, 92217, 31245, 5562, 2414, 15060, 321, 6379, 198, 12, 2972, 53639, 92217, 11142, 286, 3160, 6326], "text": "define meticulous"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 821, 12553, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 11313, 383, 279, 6331, 25, 271, 332, 47585, 899, 64700, 198, 1, 18103, 11, 4162, 264, 2612, 3200, 11, 668, 381, 1017, 303, 498, 55, 60, 4276, 1149, 271, 332, 12115, 594, 6916, 64700, 198, 1, 18417, 3200, 11], "text": "text my sister that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 56696, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 1026, 319, 1128, 332, 16067, 279, 8390, 310, 48772, 11, 10202, 310, 11, 321, 11394, 494, 86739, 11, 8204, 11, 466, 28911, 13, 271, 8160, 369, 264, 29006, 314, 279, 4496, 3808, 2086, 36353, 25, 271, 9, 256, 2972, 14965, 19107, 64700, 561], "text": "define resilient"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 14211, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 369, 1521, 488, 8719, 914, 3766, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 14211, 11, 353, 1144, 25, 198, 12, 4465, 3177, 5350, 754, 466, 198, 12, 4465, 2534, 466, 198, 12, 4465], "text": "how far is Toronto from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 13474, 821, 24651, 411, 12967, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 23226, 488, 883, 2414, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3502, 21292, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972, 1591, 264, 10189, 5020, 92217, 1394], "text": "remind me to renew my passport this afternoon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 91893, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 4252, 41019, 314, 279, 3299, 369, 2972, 17453, 13148, 159034, 271, 8160, 369, 279, 29006, 25, 198, 16, 13, 220, 2972, 44, 332, 198, 17, 13, 220, 2972, 68, 332, 198, 18, 13, 220, 2972, 83, 332, 198, 19, 13, 220, 2972, 72], "text": "spell meticulous"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 3603, 1083, 79915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 14773, 3603, 332, 303, 79915, 369, 25, 271, 332, 114588, 332, 318, 86, 131, 236, 77, 167967, 77, 8, 271, 4277, 271, 332, 47, 2176, 44767, 64700, 198, 12, 41463, 11668, 3533, 25, 68607, 16, 449, 16, 198, 12], "text": "translate good night into Mandarin"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1200, 5437, 537, 411, 2128, 364, 728, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 59987, 264, 2128, 0, 4213, 11, 353, 1459, 914, 1436, 866, 2128, 12037, 310, 678, 1876, 13, 4558, 5328, 3300, 279, 2128, 488, 4035, 1040, 728, 310, 59987, 11, 321, 353, 3172, 381, 15252, 310, 25, 198], "text": "summarize this document for me"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1200, 5437, 537, 411, 2469, 364, 728, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 59987, 449, 2469, 364, 488, 0, 4213, 11, 353, 1459, 914, 1436, 279, 2469, 2144, 303, 678, 1876, 13, 4558, 5328, 24147, 279, 2469, 1414, 488, 4035, 1040, 728, 310, 59987, 11, 321, 353, 3172, 3300, 264, 2708, 11], "text": "summarize this email for me"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 10939, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 3766, 264, 3108, 3376, 1272, 10939, 421, 353, 2688, 4162, 3200, 871, 4598, 1056, 264, 3377, 310, 11290, 13, 271, 332, 2592, 488, 2224, 3221, 364, 1438, 440, 2414, 745, 93868, 4338, 1042, 728, 1366, 1092, 488, 4035, 1040, 728], "text": "text Chris that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 6511, 314, 6124, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 6511, 314, 6124, 369, 2972, 51076, 15560, 159034, 271, 51076, 15560, 682, 978, 279, 6511, 2394, 279, 2088, 33716, 64568, 303, 220, 16, 23, 21, 23, 11, 948, 33178, 2088, 33716, 7481, 279, 33145, 5300, 494, 78229, 310, 458, 2887, 318, 7949, 557], "text": "what's the capital of Japan"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 20, 3161, 314, 220, 23, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 20, 4, 314, 220, 23, 15, 25, 271, 332, 3407, 220, 16, 25, 6943, 310, 11778, 332, 198, 13682, 20, 59, 4, 283, 220, 15, 13, 15, 20, 13682, 198, 13682, 15, 13, 15, 20, 1088, 14695, 220], "text": "what's 5 percent of 80"}]}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e915d1217461d6b45518af84200440275db34075a25c01148f6edab794c425b
3
+ size 8160
b/38cc5466910c9f9176486590bde9d14ddae3223874a138cab40c4feb9b754db1 CHANGED
@@ -1,27 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.daisyui.daisyui",
3
- "name": "daisyui",
4
- "tier": "component",
5
- "library": "daisyui",
6
- "category": "Components",
7
- "upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/daisyui.css",
8
- "docs": "https://daisyui.com/components/",
9
- "did": "did:holo:sha256:67fb53d5cb59abb7ba7d65777c9668ac13779e4ca951b7e37ca85f090e3a8718",
10
- "import": "holo://sha256:67fb53d5cb59abb7ba7d65777c9668ac13779e4ca951b7e37ca85f090e3a8718",
11
- "integrity": "sha256-Z/tT1ctZq7e6fWV3fJZorBN3nkypUbfjfKhfCQ46hxg=",
12
- "kappa": "sha256:67fb53d5cb59abb7ba7d65777c9668ac13779e4ca951b7e37ca85f090e3a8718",
13
- "moduleKappa": "sha256:67fb53d5cb59abb7ba7d65777c9668ac13779e4ca951b7e37ca85f090e3a8718",
14
- "renderExport": null,
15
- "format": "css",
16
- "source": "daisyui.css",
17
- "module": "vendor/daisyui/daisyui.css",
18
- "exports": [],
19
- "bytes": 969577,
20
- "provenance": {
21
- "package": "daisyui",
22
- "version": "5.5.23",
23
- "integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
24
- "file": "daisyui.css"
25
- },
26
- "license": "MIT"
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f8f259a4c360664dbcf7bdea5fa551afcd0c41975c8818d8ea8737635c0eb20
3
+ size 1079
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/38ccd37786103a3e74fd7268689330a82519e47e3e0149b78b88a248a2c38d1f CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.form-formisch-complex",
3
- "name": "form-formisch-complex",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/form-formisch-complex.json",
8
- "did": "did:holo:sha256:1d2892d755829b97adde3ceb75412cd5fa2cb70e6060f0cae8a7c5273adba037",
9
- "import": "holo://sha256:e6b66ea07854f75a4063f12bee40941cfd82820e7b4c5b2479e37b42f35da46d",
10
- "integrity": "sha256-5rZuoHhU91pAY/Er7kCUHP2Cgg57TFskeeN7QvNdpG0=",
11
- "kappa": "sha256:1d2892d755829b97adde3ceb75412cd5fa2cb70e6060f0cae8a7c5273adba037",
12
- "moduleKappa": "sha256:e6b66ea07854f75a4063f12bee40941cfd82820e7b4c5b2479e37b42f35da46d",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/form-formisch-complex.tsx",
15
- "module": "vendor/components/form-formisch-complex.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1552b5784a56b8a2c67e932012f84aace84cc316443d647b1461739057ad2b98
3
+ size 899
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3908367bdebaf555c00c9cd6548b2dd85472ba8644c6b88c4ab29a6bdb03ecae CHANGED
@@ -1,31 +1,3 @@
1
- :root:has(input.theme-controller[value=abyss]:checked),[data-theme="abyss"] {
2
- color-scheme: dark;
3
- --color-base-100: oklch(20% 0.08 209);
4
- --color-base-200: oklch(15% 0.08 209);
5
- --color-base-300: oklch(10% 0.08 209);
6
- --color-base-content: oklch(90% 0.076 70.697);
7
- --color-primary: oklch(92% 0.2653 125);
8
- --color-primary-content: oklch(50% 0.2653 125);
9
- --color-secondary: oklch(83.27% 0.0764 298.3);
10
- --color-secondary-content: oklch(43.27% 0.0764 298.3);
11
- --color-accent: oklch(43% 0 0);
12
- --color-accent-content: oklch(98% 0 0);
13
- --color-neutral: oklch(30% 0.08 209);
14
- --color-neutral-content: oklch(90% 0.076 70.697);
15
- --color-info: oklch(74% 0.16 232.661);
16
- --color-info-content: oklch(29% 0.066 243.157);
17
- --color-success: oklch(79% 0.209 151.711);
18
- --color-success-content: oklch(26% 0.065 152.934);
19
- --color-warning: oklch(84.8% 0.1962 84.62);
20
- --color-warning-content: oklch(44.8% 0.1962 84.62);
21
- --color-error: oklch(65% 0.1985 24.22);
22
- --color-error-content: oklch(27% 0.1985 24.22);
23
- --radius-selector: 2rem;
24
- --radius-field: 0.25rem;
25
- --radius-box: 0.5rem;
26
- --size-selector: 0.25rem;
27
- --size-field: 0.25rem;
28
- --border: 1px;
29
- --depth: 1;
30
- --noise: 0;
31
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6589971fdef9ae6c00bd2c6e842691fbe3fb3240a25d949962e014be0d087e2d
3
+ size 1139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/39106999a4142bb5a483de4c5ca6c80ef3cbca8e66453dddf21e82f4fbd7f3dd CHANGED
@@ -1,12 +1,3 @@
1
- import { Italic } from "lucide-react"
2
-
3
- import { Toggle } from "@/registry/new-york-v4/ui/toggle"
4
-
5
- export default function ToggleWithText() {
6
- return (
7
- <Toggle aria-label="Toggle italic">
8
- <Italic />
9
- Italic
10
- </Toggle>
11
- )
12
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:70c62b5d4091944eddf2d49e30ed3c5cddf95691bb7b06f865113ce891dfdf02
3
+ size 242
 
 
 
 
 
 
 
 
 
b/393fe5a8760a7adeaa682a90dcb168b63301e4f6b908eb9e01f3fd597458143f CHANGED
@@ -1,95 +1,3 @@
1
- "use client";var Ao=Object.defineProperty;var Do=(e,a)=>{for(var t in a)Ao(e,t,{get:a[t],enumerable:!0})};import{forwardRef as Fo,createElement as Bo}from"react";var Za=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Be=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as Mo,createElement as Ja}from"react";var $a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Ya=Mo(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:s,...u},f)=>Ja("svg",{ref:f,...$a,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:Be("lucide",r),...u},[...s.map(([d,i])=>Ja(d,i)),...Array.isArray(l)?l:[l]]));var Qa=(e,a)=>{let t=Fo(({className:o,...r},l)=>Bo(Ya,{ref:l,iconNode:a,className:Be(`lucide-${Za(e)}`,o),...r}));return t.displayName=`${e}`,t};var be=Qa("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);import*as ot from"react";import*as rt from"react-dom";import*as E from"react";import*as at from"react";function et(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function To(...e){return a=>{let t=!1,o=e.map(r=>{let l=et(r,a);return!t&&typeof l=="function"&&(t=!0),l});if(t)return()=>{for(let r=0;r<o.length;r++){let l=o[r];typeof l=="function"?l():et(e[r],null)}}}}function Z(...e){return at.useCallback(To(...e),e)}function Oe(e){let a=E.forwardRef((t,o)=>{let{children:r,...l}=t,s=null,u=!1,f=[];tt(r)&&typeof Te=="function"&&(r=Te(r._payload)),E.Children.forEach(r,x=>{if(Ho(x)){u=!0;let I=x,v="child"in I.props?I.props.child:I.props.children;tt(v)&&typeof Te=="function"&&(v=Te(v._payload)),s=Eo(I,v),f.push(s?.props?.children)}else f.push(x)}),s?s=E.cloneElement(s,void 0,f):!u&&E.Children.count(r)===1&&E.isValidElement(r)&&(s=r);let d=s?Uo(s):void 0,i=Z(o,d);if(!s){if(r||r===0)throw new Error(u?zo(e):Wo(e));return r}let c=qo(l,s.props??{});return s.type!==E.Fragment&&(c.ref=o?i:d),E.cloneElement(s,c)});return a.displayName=`${e}.Slot`,a}var Oo=Symbol.for("radix.slottable");var Eo=(e,a)=>{if("child"in e.props){let t=e.props.child;return E.isValidElement(t)?E.cloneElement(t,void 0,e.props.children(t.props.children)):null}return E.isValidElement(a)?a:null};function qo(e,a){let t={...a};for(let o in a){let r=e[o],l=a[o];/^on[A-Z]/.test(o)?r&&l?t[o]=(...u)=>{let f=l(...u);return r(...u),f}:r&&(t[o]=r):o==="style"?t[o]={...r,...l}:o==="className"&&(t[o]=[r,l].filter(Boolean).join(" "))}return{...e,...t}}function Uo(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function Ho(e){return E.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Oo}var Go=Symbol.for("react.lazy");function tt(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Go&&"_payload"in e&&No(e._payload)}function No(e){return typeof e=="object"&&e!==null&&"then"in e}var Wo=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,zo=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Te=E[" use ".trim().toString()];import{jsx as Vo}from"react/jsx-runtime";var _o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],W=_o.reduce((e,a)=>{let t=Oe(`Primitive.${a}`),o=ot.forwardRef((r,l)=>{let{asChild:s,...u}=r,f=s?t:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),Vo(f,{...u,ref:l})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{});function lt(e,a){e&&rt.flushSync(()=>e.dispatchEvent(a))}import*as z from"react";import{jsx as ut}from"react/jsx-runtime";function st(e,a){let t=z.createContext(a);t.displayName=e+"Context";let o=l=>{let{children:s,...u}=l,f=z.useMemo(()=>u,Object.values(u));return ut(t.Provider,{value:f,children:s})};o.displayName=e+"Provider";function r(l){let s=z.useContext(t);if(s)return s;if(a!==void 0)return a;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[o,r]}function dt(e,a=[]){let t=[];function o(l,s){let u=z.createContext(s);u.displayName=l+"Context";let f=t.length;t=[...t,s];let d=c=>{let{scope:x,children:I,...v}=c,n=x?.[e]?.[f]||u,g=z.useMemo(()=>v,Object.values(v));return ut(n.Provider,{value:g,children:I})};d.displayName=l+"Provider";function i(c,x){let I=x?.[e]?.[f]||u,v=z.useContext(I);if(v)return v;if(s!==void 0)return s;throw new Error(`\`${c}\` must be used within \`${l}\``)}return[d,i]}let r=()=>{let l=t.map(s=>z.createContext(s));return function(u){let f=u?.[e]||l;return z.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return r.scopeName=e,[o,Xo(r,...a)]}function Xo(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(l){let s=o.reduce((u,{useScope:f,scopeName:d})=>{let c=f(l)[`__scope${d}`];return{...u,...c}},{});return z.useMemo(()=>({[`__scope${a.scopeName}`]:s}),[s])}};return t.scopeName=a.scopeName,t}var vu=!!(typeof window<"u"&&window.document&&window.document.createElement);function J(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}import*as V from"react";import*as ft from"react";var Q=globalThis?.document?ft.useLayoutEffect:()=>{};import*as Ee from"react";var Ko=V[" useInsertionEffect ".trim().toString()]||Q;function nt({prop:e,defaultProp:a,onChange:t=()=>{},caller:o}){let[r,l,s]=jo({defaultProp:a,onChange:t}),u=e!==void 0,f=u?e:r;{let i=V.useRef(e!==void 0);V.useEffect(()=>{let c=i.current;c!==u&&console.warn(`${o} is changing from ${c?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),i.current=u},[u,o])}let d=V.useCallback(i=>{if(u){let c=Zo(i)?i(e):i;c!==e&&s.current?.(c)}else l(i)},[u,e,l,s]);return[f,d]}function jo({defaultProp:e,onChange:a}){let[t,o]=V.useState(e),r=V.useRef(t),l=V.useRef(a);return Ko(()=>{l.current=a},[a]),V.useEffect(()=>{r.current!==t&&(l.current?.(t),r.current=t)},[t,r]),[t,o,l]}function Zo(e){return typeof e=="function"}var Ru=Symbol("RADIX:SYNC_STATE");import*as q from"react";import*as ct from"react";function $o(e,a){return ct.useReducer((t,o)=>a[t][o]??t,e)}var ve=e=>{let{present:a,children:t}=e,o=Jo(a),r=typeof t=="function"?t({present:o.isPresent}):q.Children.only(t),l=Yo(o.ref,Qo(r));return typeof t=="function"||o.isPresent?q.cloneElement(r,{ref:l}):null};ve.displayName="Presence";function Jo(e){let[a,t]=q.useState(),o=q.useRef(null),r=q.useRef(e),l=q.useRef("none"),s=e?"mounted":"unmounted",[u,f]=$o(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return q.useEffect(()=>{let d=qe(o.current);l.current=u==="mounted"?d:"none"},[u]),Q(()=>{let d=o.current,i=r.current;if(i!==e){let x=l.current,I=qe(d);e?f("MOUNT"):I==="none"||d?.display==="none"?f("UNMOUNT"):f(i&&x!==I?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),Q(()=>{if(a){let d,i=a.ownerDocument.defaultView??window,c=I=>{let n=qe(o.current).includes(CSS.escape(I.animationName));if(I.target===a&&n&&(f("ANIMATION_END"),!r.current)){let g=a.style.animationFillMode;a.style.animationFillMode="forwards",d=i.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=g)})}},x=I=>{I.target===a&&(l.current=qe(o.current))};return a.addEventListener("animationstart",x),a.addEventListener("animationcancel",c),a.addEventListener("animationend",c),()=>{i.clearTimeout(d),a.removeEventListener("animationstart",x),a.removeEventListener("animationcancel",c),a.removeEventListener("animationend",c)}}else f("ANIMATION_END")},[a,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:q.useCallback(d=>{o.current=d?getComputedStyle(d):null,t(d)},[])}}function it(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function Yo(...e){let a=q.useRef(e);return a.current=e,q.useCallback(t=>{let o=a.current,r=!1,l=o.map(s=>{let u=it(s,t);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let s=0;s<l.length;s++){let u=l[s];typeof u=="function"?u():it(o[s],null)}}},[])}function qe(e){return e?.animationName||"none"}function Qo(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}import*as la from"react";var er=la[" useId ".trim().toString()]||(()=>{}),ar=0;function Ue(e){let[a,t]=la.useState(er());return Q(()=>{e||t(o=>o??String(ar++))},[e]),e||(a?`radix-${a}`:"")}var X={};Do(X,{Close:()=>dl,Content:()=>ll,Description:()=>sl,Dialog:()=>ka,DialogClose:()=>Ea,DialogContent:()=>Fa,DialogDescription:()=>Oa,DialogOverlay:()=>Ma,DialogPortal:()=>Da,DialogTitle:()=>Ta,DialogTrigger:()=>Ra,Overlay:()=>rl,Portal:()=>ol,Root:()=>al,Title:()=>ul,Trigger:()=>tl,WarningProvider:()=>Jr,createDialogScope:()=>Vr});import*as R from"react";import*as M from"react";import*as Ie from"react";function te(e){let a=Ie.useRef(e);return Ie.useEffect(()=>{a.current=e}),Ie.useMemo(()=>(...t)=>a.current?.(...t),[])}import*as pt from"react";function mt(e,a=globalThis?.document){let t=te(e);pt.useEffect(()=>{let o=r=>{r.key==="Escape"&&t(r)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[t,a])}import{jsx as It}from"react/jsx-runtime";var tr="DismissableLayer",ua="dismissableLayer.update",or="dismissableLayer.pointerDownOutside",rr="dismissableLayer.focusOutside",Lt,ht=M.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),sa=M.forwardRef((e,a)=>{let{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:l,onInteractOutside:s,onDismiss:u,...f}=e,d=M.useContext(ht),[i,c]=M.useState(null),x=i?.ownerDocument??globalThis?.document,[,I]=M.useState({}),v=Z(a,C=>c(C)),n=Array.from(d.layers),[g]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=n.indexOf(g),S=i?n.indexOf(i):-1,y=d.layersWithOutsidePointerEventsDisabled.size>0,k=S>=b,P=sr(C=>{let m=C.target,B=[...d.branches].some(ae=>ae.contains(m));!k||B||(r?.(C),s?.(C),C.defaultPrevented||u?.())},x),D=dr(C=>{let m=C.target;[...d.branches].some(ae=>ae.contains(m))||(l?.(C),s?.(C),C.defaultPrevented||u?.())},x);return mt(C=>{S===d.layers.size-1&&(o?.(C),!C.defaultPrevented&&u&&(C.preventDefault(),u()))},x),M.useEffect(()=>{if(i)return t&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Lt=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(i)),d.layers.add(i),xt(),()=>{t&&(d.layersWithOutsidePointerEventsDisabled.delete(i),d.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=Lt))}},[i,x,t,d]),M.useEffect(()=>()=>{i&&(d.layers.delete(i),d.layersWithOutsidePointerEventsDisabled.delete(i),xt())},[i,d]),M.useEffect(()=>{let C=()=>I({});return document.addEventListener(ua,C),()=>document.removeEventListener(ua,C)},[]),It(W.div,{...f,ref:v,style:{pointerEvents:y?k?"auto":"none":void 0,...e.style},onFocusCapture:J(e.onFocusCapture,D.onFocusCapture),onBlurCapture:J(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:J(e.onPointerDownCapture,P.onPointerDownCapture)})});sa.displayName=tr;var lr="DismissableLayerBranch",ur=M.forwardRef((e,a)=>{let t=M.useContext(ht),o=M.useRef(null),r=Z(a,o);return M.useEffect(()=>{let l=o.current;if(l)return t.branches.add(l),()=>{t.branches.delete(l)}},[t.branches]),It(W.div,{...e,ref:r})});ur.displayName=lr;function sr(e,a=globalThis?.document){let t=te(e),o=M.useRef(!1),r=M.useRef(()=>{});return M.useEffect(()=>{let l=u=>{if(u.target&&!o.current){let d=function(){gt(or,t,i,{discrete:!0})};var f=d;let i={originalEvent:u};u.pointerType==="touch"?(a.removeEventListener("click",r.current),r.current=d,a.addEventListener("click",r.current,{once:!0})):d()}else a.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{a.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(s),a.removeEventListener("pointerdown",l),a.removeEventListener("click",r.current)}},[a,t]),{onPointerDownCapture:()=>o.current=!0}}function dr(e,a=globalThis?.document){let t=te(e),o=M.useRef(!1);return M.useEffect(()=>{let r=l=>{l.target&&!o.current&&gt(rr,t,{originalEvent:l},{discrete:!1})};return a.addEventListener("focusin",r),()=>a.removeEventListener("focusin",r)},[a,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function xt(){let e=new CustomEvent(ua);document.dispatchEvent(e)}function gt(e,a,t,{discrete:o}){let r=t.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&r.addEventListener(e,a,{once:!0}),o?lt(r,l):r.dispatchEvent(l)}import*as _ from"react";import{jsx as fr}from"react/jsx-runtime";var da="focusScope.autoFocusOnMount",fa="focusScope.autoFocusOnUnmount",Ct={bubbles:!1,cancelable:!0},nr="FocusScope",na=_.forwardRef((e,a)=>{let{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:l,...s}=e,[u,f]=_.useState(null),d=te(r),i=te(l),c=_.useRef(null),x=Z(a,n=>f(n)),I=_.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;_.useEffect(()=>{if(o){let S=function(D){if(I.paused||!u)return;let C=D.target;u.contains(C)?c.current=C:oe(c.current,{select:!0})},y=function(D){if(I.paused||!u)return;let C=D.relatedTarget;C!==null&&(u.contains(C)||oe(c.current,{select:!0}))},k=function(D){if(document.activeElement===document.body)for(let m of D)m.removedNodes.length>0&&oe(u)};var n=S,g=y,b=k;document.addEventListener("focusin",S),document.addEventListener("focusout",y);let P=new MutationObserver(k);return u&&P.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",y),P.disconnect()}}},[o,u,I.paused]),_.useEffect(()=>{if(u){wt.add(I);let n=document.activeElement;if(!u.contains(n)){let b=new CustomEvent(da,Ct);u.addEventListener(da,d),u.dispatchEvent(b),b.defaultPrevented||(ir(xr(vt(u)),{select:!0}),document.activeElement===n&&oe(u))}return()=>{u.removeEventListener(da,d),setTimeout(()=>{let b=new CustomEvent(fa,Ct);u.addEventListener(fa,i),u.dispatchEvent(b),b.defaultPrevented||oe(n??document.body,{select:!0}),u.removeEventListener(fa,i),wt.remove(I)},0)}}},[u,d,i,I]);let v=_.useCallback(n=>{if(!t&&!o||I.paused)return;let g=n.key==="Tab"&&!n.altKey&&!n.ctrlKey&&!n.metaKey,b=document.activeElement;if(g&&b){let S=n.currentTarget,[y,k]=cr(S);y&&k?!n.shiftKey&&b===k?(n.preventDefault(),t&&oe(y,{select:!0})):n.shiftKey&&b===y&&(n.preventDefault(),t&&oe(k,{select:!0})):b===S&&n.preventDefault()}},[t,o,I.paused]);return fr(W.div,{tabIndex:-1,...s,ref:x,onKeyDown:v})});na.displayName=nr;function ir(e,{select:a=!1}={}){let t=document.activeElement;for(let o of e)if(oe(o,{select:a}),document.activeElement!==t)return}function cr(e){let a=vt(e),t=St(a,e),o=St(a.reverse(),e);return[t,o]}function vt(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)a.push(t.currentNode);return a}function St(e,a){for(let t of e)if(!pr(t,{upTo:a}))return t}function pr(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function mr(e){return e instanceof HTMLInputElement&&"select"in e}function oe(e,{select:a=!1}={}){if(e&&e.focus){let t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&mr(e)&&a&&e.select()}}var wt=Lr();function Lr(){let e=[];return{add(a){let t=e[0];a!==t&&t?.pause(),e=bt(e,a),e.unshift(a)},remove(a){e=bt(e,a),e[0]?.resume()}}}function bt(e,a){let t=[...e],o=t.indexOf(a);return o!==-1&&t.splice(o,1),t}function xr(e){return e.filter(a=>a.tagName!=="A")}import*as He from"react";import*as yt from"react-dom";import{jsx as Ir}from"react/jsx-runtime";var hr="Portal",ia=He.forwardRef((e,a)=>{let{container:t,...o}=e,[r,l]=He.useState(!1);Q(()=>l(!0),[]);let s=t||r&&globalThis?.document?.body;return s?yt.createPortal(Ir(W.div,{...o,ref:a}),s):null});ia.displayName=hr;import*as kt from"react";var Ge=0,he=null;function Rt(){kt.useEffect(()=>{he||(he={start:Pt(),end:Pt()});let{start:e,end:a}=he;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==a&&document.body.insertAdjacentElement("beforeend",a),Ge++,()=>{Ge===1&&(he?.start.remove(),he?.end.remove(),he=null),Ge=Math.max(0,Ge-1)}},[])}function Pt(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var N=function(){return N=Object.assign||function(a){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(a[l]=t[l])}return a},N.apply(this,arguments)};function Ne(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)a.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]]);return t}function At(e,a,t){if(t||arguments.length===2)for(var o=0,r=a.length,l;o<r;o++)(l||!(o in a))&&(l||(l=Array.prototype.slice.call(a,0,o)),l[o]=a[o]);return e.concat(l||Array.prototype.slice.call(a))}import*as Xe from"react";import*as U from"react";var fe="right-scroll-bar-position",ne="width-before-scroll-bar",ca="with-scroll-bars-hidden",pa="--removed-body-scroll-bar-size";function We(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}import{useState as gr}from"react";function Dt(e,a){var t=gr(function(){return{value:e,callback:a,facade:{get current(){return t.value},set current(o){var r=t.value;r!==o&&(t.value=o,t.callback(o,r))}}}})[0];return t.callback=a,t.facade}import*as ze from"react";var Cr=typeof window<"u"?ze.useLayoutEffect:ze.useEffect,Mt=new WeakMap;function ma(e,a){var t=Dt(a||null,function(o){return e.forEach(function(r){return We(r,o)})});return Cr(function(){var o=Mt.get(t);if(o){var r=new Set(o),l=new Set(e),s=t.current;r.forEach(function(u){l.has(u)||We(u,null)}),l.forEach(function(u){r.has(u)||We(u,s)})}Mt.set(t,e)},[e]),t}function Sr(e){return e}function wr(e,a){a===void 0&&(a=Sr);var t=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(l){var s=a(l,o);return t.push(s),function(){t=t.filter(function(u){return u!==s})}},assignSyncMedium:function(l){for(o=!0;t.length;){var s=t;t=[],s.forEach(l)}t={push:function(u){return l(u)},filter:function(){return t}}},assignMedium:function(l){o=!0;var s=[];if(t.length){var u=t;t=[],u.forEach(l),s=t}var f=function(){var i=s;s=[],i.forEach(l)},d=function(){return Promise.resolve().then(f)};d(),t={push:function(i){s.push(i),d()},filter:function(i){return s=s.filter(i),t}}}};return r}function La(e){e===void 0&&(e={});var a=wr(null);return a.options=N({async:!0,ssr:!1},e),a}import*as Ft from"react";var Bt=function(e){var a=e.sideCar,t=Ne(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=a.read();if(!o)throw new Error("Sidecar medium not found");return Ft.createElement(o,N({},t))};Bt.isSideCarExport=!0;function xa(e,a){return e.useMedium(a),Bt}var Ve=La();var Ia=function(){},ye=U.forwardRef(function(e,a){var t=U.useRef(null),o=U.useState({onScrollCapture:Ia,onWheelCapture:Ia,onTouchMoveCapture:Ia}),r=o[0],l=o[1],s=e.forwardProps,u=e.children,f=e.className,d=e.removeScrollBar,i=e.enabled,c=e.shards,x=e.sideCar,I=e.noRelative,v=e.noIsolation,n=e.inert,g=e.allowPinchZoom,b=e.as,S=b===void 0?"div":b,y=e.gapMode,k=Ne(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=x,D=ma([t,a]),C=N(N({},k),r);return U.createElement(U.Fragment,null,i&&U.createElement(P,{sideCar:Ve,removeScrollBar:d,shards:c,noRelative:I,noIsolation:v,inert:n,setCallbacks:l,allowPinchZoom:!!g,lockRef:t,gapMode:y}),s?U.cloneElement(U.Children.only(u),N(N({},C),{ref:D})):U.createElement(S,N({},C,{className:f,ref:D}),u))});ye.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ye.classNames={fullWidth:ne,zeroRight:fe};import*as A from"react";import*as Ce from"react";import*as Et from"react";var Tt;var Ot=function(){if(Tt)return Tt;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function br(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=Ot();return a&&e.setAttribute("nonce",a),e}function vr(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function yr(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var ha=function(){var e=0,a=null;return{add:function(t){e==0&&(a=br())&&(vr(a,t),yr(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}};var ga=function(){var e=ha();return function(a,t){Et.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&t])}};var Pe=function(){var e=ga(),a=function(t){var o=t.styles,r=t.dynamic;return e(o,r),null};return a};var Pr={left:0,top:0,right:0,gap:0},Ca=function(e){return parseInt(e||"",10)||0},kr=function(e){var a=window.getComputedStyle(document.body),t=a[e==="padding"?"paddingLeft":"marginLeft"],o=a[e==="padding"?"paddingTop":"marginTop"],r=a[e==="padding"?"paddingRight":"marginRight"];return[Ca(t),Ca(o),Ca(r)]},Sa=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Pr;var a=kr(e),t=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-t+a[2]-a[0])}};var Rr=Pe(),ge="data-scroll-locked",Ar=function(e,a,t,o){var r=e.left,l=e.top,s=e.right,u=e.gap;return t===void 0&&(t="margin"),`
2
- .`.concat(ca,` {
3
- overflow: hidden `).concat(o,`;
4
- padding-right: `).concat(u,"px ").concat(o,`;
5
- }
6
- body[`).concat(ge,`] {
7
- overflow: hidden `).concat(o,`;
8
- overscroll-behavior: contain;
9
- `).concat([a&&"position: relative ".concat(o,";"),t==="margin"&&`
10
- padding-left: `.concat(r,`px;
11
- padding-top: `).concat(l,`px;
12
- padding-right: `).concat(s,`px;
13
- margin-left:0;
14
- margin-top:0;
15
- margin-right: `).concat(u,"px ").concat(o,`;
16
- `),t==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),`
17
- }
18
-
19
- .`).concat(fe,` {
20
- right: `).concat(u,"px ").concat(o,`;
21
- }
22
-
23
- .`).concat(ne,` {
24
- margin-right: `).concat(u,"px ").concat(o,`;
25
- }
26
-
27
- .`).concat(fe," .").concat(fe,` {
28
- right: 0 `).concat(o,`;
29
- }
30
-
31
- .`).concat(ne," .").concat(ne,` {
32
- margin-right: 0 `).concat(o,`;
33
- }
34
-
35
- body[`).concat(ge,`] {
36
- `).concat(pa,": ").concat(u,`px;
37
- }
38
- `)},qt=function(){var e=parseInt(document.body.getAttribute(ge)||"0",10);return isFinite(e)?e:0},Dr=function(){Ce.useEffect(function(){return document.body.setAttribute(ge,(qt()+1).toString()),function(){var e=qt()-1;e<=0?document.body.removeAttribute(ge):document.body.setAttribute(ge,e.toString())}},[])},wa=function(e){var a=e.noRelative,t=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;Dr();var l=Ce.useMemo(function(){return Sa(r)},[r]);return Ce.createElement(Rr,{styles:Ar(l,!a,r,t?"":"!important")})};var ba=!1;if(typeof window<"u")try{ke=Object.defineProperty({},"passive",{get:function(){return ba=!0,!0}}),window.addEventListener("test",ke,ke),window.removeEventListener("test",ke,ke)}catch{ba=!1}var ke,ie=ba?{passive:!1}:!1;var Mr=function(e){return e.tagName==="TEXTAREA"},Ut=function(e,a){if(!(e instanceof Element))return!1;var t=window.getComputedStyle(e);return t[a]!=="hidden"&&!(t.overflowY===t.overflowX&&!Mr(e)&&t[a]==="visible")},Fr=function(e){return Ut(e,"overflowY")},Br=function(e){return Ut(e,"overflowX")},va=function(e,a){var t=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=Ht(e,o);if(r){var l=Gt(e,o),s=l[1],u=l[2];if(s>u)return!0}o=o.parentNode}while(o&&o!==t.body);return!1},Tr=function(e){var a=e.scrollTop,t=e.scrollHeight,o=e.clientHeight;return[a,t,o]},Or=function(e){var a=e.scrollLeft,t=e.scrollWidth,o=e.clientWidth;return[a,t,o]},Ht=function(e,a){return e==="v"?Fr(a):Br(a)},Gt=function(e,a){return e==="v"?Tr(a):Or(a)},Er=function(e,a){return e==="h"&&a==="rtl"?-1:1},Nt=function(e,a,t,o,r){var l=Er(e,window.getComputedStyle(a).direction),s=l*o,u=t.target,f=a.contains(u),d=!1,i=s>0,c=0,x=0;do{if(!u)break;var I=Gt(e,u),v=I[0],n=I[1],g=I[2],b=n-g-l*v;(v||b)&&Ht(e,u)&&(c+=b,x+=v);var S=u.parentNode;u=S&&S.nodeType===Node.DOCUMENT_FRAGMENT_NODE?S.host:S}while(!f&&u!==document.body||f&&(a.contains(u)||a===u));return(i&&(r&&Math.abs(c)<1||!r&&s>c)||!i&&(r&&Math.abs(x)<1||!r&&-s>x))&&(d=!0),d};var _e=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Wt=function(e){return[e.deltaX,e.deltaY]},zt=function(e){return e&&"current"in e?e.current:e},qr=function(e,a){return e[0]===a[0]&&e[1]===a[1]},Ur=function(e){return`
39
- .block-interactivity-`.concat(e,` {pointer-events: none;}
40
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
41
- `)},Hr=0,Se=[];function Vt(e){var a=A.useRef([]),t=A.useRef([0,0]),o=A.useRef(),r=A.useState(Hr++)[0],l=A.useState(Pe)[0],s=A.useRef(e);A.useEffect(function(){s.current=e},[e]),A.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var n=At([e.lockRef.current],(e.shards||[]).map(zt),!0).filter(Boolean);return n.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),n.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var u=A.useCallback(function(n,g){if("touches"in n&&n.touches.length===2||n.type==="wheel"&&n.ctrlKey)return!s.current.allowPinchZoom;var b=_e(n),S=t.current,y="deltaX"in n?n.deltaX:S[0]-b[0],k="deltaY"in n?n.deltaY:S[1]-b[1],P,D=n.target,C=Math.abs(y)>Math.abs(k)?"h":"v";if("touches"in n&&C==="h"&&D.type==="range")return!1;var m=window.getSelection(),B=m&&m.anchorNode,ae=B?B===D||B.contains(D):!1;if(ae)return!1;var ue=va(C,D);if(!ue)return!0;if(ue?P=C:(P=C==="v"?"h":"v",ue=va(C,D)),!ue)return!1;if(!o.current&&"changedTouches"in n&&(y||k)&&(o.current=P),!P)return!0;var se=o.current||P;return Nt(se,g,n,se==="h"?y:k,!0)},[]),f=A.useCallback(function(n){var g=n;if(!(!Se.length||Se[Se.length-1]!==l)){var b="deltaY"in g?Wt(g):_e(g),S=a.current.filter(function(P){return P.name===g.type&&(P.target===g.target||g.target===P.shadowParent)&&qr(P.delta,b)})[0];if(S&&S.should){g.cancelable&&g.preventDefault();return}if(!S){var y=(s.current.shards||[]).map(zt).filter(Boolean).filter(function(P){return P.contains(g.target)}),k=y.length>0?u(g,y[0]):!s.current.noIsolation;k&&g.cancelable&&g.preventDefault()}}},[]),d=A.useCallback(function(n,g,b,S){var y={name:n,delta:g,target:b,should:S,shadowParent:Gr(b)};a.current.push(y),setTimeout(function(){a.current=a.current.filter(function(k){return k!==y})},1)},[]),i=A.useCallback(function(n){t.current=_e(n),o.current=void 0},[]),c=A.useCallback(function(n){d(n.type,Wt(n),n.target,u(n,e.lockRef.current))},[]),x=A.useCallback(function(n){d(n.type,_e(n),n.target,u(n,e.lockRef.current))},[]);A.useEffect(function(){return Se.push(l),e.setCallbacks({onScrollCapture:c,onWheelCapture:c,onTouchMoveCapture:x}),document.addEventListener("wheel",f,ie),document.addEventListener("touchmove",f,ie),document.addEventListener("touchstart",i,ie),function(){Se=Se.filter(function(n){return n!==l}),document.removeEventListener("wheel",f,ie),document.removeEventListener("touchmove",f,ie),document.removeEventListener("touchstart",i,ie)}},[]);var I=e.removeScrollBar,v=e.inert;return A.createElement(A.Fragment,null,v?A.createElement(l,{styles:Ur(r)}):null,I?A.createElement(wa,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Gr(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}var _t=xa(Ve,Vt);var Xt=Xe.forwardRef(function(e,a){return Xe.createElement(ye,N({},e,{ref:a,sideCar:_t}))});Xt.classNames=ye.classNames;var ya=Xt;var Nr=function(e){if(typeof document>"u")return null;var a=Array.isArray(e)?e[0]:e;return a.ownerDocument.body},we=new WeakMap,Ke=new WeakMap,je={},Pa=0,Kt=function(e){return e&&(e.host||Kt(e.parentNode))},Wr=function(e,a){return a.map(function(t){if(e.contains(t))return t;var o=Kt(t);return o&&e.contains(o)?o:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(t){return!!t})},zr=function(e,a,t,o){var r=Wr(a,Array.isArray(e)?e:[e]);je[t]||(je[t]=new WeakMap);var l=je[t],s=[],u=new Set,f=new Set(r),d=function(c){!c||u.has(c)||(u.add(c),d(c.parentNode))};r.forEach(d);var i=function(c){!c||f.has(c)||Array.prototype.forEach.call(c.children,function(x){if(u.has(x))i(x);else try{var I=x.getAttribute(o),v=I!==null&&I!=="false",n=(we.get(x)||0)+1,g=(l.get(x)||0)+1;we.set(x,n),l.set(x,g),s.push(x),n===1&&v&&Ke.set(x,!0),g===1&&x.setAttribute(t,"true"),v||x.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",x,b)}})};return i(a),u.clear(),Pa++,function(){s.forEach(function(c){var x=we.get(c)-1,I=l.get(c)-1;we.set(c,x),l.set(c,I),x||(Ke.has(c)||c.removeAttribute(o),Ke.delete(c)),I||c.removeAttribute(t)}),Pa--,Pa||(we=new WeakMap,we=new WeakMap,Ke=new WeakMap,je={})}},jt=function(e,a,t){t===void 0&&(t="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=a||Nr(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),zr(o,r,t,"aria-hidden")):function(){return null}};import{Fragment as Zt,jsx as F,jsxs as $t}from"react/jsx-runtime";var $e="Dialog",[Jt,Vr]=dt($e),[_r,$]=Jt($e),ka=e=>{let{__scopeDialog:a,children:t,open:o,defaultOpen:r,onOpenChange:l,modal:s=!0}=e,u=R.useRef(null),f=R.useRef(null),[d,i]=nt({prop:o,defaultProp:r??!1,onChange:l,caller:$e});return F(_r,{scope:a,triggerRef:u,contentRef:f,contentId:Ue(),titleId:Ue(),descriptionId:Ue(),open:d,onOpenChange:i,onOpenToggle:R.useCallback(()=>i(c=>!c),[i]),modal:s,children:t})};ka.displayName=$e;var Yt="DialogTrigger",Ra=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=$(Yt,t),l=Z(a,r.triggerRef);return F(W.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":qa(r.open),...o,ref:l,onClick:J(e.onClick,r.onOpenToggle)})});Ra.displayName=Yt;var Aa="DialogPortal",[Xr,Qt]=Jt(Aa,{forceMount:void 0}),Da=e=>{let{__scopeDialog:a,forceMount:t,children:o,container:r}=e,l=$(Aa,a);return F(Xr,{scope:a,forceMount:t,children:R.Children.map(o,s=>F(ve,{present:t||l.open,children:F(ia,{asChild:!0,container:r,children:s})}))})};Da.displayName=Aa;var Ze="DialogOverlay",Ma=R.forwardRef((e,a)=>{let t=Qt(Ze,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,l=$(Ze,e.__scopeDialog);return l.modal?F(ve,{present:o||l.open,children:F(jr,{...r,ref:a})}):null});Ma.displayName=Ze;var Kr=Oe("DialogOverlay.RemoveScroll"),jr=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=$(Ze,t);return F(ya,{as:Kr,allowPinchZoom:!0,shards:[r.contentRef],children:F(W.div,{"data-state":qa(r.open),...o,ref:a,style:{pointerEvents:"auto",...o.style}})})}),ce="DialogContent",Fa=R.forwardRef((e,a)=>{let t=Qt(ce,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,l=$(ce,e.__scopeDialog);return F(ve,{present:o||l.open,children:l.modal?F(Zr,{...r,ref:a}):F($r,{...r,ref:a})})});Fa.displayName=ce;var Zr=R.forwardRef((e,a)=>{let t=$(ce,e.__scopeDialog),o=R.useRef(null),r=Z(a,t.contentRef,o);return R.useEffect(()=>{let l=o.current;if(l)return jt(l)},[]),F(eo,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:t.open,onCloseAutoFocus:J(e.onCloseAutoFocus,l=>{l.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:J(e.onPointerDownOutside,l=>{let s=l.detail.originalEvent,u=s.button===0&&s.ctrlKey===!0;(s.button===2||u)&&l.preventDefault()}),onFocusOutside:J(e.onFocusOutside,l=>l.preventDefault())})}),$r=R.forwardRef((e,a)=>{let t=$(ce,e.__scopeDialog),o=R.useRef(!1),r=R.useRef(!1);return F(eo,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(o.current||t.triggerRef.current?.focus(),l.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(o.current=!0,l.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=l.target;t.triggerRef.current?.contains(s)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&r.current&&l.preventDefault()}})}),eo=R.forwardRef((e,a)=>{let{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:l,...s}=e,u=$(ce,t),f=R.useRef(null),d=Z(a,f);return Rt(),$t(Zt,{children:[F(na,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:l,children:F(sa,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":qa(u.open),...s,ref:d,onDismiss:()=>u.onOpenChange(!1)})}),$t(Zt,{children:[F(Yr,{titleId:u.titleId}),F(el,{contentRef:f,descriptionId:u.descriptionId})]})]})}),Ba="DialogTitle",Ta=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=$(Ba,t);return F(W.h2,{id:r.titleId,...o,ref:a})});Ta.displayName=Ba;var ao="DialogDescription",Oa=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=$(ao,t);return F(W.p,{id:r.descriptionId,...o,ref:a})});Oa.displayName=ao;var to="DialogClose",Ea=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=$(to,t);return F(W.button,{type:"button",...o,ref:a,onClick:J(e.onClick,()=>r.onOpenChange(!1))})});Ea.displayName=to;function qa(e){return e?"open":"closed"}var oo="DialogTitleWarning",[Jr,ro]=st(oo,{contentName:ce,titleName:Ba,docsSlug:"dialog"}),Yr=({titleId:e})=>{let a=ro(oo),t=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users.
42
-
43
- If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component.
44
-
45
- For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return R.useEffect(()=>{e&&(document.getElementById(e)||console.error(t))},[t,e]),null},Qr="DialogDescriptionWarning",el=({contentRef:e,descriptionId:a})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ro(Qr).contentName}}.`;return R.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");a&&r&&(document.getElementById(a)||console.warn(o))},[o,e,a]),null},al=ka,tl=Ra,ol=Da,rl=Ma,ll=Fa,ul=Ta,sl=Oa,dl=Ea;function lo(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(a=0;a<r;a++)e[a]&&(t=lo(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function uo(){for(var e,a,t=0,o="",r=arguments.length;t<r;t++)(e=arguments[t])&&(a=lo(e))&&(o&&(o+=" "),o+=a);return o}var fl=(e,a)=>{let t=new Array(e.length+a.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<a.length;o++)t[e.length+o]=a[o];return t},nl=(e,a)=>({classGroupId:e,validator:a}),mo=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),Qe="-",so=[],il="arbitrary..",cl=e=>{let a=ml(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return pl(s);let u=s.split(Qe),f=u[0]===""&&u.length>1?1:0;return Lo(u,f,a)},getConflictingClassGroupIds:(s,u)=>{if(u){let f=o[s],d=t[s];return f?d?fl(d,f):f:d||so}return t[s]||so}}},Lo=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let r=e[a],l=t.nextPart.get(r);if(l){let d=Lo(e,a+1,l);if(d)return d}let s=t.validators;if(s===null)return;let u=a===0?e.join(Qe):e.slice(a).join(Qe),f=s.length;for(let d=0;d<f;d++){let i=s[d];if(i.validator(u))return i.classGroupId}},pl=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let a=e.slice(1,-1),t=a.indexOf(":"),o=a.slice(0,t);return o?il+o:void 0})(),ml=e=>{let{theme:a,classGroups:t}=e;return Ll(t,a)},Ll=(e,a)=>{let t=mo();for(let o in e){let r=e[o];Ga(r,t,o,a)}return t},Ga=(e,a,t,o)=>{let r=e.length;for(let l=0;l<r;l++){let s=e[l];xl(s,a,t,o)}},xl=(e,a,t,o)=>{if(typeof e=="string"){Il(e,a,t);return}if(typeof e=="function"){hl(e,a,t,o);return}gl(e,a,t,o)},Il=(e,a,t)=>{let o=e===""?a:xo(a,e);o.classGroupId=t},hl=(e,a,t,o)=>{if(Cl(e)){Ga(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(nl(t,e))},gl=(e,a,t,o)=>{let r=Object.entries(e),l=r.length;for(let s=0;s<l;s++){let[u,f]=r[s];Ga(f,xo(a,u),t,o)}},xo=(e,a)=>{let t=e,o=a.split(Qe),r=o.length;for(let l=0;l<r;l++){let s=o[l],u=t.nextPart.get(s);u||(u=mo(),t.nextPart.set(s,u)),t=u}return t},Cl=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Sl=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),r=(l,s)=>{t[l]=s,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(l){let s=t[l];if(s!==void 0)return s;if((s=o[l])!==void 0)return r(l,s),s},set(l,s){l in t?t[l]=s:r(l,s)}}},Ha="!",fo=":",wl=[],no=(e,a,t,o,r)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:r}),bl=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=r=>{let l=[],s=0,u=0,f=0,d,i=r.length;for(let n=0;n<i;n++){let g=r[n];if(s===0&&u===0){if(g===fo){l.push(r.slice(f,n)),f=n+1;continue}if(g==="/"){d=n;continue}}g==="["?s++:g==="]"?s--:g==="("?u++:g===")"&&u--}let c=l.length===0?r:r.slice(f),x=c,I=!1;c.endsWith(Ha)?(x=c.slice(0,-1),I=!0):c.startsWith(Ha)&&(x=c.slice(1),I=!0);let v=d&&d>f?d-f:void 0;return no(l,I,x,v)};if(a){let r=a+fo,l=o;o=s=>s.startsWith(r)?l(s.slice(r.length)):no(wl,!1,s,void 0,!0)}if(t){let r=o;o=l=>t({className:l,parseClassName:r})}return o},vl=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],r=[];for(let l=0;l<t.length;l++){let s=t[l],u=s[0]==="[",f=a.has(s);u||f?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},yl=e=>({cache:Sl(e.cacheSize),parseClassName:bl(e),sortModifiers:vl(e),postfixLookupClassGroupIds:Pl(e),...cl(e)}),Pl=e=>{let a=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)a[t[o]]=!0;return a},kl=/\s+/,Rl=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:s}=a,u=[],f=e.trim().split(kl),d="";for(let i=f.length-1;i>=0;i-=1){let c=f[i],{isExternal:x,modifiers:I,hasImportantModifier:v,baseClassName:n,maybePostfixModifierPosition:g}=t(c);if(x){d=c+(d.length>0?" "+d:d);continue}let b=!!g,S;if(b){let C=n.substring(0,g);S=o(C);let m=S&&s[S]?o(n):void 0;m&&m!==S&&(S=m,b=!1)}else S=o(n);if(!S){if(!b){d=c+(d.length>0?" "+d:d);continue}if(S=o(n),!S){d=c+(d.length>0?" "+d:d);continue}b=!1}let y=I.length===0?"":I.length===1?I[0]:l(I).join(":"),k=v?y+Ha:y,P=k+S;if(u.indexOf(P)>-1)continue;u.push(P);let D=r(S,b);for(let C=0;C<D.length;++C){let m=D[C];u.push(k+m)}d=c+(d.length>0?" "+d:d)}return d},Al=(...e)=>{let a=0,t,o,r="";for(;a<e.length;)(t=e[a++])&&(o=Io(t))&&(r&&(r+=" "),r+=o);return r},Io=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=Io(e[o]))&&(t&&(t+=" "),t+=a);return t},Dl=(e,...a)=>{let t,o,r,l,s=f=>{let d=a.reduce((i,c)=>c(i),e());return t=yl(d),o=t.cache.get,r=t.cache.set,l=u,u(f)},u=f=>{let d=o(f);if(d)return d;let i=Rl(f,t);return r(f,i),i};return l=s,(...f)=>l(Al(...f))},Ml=[],T=e=>{let a=t=>t[e]||Ml;return a.isThemeGetter=!0,a},ho=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,go=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Fl=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Bl=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Tl=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ol=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,El=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ql=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,re=e=>Fl.test(e),w=e=>!!e&&!Number.isNaN(Number(e)),Y=e=>!!e&&Number.isInteger(Number(e)),Ua=e=>e.endsWith("%")&&w(e.slice(0,-1)),ee=e=>Bl.test(e),Co=()=>!0,Ul=e=>Tl.test(e)&&!Ol.test(e),Na=()=>!1,Hl=e=>El.test(e),Gl=e=>ql.test(e),Nl=e=>!p(e)&&!L(e),Wl=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),zl=e=>le(e,bo,Na),p=e=>ho.test(e),pe=e=>le(e,vo,Ul),io=e=>le(e,Jl,w),Vl=e=>le(e,Po,Co),_l=e=>le(e,yo,Na),co=e=>le(e,So,Na),Xl=e=>le(e,wo,Gl),Je=e=>le(e,ko,Hl),L=e=>go.test(e),Re=e=>me(e,vo),Kl=e=>me(e,yo),po=e=>me(e,So),jl=e=>me(e,bo),Zl=e=>me(e,wo),Ye=e=>me(e,ko,!0),$l=e=>me(e,Po,!0),le=(e,a,t)=>{let o=ho.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},me=(e,a,t=!1)=>{let o=go.exec(e);return o?o[1]?a(o[1]):t:!1},So=e=>e==="position"||e==="percentage",wo=e=>e==="image"||e==="url",bo=e=>e==="length"||e==="size"||e==="bg-size",vo=e=>e==="length",Jl=e=>e==="number",yo=e=>e==="family-name",Po=e=>e==="number"||e==="weight",ko=e=>e==="shadow";var Yl=()=>{let e=T("color"),a=T("font"),t=T("text"),o=T("font-weight"),r=T("tracking"),l=T("leading"),s=T("breakpoint"),u=T("container"),f=T("spacing"),d=T("radius"),i=T("shadow"),c=T("inset-shadow"),x=T("text-shadow"),I=T("drop-shadow"),v=T("blur"),n=T("perspective"),g=T("aspect"),b=T("ease"),S=T("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...k(),L,p],D=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],m=()=>[L,p,f],B=()=>[re,"full","auto",...m()],ae=()=>[Y,"none","subgrid",L,p],ue=()=>["auto",{span:["full",Y,L,p]},Y,L,p],se=()=>[Y,"auto",L,p],za=()=>["auto","min","max","fr",L,p],ea=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],j=()=>["auto",...m()],de=()=>[re,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...m()],aa=()=>[re,"screen","full","dvw","lvw","svw","min","max","fit",...m()],ta=()=>[re,"screen","full","lh","dvh","lvh","svh","min","max","fit",...m()],h=()=>[e,L,p],Va=()=>[...k(),po,co,{position:[L,p]}],_a=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Xa=()=>["auto","cover","contain",jl,zl,{size:[L,p]}],oa=()=>[Ua,Re,pe],H=()=>["","none","full",d,L,p],G=()=>["",w,Re,pe],Ae=()=>["solid","dashed","dotted","double"],Ka=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],O=()=>[w,Ua,po,co],ja=()=>["","none",v,L,p],De=()=>["none",w,L,p],Me=()=>["none",w,L,p],ra=()=>[w,L,p],Fe=()=>[re,"full",...m()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ee],breakpoint:[ee],color:[Co],container:[ee],"drop-shadow":[ee],ease:["in","out","in-out"],font:[Nl],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ee],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ee],shadow:[ee],spacing:["px",w],text:[ee],"text-shadow":[ee],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",re,p,L,g]}],container:["container"],"container-type":[{"@container":["","normal","size",L,p]}],"container-named":[Wl],columns:[{columns:[w,p,L,u]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:B()}],"inset-x":[{"inset-x":B()}],"inset-y":[{"inset-y":B()}],start:[{"inset-s":B(),start:B()}],end:[{"inset-e":B(),end:B()}],"inset-bs":[{"inset-bs":B()}],"inset-be":[{"inset-be":B()}],top:[{top:B()}],right:[{right:B()}],bottom:[{bottom:B()}],left:[{left:B()}],visibility:["visible","invisible","collapse"],z:[{z:[Y,"auto",L,p]}],basis:[{basis:[re,"full","auto",u,...m()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[w,re,"auto","initial","none",p]}],grow:[{grow:["",w,L,p]}],shrink:[{shrink:["",w,L,p]}],order:[{order:[Y,"first","last","none",L,p]}],"grid-cols":[{"grid-cols":ae()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":se()}],"col-end":[{"col-end":se()}],"grid-rows":[{"grid-rows":ae()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":se()}],"row-end":[{"row-end":se()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":za()}],"auto-rows":[{"auto-rows":za()}],gap:[{gap:m()}],"gap-x":[{"gap-x":m()}],"gap-y":[{"gap-y":m()}],"justify-content":[{justify:[...ea(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...ea()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":ea()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:m()}],px:[{px:m()}],py:[{py:m()}],ps:[{ps:m()}],pe:[{pe:m()}],pbs:[{pbs:m()}],pbe:[{pbe:m()}],pt:[{pt:m()}],pr:[{pr:m()}],pb:[{pb:m()}],pl:[{pl:m()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":m()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":m()}],"space-y-reverse":["space-y-reverse"],size:[{size:de()}],"inline-size":[{inline:["auto",...aa()]}],"min-inline-size":[{"min-inline":["auto",...aa()]}],"max-inline-size":[{"max-inline":["none",...aa()]}],"block-size":[{block:["auto",...ta()]}],"min-block-size":[{"min-block":["auto",...ta()]}],"max-block-size":[{"max-block":["none",...ta()]}],w:[{w:[u,"screen",...de()]}],"min-w":[{"min-w":[u,"screen","none",...de()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[s]},...de()]}],h:[{h:["screen","lh",...de()]}],"min-h":[{"min-h":["screen","lh","none",...de()]}],"max-h":[{"max-h":["screen","lh",...de()]}],"font-size":[{text:["base",t,Re,pe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,$l,Vl]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ua,p]}],"font-family":[{font:[Kl,_l,a]}],"font-features":[{"font-features":[p]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,L,p]}],"line-clamp":[{"line-clamp":[w,"none",L,io]}],leading:[{leading:[l,...m()]}],"list-image":[{"list-image":["none",L,p]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",L,p]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:h()}],"text-color":[{text:h()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[w,"from-font","auto",L,pe]}],"text-decoration-color":[{decoration:h()}],"underline-offset":[{"underline-offset":[w,"auto",L,p]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:m()}],"tab-size":[{tab:[Y,L,p]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",L,p]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",L,p]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Va()}],"bg-repeat":[{bg:_a()}],"bg-size":[{bg:Xa()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Y,L,p],radial:["",L,p],conic:[Y,L,p]},Zl,Xl]}],"bg-color":[{bg:h()}],"gradient-from-pos":[{from:oa()}],"gradient-via-pos":[{via:oa()}],"gradient-to-pos":[{to:oa()}],"gradient-from":[{from:h()}],"gradient-via":[{via:h()}],"gradient-to":[{to:h()}],rounded:[{rounded:H()}],"rounded-s":[{"rounded-s":H()}],"rounded-e":[{"rounded-e":H()}],"rounded-t":[{"rounded-t":H()}],"rounded-r":[{"rounded-r":H()}],"rounded-b":[{"rounded-b":H()}],"rounded-l":[{"rounded-l":H()}],"rounded-ss":[{"rounded-ss":H()}],"rounded-se":[{"rounded-se":H()}],"rounded-ee":[{"rounded-ee":H()}],"rounded-es":[{"rounded-es":H()}],"rounded-tl":[{"rounded-tl":H()}],"rounded-tr":[{"rounded-tr":H()}],"rounded-br":[{"rounded-br":H()}],"rounded-bl":[{"rounded-bl":H()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ae(),"hidden","none"]}],"divide-style":[{divide:[...Ae(),"hidden","none"]}],"border-color":[{border:h()}],"border-color-x":[{"border-x":h()}],"border-color-y":[{"border-y":h()}],"border-color-s":[{"border-s":h()}],"border-color-e":[{"border-e":h()}],"border-color-bs":[{"border-bs":h()}],"border-color-be":[{"border-be":h()}],"border-color-t":[{"border-t":h()}],"border-color-r":[{"border-r":h()}],"border-color-b":[{"border-b":h()}],"border-color-l":[{"border-l":h()}],"divide-color":[{divide:h()}],"outline-style":[{outline:[...Ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[w,L,p]}],"outline-w":[{outline:["",w,Re,pe]}],"outline-color":[{outline:h()}],shadow:[{shadow:["","none",i,Ye,Je]}],"shadow-color":[{shadow:h()}],"inset-shadow":[{"inset-shadow":["none",c,Ye,Je]}],"inset-shadow-color":[{"inset-shadow":h()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:h()}],"ring-offset-w":[{"ring-offset":[w,pe]}],"ring-offset-color":[{"ring-offset":h()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":h()}],"text-shadow":[{"text-shadow":["none",x,Ye,Je]}],"text-shadow-color":[{"text-shadow":h()}],opacity:[{opacity:[w,L,p]}],"mix-blend":[{"mix-blend":[...Ka(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ka()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[w]}],"mask-image-linear-from-pos":[{"mask-linear-from":O()}],"mask-image-linear-to-pos":[{"mask-linear-to":O()}],"mask-image-linear-from-color":[{"mask-linear-from":h()}],"mask-image-linear-to-color":[{"mask-linear-to":h()}],"mask-image-t-from-pos":[{"mask-t-from":O()}],"mask-image-t-to-pos":[{"mask-t-to":O()}],"mask-image-t-from-color":[{"mask-t-from":h()}],"mask-image-t-to-color":[{"mask-t-to":h()}],"mask-image-r-from-pos":[{"mask-r-from":O()}],"mask-image-r-to-pos":[{"mask-r-to":O()}],"mask-image-r-from-color":[{"mask-r-from":h()}],"mask-image-r-to-color":[{"mask-r-to":h()}],"mask-image-b-from-pos":[{"mask-b-from":O()}],"mask-image-b-to-pos":[{"mask-b-to":O()}],"mask-image-b-from-color":[{"mask-b-from":h()}],"mask-image-b-to-color":[{"mask-b-to":h()}],"mask-image-l-from-pos":[{"mask-l-from":O()}],"mask-image-l-to-pos":[{"mask-l-to":O()}],"mask-image-l-from-color":[{"mask-l-from":h()}],"mask-image-l-to-color":[{"mask-l-to":h()}],"mask-image-x-from-pos":[{"mask-x-from":O()}],"mask-image-x-to-pos":[{"mask-x-to":O()}],"mask-image-x-from-color":[{"mask-x-from":h()}],"mask-image-x-to-color":[{"mask-x-to":h()}],"mask-image-y-from-pos":[{"mask-y-from":O()}],"mask-image-y-to-pos":[{"mask-y-to":O()}],"mask-image-y-from-color":[{"mask-y-from":h()}],"mask-image-y-to-color":[{"mask-y-to":h()}],"mask-image-radial":[{"mask-radial":[L,p]}],"mask-image-radial-from-pos":[{"mask-radial-from":O()}],"mask-image-radial-to-pos":[{"mask-radial-to":O()}],"mask-image-radial-from-color":[{"mask-radial-from":h()}],"mask-image-radial-to-color":[{"mask-radial-to":h()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[w]}],"mask-image-conic-from-pos":[{"mask-conic-from":O()}],"mask-image-conic-to-pos":[{"mask-conic-to":O()}],"mask-image-conic-from-color":[{"mask-conic-from":h()}],"mask-image-conic-to-color":[{"mask-conic-to":h()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Va()}],"mask-repeat":[{mask:_a()}],"mask-size":[{mask:Xa()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",L,p]}],filter:[{filter:["","none",L,p]}],blur:[{blur:ja()}],brightness:[{brightness:[w,L,p]}],contrast:[{contrast:[w,L,p]}],"drop-shadow":[{"drop-shadow":["","none",I,Ye,Je]}],"drop-shadow-color":[{"drop-shadow":h()}],grayscale:[{grayscale:["",w,L,p]}],"hue-rotate":[{"hue-rotate":[w,L,p]}],invert:[{invert:["",w,L,p]}],saturate:[{saturate:[w,L,p]}],sepia:[{sepia:["",w,L,p]}],"backdrop-filter":[{"backdrop-filter":["","none",L,p]}],"backdrop-blur":[{"backdrop-blur":ja()}],"backdrop-brightness":[{"backdrop-brightness":[w,L,p]}],"backdrop-contrast":[{"backdrop-contrast":[w,L,p]}],"backdrop-grayscale":[{"backdrop-grayscale":["",w,L,p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w,L,p]}],"backdrop-invert":[{"backdrop-invert":["",w,L,p]}],"backdrop-opacity":[{"backdrop-opacity":[w,L,p]}],"backdrop-saturate":[{"backdrop-saturate":[w,L,p]}],"backdrop-sepia":[{"backdrop-sepia":["",w,L,p]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":m()}],"border-spacing-x":[{"border-spacing-x":m()}],"border-spacing-y":[{"border-spacing-y":m()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",L,p]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[w,"initial",L,p]}],ease:[{ease:["linear","initial",b,L,p]}],delay:[{delay:[w,L,p]}],animate:[{animate:["none",S,L,p]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[n,L,p]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:De()}],"rotate-x":[{"rotate-x":De()}],"rotate-y":[{"rotate-y":De()}],"rotate-z":[{"rotate-z":De()}],scale:[{scale:Me()}],"scale-x":[{"scale-x":Me()}],"scale-y":[{"scale-y":Me()}],"scale-z":[{"scale-z":Me()}],"scale-3d":["scale-3d"],skew:[{skew:ra()}],"skew-x":[{"skew-x":ra()}],"skew-y":[{"skew-y":ra()}],transform:[{transform:[L,p,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Fe()}],"translate-x":[{"translate-x":Fe()}],"translate-y":[{"translate-y":Fe()}],"translate-z":[{"translate-z":Fe()}],"translate-none":["translate-none"],zoom:[{zoom:[Y,L,p]}],accent:[{accent:h()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:h()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",L,p]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":h()}],"scrollbar-track-color":[{"scrollbar-track":h()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":m()}],"scroll-mx":[{"scroll-mx":m()}],"scroll-my":[{"scroll-my":m()}],"scroll-ms":[{"scroll-ms":m()}],"scroll-me":[{"scroll-me":m()}],"scroll-mbs":[{"scroll-mbs":m()}],"scroll-mbe":[{"scroll-mbe":m()}],"scroll-mt":[{"scroll-mt":m()}],"scroll-mr":[{"scroll-mr":m()}],"scroll-mb":[{"scroll-mb":m()}],"scroll-ml":[{"scroll-ml":m()}],"scroll-p":[{"scroll-p":m()}],"scroll-px":[{"scroll-px":m()}],"scroll-py":[{"scroll-py":m()}],"scroll-ps":[{"scroll-ps":m()}],"scroll-pe":[{"scroll-pe":m()}],"scroll-pbs":[{"scroll-pbs":m()}],"scroll-pbe":[{"scroll-pbe":m()}],"scroll-pt":[{"scroll-pt":m()}],"scroll-pr":[{"scroll-pr":m()}],"scroll-pb":[{"scroll-pb":m()}],"scroll-pl":[{"scroll-pl":m()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",L,p]}],fill:[{fill:["none",...h()]}],"stroke-w":[{stroke:[w,Re,pe,io]}],stroke:[{stroke:["none",...h()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Ro=Dl(Yl);function Le(...e){return Ro(uo(e))}import{jsx as K,jsxs as Wa}from"react/jsx-runtime";function Td({...e}){return K(X.Root,{"data-slot":"sheet",...e})}function Od({...e}){return K(X.Trigger,{"data-slot":"sheet-trigger",...e})}function Ed({...e}){return K(X.Close,{"data-slot":"sheet-close",...e})}function Ql({...e}){return K(X.Portal,{"data-slot":"sheet-portal",...e})}function eu({className:e,...a}){return K(X.Overlay,{"data-slot":"sheet-overlay",className:Le("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...a})}function qd({className:e,children:a,side:t="right",showCloseButton:o=!0,...r}){return Wa(Ql,{children:[K(eu,{}),Wa(X.Content,{"data-slot":"sheet-content",className:Le("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",t==="right"&&"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",t==="left"&&"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",t==="top"&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",t==="bottom"&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",e),...r,children:[a,o&&Wa(X.Close,{className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary",children:[K(be,{className:"size-4"}),K("span",{className:"sr-only",children:"Close"})]})]})]})}function Ud({className:e,...a}){return K("div",{"data-slot":"sheet-header",className:Le("flex flex-col gap-1.5 p-4",e),...a})}function Hd({className:e,...a}){return K("div",{"data-slot":"sheet-footer",className:Le("mt-auto flex flex-col gap-2 p-4",e),...a})}function Gd({className:e,...a}){return K(X.Title,{"data-slot":"sheet-title",className:Le("font-semibold text-foreground",e),...a})}function Nd({className:e,...a}){return K(X.Description,{"data-slot":"sheet-description",className:Le("text-sm text-muted-foreground",e),...a})}export{Td as Sheet,Ed as SheetClose,qd as SheetContent,Nd as SheetDescription,Hd as SheetFooter,Ud as SheetHeader,Gd as SheetTitle,Od as SheetTrigger};
46
- /*! Bundled license information:
47
-
48
- lucide-react/dist/esm/shared/src/utils.js:
49
- (**
50
- * @license lucide-react v0.456.0 - ISC
51
- *
52
- * This source code is licensed under the ISC license.
53
- * See the LICENSE file in the root directory of this source tree.
54
- *)
55
-
56
- lucide-react/dist/esm/defaultAttributes.js:
57
- (**
58
- * @license lucide-react v0.456.0 - ISC
59
- *
60
- * This source code is licensed under the ISC license.
61
- * See the LICENSE file in the root directory of this source tree.
62
- *)
63
-
64
- lucide-react/dist/esm/Icon.js:
65
- (**
66
- * @license lucide-react v0.456.0 - ISC
67
- *
68
- * This source code is licensed under the ISC license.
69
- * See the LICENSE file in the root directory of this source tree.
70
- *)
71
-
72
- lucide-react/dist/esm/createLucideIcon.js:
73
- (**
74
- * @license lucide-react v0.456.0 - ISC
75
- *
76
- * This source code is licensed under the ISC license.
77
- * See the LICENSE file in the root directory of this source tree.
78
- *)
79
-
80
- lucide-react/dist/esm/icons/x.js:
81
- (**
82
- * @license lucide-react v0.456.0 - ISC
83
- *
84
- * This source code is licensed under the ISC license.
85
- * See the LICENSE file in the root directory of this source tree.
86
- *)
87
-
88
- lucide-react/dist/esm/lucide-react.js:
89
- (**
90
- * @license lucide-react v0.456.0 - ISC
91
- *
92
- * This source code is licensed under the ISC license.
93
- * See the LICENSE file in the root directory of this source tree.
94
- *)
95
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:63bc9b5aaeb68d8b560ae1187e1928ae69606d9a5b714dd712e4678d156bf52c
3
+ size 66849
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/39420af203d3c9cf48a409c4142592550d5b33c7efbf461ae949f844a45a6128 CHANGED
@@ -1,43 +1,3 @@
1
- import {
2
- Field,
3
- FieldDescription,
4
- FieldLabel,
5
- FieldSet,
6
- } from "@/registry/new-york-v4/ui/field"
7
- import {
8
- RadioGroup,
9
- RadioGroupItem,
10
- } from "@/registry/new-york-v4/ui/radio-group"
11
-
12
- export default function FieldRadio() {
13
- return (
14
- <div className="w-full max-w-md">
15
- <FieldSet>
16
- <FieldLabel>Subscription Plan</FieldLabel>
17
- <FieldDescription>
18
- Yearly and lifetime plans offer significant savings.
19
- </FieldDescription>
20
- <RadioGroup defaultValue="monthly">
21
- <Field orientation="horizontal">
22
- <RadioGroupItem value="monthly" id="plan-monthly" />
23
- <FieldLabel htmlFor="plan-monthly" className="font-normal">
24
- Monthly ($9.99/month)
25
- </FieldLabel>
26
- </Field>
27
- <Field orientation="horizontal">
28
- <RadioGroupItem value="yearly" id="plan-yearly" />
29
- <FieldLabel htmlFor="plan-yearly" className="font-normal">
30
- Yearly ($99.99/year)
31
- </FieldLabel>
32
- </Field>
33
- <Field orientation="horizontal">
34
- <RadioGroupItem value="lifetime" id="plan-lifetime" />
35
- <FieldLabel htmlFor="plan-lifetime" className="font-normal">
36
- Lifetime ($299.99)
37
- </FieldLabel>
38
- </Field>
39
- </RadioGroup>
40
- </FieldSet>
41
- </div>
42
- )
43
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d481ad686841ddfcdb531ac8f8473f9ddc23816a940d22a0f5bd86e4f4219f6
3
+ size 1348
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/395a87a71a9476db2bcc641242958ebab2161ba5ce5fddf492b70b7c4a9d1b75 CHANGED
@@ -1,101 +1,3 @@
1
- #!/usr/bin/env node
2
- // shard-holo.test.mjs — prove the sharder (shard-holo.mjs) splits a .holo into parts the REAL spanning
3
- // reader (gpu/holo-pack-shards.mjs spanReader) stitches back BYTE-IDENTICAL, and that openHoloStream still
4
- // L5-verifies every body across part boundaries. So a 9B .holo can ship as <2 GiB parts with zero loss.
5
- //
6
- // Checks (all must hold):
7
- // 1 manifestShape — parts contiguous (start_i == start_{i-1}+len_{i-1}), Σlen == size, none > partSize, root = footer.
8
- // 2 perPartSha256 — each part file re-hashes to its manifest sha256.
9
- // 3 stitchByteEqual — spanReader(parts, readPartFromDisk) reconstructs the original .holo byte-for-byte.
10
- // 4 streamAcrossParts — openHoloStream over the spanning reader: headerBytes + every body L5-OK (boundary-straddling reads).
11
- // 5 tinyPartsStress — a deliberately tiny partSize (many parts, bodies split across several) still round-trips.
12
- //
13
- // Usage: node holo-apps/apps/q/forge/shard-holo.test.mjs
14
-
15
- import { writeFileSync, readFileSync, rmSync, mkdtempSync, openSync, readSync, closeSync } from "node:fs";
16
- import { fileURLToPath } from "node:url";
17
- import { dirname, join } from "node:path";
18
- import { tmpdir } from "node:os";
19
- import { sealHolo } from "./holo-forge-seal.mjs";
20
- import { shardHolo } from "./shard-holo.mjs";
21
- import { spanReader } from "./gpu/holo-pack-shards.mjs";
22
- import { openHoloStream } from "./holo-archive.mjs";
23
- import { sha256hex } from "../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
24
-
25
- const here = dirname(fileURLToPath(import.meta.url));
26
- const enc = new TextEncoder();
27
- const eq = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]);
28
- const body = (seed, n) => { const b = new Uint8Array(n); for (let i = 0; i < n; i++) b[i] = (seed * 131 + i * 7) & 0xff; return b; };
29
-
30
- // a synthetic .holo big enough to span several parts at a small partSize
31
- const blocks = new Map(), tensors = [];
32
- for (const [name, seed, len] of [["token_embd", 1, 9000], ["blk.0.attn", 2, 6000], ["blk.1.attn", 3, 6000], ["output.weight", 4, 5000]]) {
33
- const b = body(seed, len), hex = sha256hex(b); blocks.set(hex, b); tensors.push({ name, kappa: "did:holo:sha256:" + hex, nbytes: len });
34
- }
35
- const sealed = sealHolo({ arch: "qwen2", sourceRoot: "did:holo:sha256:" + sha256hex(enc.encode("root")), tensors, blocks, extKey: "gguf.header", extBytes: enc.encode("GGUF-HDR…") });
36
-
37
- const dir = mkdtempSync(join(tmpdir(), "holo-shard-"));
38
- const holoPath = join(dir, "thinking.holo");
39
- writeFileSync(holoPath, sealed.holo);
40
-
41
- // disk-backed readPart(i, withinOff, n) the spanReader drives
42
- function readPartFromDisk(outDir, parts) {
43
- return (i, off, n) => {
44
- const fd = openSync(join(outDir, parts[i].name), "r");
45
- try { const buf = Buffer.alloc(n); let got = 0; while (got < n) { const r = readSync(fd, buf, got, n - got, off + got); if (!r) break; got += r; } return new Uint8Array(buf.buffer, buf.byteOffset, got); }
46
- finally { closeSync(fd); }
47
- };
48
- }
49
-
50
- const checks = {};
51
-
52
- async function roundTrip(partSize, label) {
53
- const outDir = join(dir, "out-" + label);
54
- const { manifest } = await shardHolo({ inPath: holoPath, outDir, partSize, gateway: "https://ipfs.example/" });
55
- // 1 · manifest shape
56
- let contiguous = manifest.parts[0].start === 0, sum = 0, withinCap = true;
57
- for (let i = 0; i < manifest.parts.length; i++) {
58
- const p = manifest.parts[i]; sum += p.len; if (p.len > manifest.partSize) withinCap = false;
59
- if (i > 0 && p.start !== manifest.parts[i - 1].start + manifest.parts[i - 1].len) contiguous = false;
60
- }
61
- const shapeOk = contiguous && sum === manifest.size && withinCap && manifest.root === sealed.rootHolo;
62
- // 2 · per-part sha256
63
- let partsOk = true;
64
- for (const p of manifest.parts) { const bytes = new Uint8Array(readFileSync(join(outDir, p.name))); if (bytes.length !== p.len || sha256hex(bytes) !== p.sha256) partsOk = false; }
65
- // 3 · stitch byte-equal via the REAL spanReader
66
- const read = spanReader(manifest.parts, readPartFromDisk(outDir, manifest.parts));
67
- const stitched = await read(0, manifest.size);
68
- const stitchOk = eq(stitched, sealed.holo);
69
- // 4 · openHoloStream over the spanning reader L5-verifies every body
70
- const h = await openHoloStream((off, len) => read(off, len));
71
- let bodiesOk = eq(h.headerBytes, new Uint8Array(enc.encode("GGUF-HDR…")));
72
- for (const [hex, b] of blocks) { const got = await h.getBody(hex); if (!eq(got, b)) bodiesOk = false; }
73
- return { shapeOk, partsOk, stitchOk, streamOk: bodiesOk, nParts: manifest.parts.length };
74
- }
75
-
76
- // normal-ish part size → a few parts
77
- {
78
- const r = await roundTrip(8192, "normal");
79
- checks.manifestShape = r.shapeOk;
80
- checks.perPartSha256 = r.partsOk;
81
- checks.stitchByteEqual = r.stitchOk;
82
- checks.streamAcrossParts = r.streamOk;
83
- }
84
- // tiny part size → many parts, bodies split across several
85
- {
86
- const r = await roundTrip(512, "tiny");
87
- checks.tinyPartsStress = r.shapeOk && r.partsOk && r.stitchOk && r.streamOk && r.nParts > 8;
88
- }
89
-
90
- try { rmSync(dir, { recursive: true, force: true }); } catch {}
91
-
92
- const witnessed = Object.values(checks).every(Boolean);
93
- writeFileSync(join(here, "shard-holo.test.result.json"), JSON.stringify({
94
- spec: "Sharder (shard-holo.mjs) splits a .holo into <2 GiB delivery parts + a manifest the REAL spanning reader (holo-pack-shards.mjs spanReader/openShardedPack) stitches back byte-identical; openHoloStream still L5-verifies every body across part boundaries. A 9B .holo ships as parts with zero loss and one logical address.",
95
- authority: "holo-pack-shards.mjs spanReader · holo-archive openHoloStream L5 · GitHub 2 GiB asset cap",
96
- witnessed, checks,
97
- }, null, 2) + "\n");
98
-
99
- for (const [k, v] of Object.entries(checks)) console.log(` ${v ? "ok " : "FAIL"} ${k}`);
100
- console.log(`VERDICT : ${witnessed ? "WITNESSED ✓ shard → spanReader stitch is byte-identical and L5-verified across boundaries" : "NOT WITNESSED"}`);
101
- process.exit(witnessed ? 0 : 1);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb6d2dae7063ceaf6984e09faa0b33da6924ff6dd09823be6c02cbc67b5d763d
3
+ size 5946
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/39a3561ca918859f6907339f2cb2346968dbdd5b88f2a8e5cf9fe594670e9bb3 CHANGED
@@ -1 +1,3 @@
1
- /*! 🌼 daisyUI 5.5.22 - MIT License */ @layer utilities{.loading{@layer daisyui.l1.l2.l3{&{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-position:50%;mask-size:100%;mask-repeat:no-repeat}}}.loading-spinner{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}}.loading-dots{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}}}.loading-ring{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}}.loading-ball{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E")}}}.loading-bars{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E")}}}.loading-infinity{@layer daisyui.l1.l2{&{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E")}}}.loading-xs{@layer daisyui.l1.l2{&{width:calc(var(--size-selector,.25rem)*4)}}}.loading-sm{@layer daisyui.l1.l2{&{width:calc(var(--size-selector,.25rem)*5)}}}.loading-md{@layer daisyui.l1.l2{&{width:calc(var(--size-selector,.25rem)*6)}}}.loading-lg{@layer daisyui.l1.l2{&{width:calc(var(--size-selector,.25rem)*7)}}}.loading-xl{@layer daisyui.l1.l2{&{width:calc(var(--size-selector,.25rem)*8)}}}}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:96781dd61a52619404fff1e4345a3cd21429a9f127c043a7036d2c64027ac448
3
+ size 6660
b/39be68ae6785095d545850b80f4ae472f486b6208afca82546d9e511417275f8 CHANGED
@@ -1,107 +1,3 @@
1
- import * as React from "react"
2
- import { Avatar as AvatarPrimitive } from "radix-ui"
3
-
4
- import { cn } from "@/lib/utils"
5
-
6
- function Avatar({
7
- className,
8
- size = "default",
9
- ...props
10
- }: React.ComponentProps<typeof AvatarPrimitive.Root> & {
11
- size?: "default" | "sm" | "lg"
12
- }) {
13
- return (
14
- <AvatarPrimitive.Root
15
- data-slot="avatar"
16
- data-size={size}
17
- className={cn(
18
- "group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
19
- className
20
- )}
21
- {...props}
22
- />
23
- )
24
- }
25
-
26
- function AvatarImage({
27
- className,
28
- ...props
29
- }: React.ComponentProps<typeof AvatarPrimitive.Image>) {
30
- return (
31
- <AvatarPrimitive.Image
32
- data-slot="avatar-image"
33
- className={cn("aspect-square size-full", className)}
34
- {...props}
35
- />
36
- )
37
- }
38
-
39
- function AvatarFallback({
40
- className,
41
- ...props
42
- }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
43
- return (
44
- <AvatarPrimitive.Fallback
45
- data-slot="avatar-fallback"
46
- className={cn(
47
- "flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
48
- className
49
- )}
50
- {...props}
51
- />
52
- )
53
- }
54
-
55
- function AvatarBadge({ className, ...props }: React.ComponentProps<"span">) {
56
- return (
57
- <span
58
- data-slot="avatar-badge"
59
- className={cn(
60
- "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
61
- "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
62
- "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
63
- "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
64
- className
65
- )}
66
- {...props}
67
- />
68
- )
69
- }
70
-
71
- function AvatarGroup({ className, ...props }: React.ComponentProps<"div">) {
72
- return (
73
- <div
74
- data-slot="avatar-group"
75
- className={cn(
76
- "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
77
- className
78
- )}
79
- {...props}
80
- />
81
- )
82
- }
83
-
84
- function AvatarGroupCount({
85
- className,
86
- ...props
87
- }: React.ComponentProps<"div">) {
88
- return (
89
- <div
90
- data-slot="avatar-group-count"
91
- className={cn(
92
- "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
93
- className
94
- )}
95
- {...props}
96
- />
97
- )
98
- }
99
-
100
- export {
101
- Avatar,
102
- AvatarImage,
103
- AvatarFallback,
104
- AvatarBadge,
105
- AvatarGroup,
106
- AvatarGroupCount,
107
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cdc397b7a66fe17c931b11cb5d3e8e599f83c0da0a7a582fedf28c55efd76cdc
3
+ size 2902
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/39bf229a50fdf0c5a8d9d02d0b22eaa143f3d682445321c7c9ff5f34dc67628e CHANGED
@@ -1,3 +1,3 @@
1
- export default function TypographyLarge() {
2
- return <div className="text-lg font-semibold">Are you absolutely sure?</div>
3
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9c6e7b7d471a9e4352e4f634db43be9c4b2e652c9d80dc59cf6091163ca03bdd
3
+ size 125
b/39f9240ce03eef3b0a1633bc1736b37922237d205960840fdec5d75e02ad278e CHANGED
The diff for this file is too large to render. See raw diff
 
b/3a71e709f66cbddb2836a84056f785d82a91a5ba5815872191556839a6cc5e73 CHANGED
@@ -1,49 +1,3 @@
1
- // gguf-forge-kstream witness — the LLM runs 100% from κ-bodies, loaded BY κ with L5, no re-forge.
2
- // • open the REAL qwen2.5-0.5b .holo (per-tensor κ-bodies) → forge-compatible plan + L5 store
3
- // • run the Tier-A forward sourcing EVERY weight by its κ (per-block L5 on first use, cached after)
4
- // • argmax must equal the witnessed forge/llama.cpp result (3283) → parity preserved through κ-stream
5
- // • a tampered archive is refused (footer L5)
6
- // This is the substrate load path of the vision (no monolithic re-forge); the browser streams the SAME
7
- // .holo over HTTP-Range / SW κ-route / IPFS via openGgufHoloStream — serverless + verified + warm-cached.
8
- import { readFileSync } from "node:fs";
9
- import { openGgufHolo, kstreamLoad } from "./gguf-forge-kstream.mjs";
10
- import { readHolo } from "./holo-archive.mjs";
11
- import { synthesizeGraph } from "./gguf-forge-graph.mjs";
12
- import { forward } from "./gguf-forge-exec.mjs";
13
-
14
- const HOLO = "./.models/qwen2.5-0.5b-instruct.holo";
15
- const TOKENS = [785, 6722, 374, 264]; // "The capital of France is" — witnessed argmax 3283 (== llama.cpp)
16
- const EXPECT = 3283;
17
- let pass = 0, fail = 0; const ok = (c, m) => { if (c) { console.log(` ok ${m}`); pass++; } else { console.log(` XX ${m}`); fail++; } };
18
- const t0 = Date.now(), el = () => ((Date.now() - t0) / 1000).toFixed(0) + "s";
19
-
20
- const bytes = new Uint8Array(readFileSync(HOLO));
21
- console.log(`[${el()}] read ${(bytes.length / 1e6 | 0)}MB .holo`);
22
-
23
- // 1. open by κ — plan reconstructed from the embedded gguf.header + name→κ directory (no GGUF re-forge)
24
- const cache = new Map();
25
- const { plan, store, rootHolo, meta } = openGgufHolo(bytes, { cache });
26
- console.log(`[${el()}] opened: arch=${plan.arch} tensors=${plan.tensors.length} rootHolo=${String(rootHolo).slice(0, 28)}…`);
27
- ok(plan.arch === "qwen2" && plan.tensors.length === meta.nTensors && plan.tensors.every((t) => /sha256:[0-9a-f]{64}/.test(t.kappa)),
28
- `opened from κ-bodies: ${plan.tensors.length} tensors each addressed by κ (no monolithic re-forge)`);
29
-
30
- // 2. L5 verify-on-receipt: every body re-derives to its κ on first get (store throws on mismatch)
31
- const probe = plan.tensors[10].kappa.split(":").pop();
32
- let l5ok = false; try { const b = store.get(probe); l5ok = !!b; } catch { l5ok = false; }
33
- ok(l5ok, `per-body L5: weight loaded by κ re-derives + is accepted`);
34
- // tamper the archive → footer L5 refuses the whole thing
35
- const tampered = bytes.slice(); tampered[Math.floor(bytes.length / 2)] ^= 0xff;
36
- let refused = false; try { readHolo(tampered); } catch { refused = true; }
37
- ok(refused, `tampered archive is REFUSED on receipt (footer L5)`);
38
-
39
- // 3. RUN the model from the κ-stream store — every matvec sources its weight by κ (cached after first L5)
40
- const graph = synthesizeGraph(plan);
41
- console.log(`[${el()}] graph: family=${graph.family} layers=${graph.stats.n_layer} — running forward from κ-bodies…`);
42
- const logits = forward(plan, graph, store, TOKENS, { load: kstreamLoad });
43
- let am = 0; for (let j = 1; j < logits.length; j++) if (logits[j] > logits[am]) am = j;
44
- console.log(`[${el()}] forward done: argmax=${am}, ${cache.size} κ-blocks cached (warm = O(1))`);
45
- ok(am === EXPECT, `forward FROM κ-bodies → argmax ${am} == witnessed forge/llama.cpp (${EXPECT}) — parity preserved through the κ-stream`);
46
- ok(cache.size === plan.tensors.length, `every weight loaded exactly once by κ then cached (${cache.size}/${plan.tensors.length}) — O(1) warm reuse`);
47
-
48
- console.log(`\n[${el()}] ${pass}/${pass + fail} green${fail ? " — FAIL" : " — WITNESSED: the LLM runs from κ-bodies by κ, L5, parity-exact"}`);
49
- process.exit(fail ? 1 : 0);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:74b077cf51e0f28b75afb3fc673b9911b002696a7cadd7e65167c1a3721ddb62
3
+ size 3669
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3a77c53fd63a6735015bb3c5ead2da91a673e5e58ee2066819720fa69140f911 CHANGED
@@ -1,33 +1,3 @@
1
- import { useId, type ReactElement } from "react"
2
-
3
- type BacklightProps = {
4
- children?: ReactElement
5
- className?: string
6
- blur?: number
7
- }
8
-
9
- export function Backlight({ blur = 20, children, className }: BacklightProps) {
10
- const id = useId()
11
-
12
- return (
13
- <div className={className}>
14
- <svg width="0" height="0" aria-hidden="true">
15
- <filter id={id} y="-50%" x="-50%" width="200%" height="200%">
16
- <feGaussianBlur
17
- in="SourceGraphic"
18
- stdDeviation={blur}
19
- result="blurred"
20
- ></feGaussianBlur>
21
- <feColorMatrix
22
- type="saturate"
23
- in="blurred"
24
- values="4"
25
- ></feColorMatrix>
26
- <feComposite in="SourceGraphic" operator="over"></feComposite>
27
- </filter>
28
- </svg>
29
-
30
- <div style={{ filter: `url(#${id})` }}>{children}</div>
31
- </div>
32
- )
33
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d302fbcbfa80f42cf59f3ffbf4451627f6a79d9206d6e3bc1fb3f65511515108
3
+ size 867
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3a938e2c57784a1489082eb3188a29ef525c5494f104ff9b74e186ed282c64c4 CHANGED
@@ -1,32 +1,3 @@
1
- import { GalleryVerticalEnd } from "lucide-react"
2
-
3
- import { SignupForm } from "@/registry/new-york-v4/blocks/signup-02/components/signup-form"
4
-
5
- export default function SignupPage() {
6
- return (
7
- <div className="grid min-h-svh lg:grid-cols-2">
8
- <div className="flex flex-col gap-4 p-6 md:p-10">
9
- <div className="flex justify-center gap-2 md:justify-start">
10
- <a href="#" className="flex items-center gap-2 font-medium">
11
- <div className="flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
12
- <GalleryVerticalEnd className="size-4" />
13
- </div>
14
- Acme Inc.
15
- </a>
16
- </div>
17
- <div className="flex flex-1 items-center justify-center">
18
- <div className="w-full max-w-xs">
19
- <SignupForm />
20
- </div>
21
- </div>
22
- </div>
23
- <div className="relative hidden bg-muted lg:block">
24
- <img
25
- src="/placeholder.svg"
26
- alt="Image"
27
- className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
28
- />
29
- </div>
30
- </div>
31
- )
32
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54ba0c6362f2a3a580edcbd995e2248ac394c9c826df7486343d2eba88da5019
3
+ size 1137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3a99de9348ab7db10227bcce3069a7e9ca611828abf406eacacf7e090a974901 CHANGED
@@ -1,302 +1,3 @@
1
- import { useId } from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- interface HexagonPatternProps extends React.SVGProps<SVGSVGElement> {
6
- /**
7
- * The radius of each hexagon (center to vertex).
8
- * @default 40
9
- */
10
- radius?: number
11
- /**
12
- * Spacing in pixels between adjacent hexagons.
13
- * The tile grows by this amount while the visual radius stays fixed,
14
- * so the gap is evenly distributed on all sides of each hexagon.
15
- * @default 0
16
- */
17
- gap?: number
18
- /**
19
- * Offset applied to the pattern origin on the x-axis.
20
- * @default -1
21
- */
22
- x?: number
23
- /**
24
- * Offset applied to the pattern origin on the y-axis.
25
- * @default -1
26
- */
27
- y?: number
28
- /**
29
- * Controls the orientation of the hexagons.
30
- * - `"horizontal"` — flat-top hexagons tiled in a horizontal honeycomb grid.
31
- * - `"vertical"` — pointy-top hexagons tiled in a vertical honeycomb grid.
32
- * @default "horizontal"
33
- */
34
- direction?: "horizontal" | "vertical"
35
- /**
36
- * SVG stroke-dasharray applied to each hexagon outline.
37
- * @default "0"
38
- */
39
- strokeDasharray?: string
40
- /**
41
- * Array of [col, row] coordinates for hexagons that should be highlighted
42
- * (filled) on top of the repeating pattern — mirrors the `squares` prop of
43
- * GridPattern.
44
- */
45
- hexagons?: Array<[col: number, row: number]>
46
- className?: string
47
- [key: string]: unknown
48
- }
49
-
50
- type HexPoint = readonly [number, number]
51
-
52
- function hexVertexList(
53
- cx: number,
54
- cy: number,
55
- r: number,
56
- direction: "horizontal" | "vertical"
57
- ): HexPoint[] {
58
- const startAngle = direction === "horizontal" ? 0 : 30
59
- return Array.from({ length: 6 }, (_, i) => {
60
- const angle = ((startAngle + i * 60) * Math.PI) / 180
61
- return [cx + r * Math.cos(angle), cy + r * Math.sin(angle)] as const
62
- })
63
- }
64
-
65
- function hexPoints(
66
- cx: number,
67
- cy: number,
68
- r: number,
69
- direction: "horizontal" | "vertical"
70
- ): string {
71
- return hexVertexList(cx, cy, r, direction)
72
- .map(([px, py]) => `${px},${py}`)
73
- .join(" ")
74
- }
75
-
76
- function edgeLexKey(a: HexPoint, b: HexPoint): string {
77
- const [p, q] =
78
- a[0] < b[0] || (a[0] === b[0] && a[1] <= b[1]) ? [a, b] : [b, a]
79
- return `${p[0].toFixed(6)},${p[1].toFixed(6)}|${q[0].toFixed(6)},${q[1].toFixed(6)}`
80
- }
81
-
82
- function collectUniqueHexEdges(
83
- centers: [number, number][],
84
- r: number,
85
- direction: "horizontal" | "vertical"
86
- ): [HexPoint, HexPoint][] {
87
- const seen = new Set<string>()
88
- const edges: [HexPoint, HexPoint][] = []
89
- for (const [cx, cy] of centers) {
90
- const verts = hexVertexList(cx, cy, r, direction)
91
- for (let i = 0; i < 6; i++) {
92
- const a = verts[i]
93
- const b = verts[(i + 1) % 6]
94
- const key = edgeLexKey(a, b)
95
- if (!seen.has(key)) {
96
- seen.add(key)
97
- edges.push([a, b])
98
- }
99
- }
100
- }
101
- return edges
102
- }
103
-
104
- function isSolidStrokeDasharray(strokeDasharray: string): boolean {
105
- const t = strokeDasharray.trim()
106
- return t === "" || t === "none" || t === "0"
107
- }
108
-
109
- function getHexSpacing(
110
- r: number,
111
- direction: "horizontal" | "vertical",
112
- gap: number
113
- ): {
114
- colStep: number
115
- rowStep: number
116
- tileW: number
117
- tileH: number
118
- } {
119
- const sqrt3 = Math.sqrt(3)
120
-
121
- // `gap` should match the visible edge-to-edge spacing, so we add it along
122
- // the shared-edge normal instead of directly on the raw x/y axes.
123
- if (direction === "horizontal") {
124
- const colStep = (3 * r) / 2 + (sqrt3 * gap) / 2
125
- const rowStep = sqrt3 * r + gap
126
-
127
- return {
128
- colStep,
129
- rowStep,
130
- tileW: colStep * 2,
131
- tileH: rowStep,
132
- }
133
- }
134
-
135
- const colStep = sqrt3 * r + gap
136
- const rowStep = (3 * r) / 2 + (sqrt3 * gap) / 2
137
-
138
- return {
139
- colStep,
140
- rowStep,
141
- tileW: colStep,
142
- tileH: rowStep * 2,
143
- }
144
- }
145
-
146
- function getTileGeometry(
147
- r: number,
148
- direction: "horizontal" | "vertical",
149
- gap: number
150
- ): {
151
- tileW: number
152
- tileH: number
153
- centers: [number, number][]
154
- } {
155
- if (direction === "horizontal") {
156
- const { colStep, rowStep, tileW, tileH } = getHexSpacing(r, direction, gap)
157
-
158
- const canonical: [number, number][] = [
159
- [colStep / 2, rowStep / 2],
160
- [(colStep * 3) / 2, rowStep],
161
- ]
162
-
163
- const centers: [number, number][] = []
164
- for (const [cx, cy] of canonical) {
165
- centers.push([cx, cy])
166
- if (cy - r < 0) centers.push([cx, cy + tileH])
167
- if (cy + r > tileH) centers.push([cx, cy - tileH])
168
- if (cx - r < 0) centers.push([cx + tileW, cy])
169
- if (cx + r > tileW) centers.push([cx - tileW, cy])
170
- if (cy - r < 0 && cx - r < 0) centers.push([cx + tileW, cy + tileH])
171
- if (cy - r < 0 && cx + r > tileW) centers.push([cx - tileW, cy + tileH])
172
- if (cy + r > tileH && cx - r < 0) centers.push([cx + tileW, cy - tileH])
173
- if (cy + r > tileH && cx + r > tileW)
174
- centers.push([cx - tileW, cy - tileH])
175
- }
176
-
177
- return { tileW, tileH, centers }
178
- } else {
179
- const { colStep, rowStep, tileW, tileH } = getHexSpacing(r, direction, gap)
180
-
181
- const canonical: [number, number][] = [
182
- [colStep / 2, rowStep / 2],
183
- [colStep, (rowStep * 3) / 2],
184
- ]
185
-
186
- const centers: [number, number][] = []
187
- for (const [cx, cy] of canonical) {
188
- centers.push([cx, cy])
189
- if (cy - r < 0) centers.push([cx, cy + tileH])
190
- if (cy + r > tileH) centers.push([cx, cy - tileH])
191
- if (cx - r < 0) centers.push([cx + tileW, cy])
192
- if (cx + r > tileW) centers.push([cx - tileW, cy])
193
- if (cy - r < 0 && cx - r < 0) centers.push([cx + tileW, cy + tileH])
194
- if (cy - r < 0 && cx + r > tileW) centers.push([cx - tileW, cy + tileH])
195
- if (cy + r > tileH && cx - r < 0) centers.push([cx + tileW, cy - tileH])
196
- if (cy + r > tileH && cx + r > tileW)
197
- centers.push([cx - tileW, cy - tileH])
198
- }
199
-
200
- return { tileW, tileH, centers }
201
- }
202
- }
203
-
204
- function hexCenter(
205
- col: number,
206
- row: number,
207
- r: number,
208
- direction: "horizontal" | "vertical",
209
- gap: number
210
- ): [number, number] {
211
- if (direction === "horizontal") {
212
- const { colStep, rowStep } = getHexSpacing(r, direction, gap)
213
- const x = col * colStep + colStep / 2
214
- const y = row * rowStep + rowStep / 2 + (col % 2 !== 0 ? rowStep / 2 : 0)
215
- return [x, y]
216
- } else {
217
- const { colStep, rowStep } = getHexSpacing(r, direction, gap)
218
- const x = col * colStep + colStep / 2 + (row % 2 !== 0 ? colStep / 2 : 0)
219
- const y = row * rowStep + rowStep / 2
220
- return [x, y]
221
- }
222
- }
223
-
224
- export function HexagonPattern({
225
- radius = 40,
226
- gap = 0,
227
- x = -1,
228
- y = -1,
229
- strokeDasharray = "0",
230
- direction = "horizontal",
231
- hexagons,
232
- className,
233
- ...props
234
- }: HexagonPatternProps) {
235
- const id = useId()
236
-
237
- const { tileW, tileH, centers } = getTileGeometry(radius, direction, gap)
238
- const solidStroke = isSolidStrokeDasharray(strokeDasharray)
239
- const dashedEdges = solidStroke
240
- ? null
241
- : collectUniqueHexEdges(centers, radius, direction)
242
-
243
- return (
244
- <svg
245
- aria-hidden="true"
246
- className={cn(
247
- "pointer-events-none absolute inset-0 h-full w-full fill-gray-400/30 stroke-gray-400/30",
248
- className
249
- )}
250
- {...props}
251
- >
252
- <defs>
253
- <pattern
254
- id={id}
255
- width={tileW}
256
- height={tileH}
257
- patternUnits="userSpaceOnUse"
258
- x={x}
259
- y={y}
260
- >
261
- {solidStroke
262
- ? centers.map(([cx, cy]) => (
263
- <polygon
264
- className="fill-none"
265
- key={`${cx}-${cy}`}
266
- points={hexPoints(cx, cy, radius, direction)}
267
- strokeDasharray={strokeDasharray}
268
- />
269
- ))
270
- : dashedEdges?.map(([a, b]) => (
271
- <line
272
- className="fill-none"
273
- key={edgeLexKey(a, b)}
274
- x1={a[0]}
275
- x2={b[0]}
276
- y1={a[1]}
277
- y2={b[1]}
278
- strokeDasharray={strokeDasharray}
279
- />
280
- ))}
281
- </pattern>
282
- </defs>
283
-
284
- <rect width="100%" height="100%" fill={`url(#${id})`} stroke="none" />
285
-
286
- {hexagons && hexagons.length > 0 && (
287
- <svg aria-hidden="true" className="overflow-visible" x={x} y={y}>
288
- {hexagons.map(([col, row]) => {
289
- const [cx, cy] = hexCenter(col, row, radius, direction, gap)
290
- return (
291
- <polygon
292
- key={`${col}-${row}`}
293
- points={hexPoints(cx, cy, radius - 1, direction)}
294
- strokeWidth="0"
295
- />
296
- )
297
- })}
298
- </svg>
299
- )}
300
- </svg>
301
- )
302
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:466ed6cafc0de757a37ced4b3659e6713d98dd6f97325982813f5f390d97ad68
3
+ size 8403
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3aa6fead7138f3b4274252b6825cb6931a779da3d7842087ac1cb7c99db4f736 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-line-label-custom",
3
- "name": "chart-line-label-custom",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Line",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-line-label-custom.json",
8
- "did": "did:holo:sha256:e789387b957d5e223d6d02bd907401afaeb97cec41e7e91f5e147393265316a6",
9
- "import": "holo://sha256:0a2f52114a32f2df4b1c52e7aa159553dc14c1e7b070b592cd9b7a17b1ca6d11",
10
- "integrity": "sha256-Ci9SEUoy8t9LHFLnqhWVU9wUweewcLWSzZt6F7HKbRE=",
11
- "kappa": "sha256:e789387b957d5e223d6d02bd907401afaeb97cec41e7e91f5e147393265316a6",
12
- "moduleKappa": "sha256:0a2f52114a32f2df4b1c52e7aa159553dc14c1e7b070b592cd9b7a17b1ca6d11",
13
- "renderExport": "ChartLineLabelCustom",
14
- "source": "registry/new-york-v4/charts/chart-line-label-custom.tsx",
15
- "module": "vendor/components/chart-line-label-custom.js",
16
- "exports": [
17
- "description",
18
- "ChartLineLabelCustom"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d1fcec1bbc6bf93bf21982f2a5c50b5e3cfad7d00548411d090329efaa91b44
3
+ size 954
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3ab950487b0b6830bdd9f66051b963fe4be81ff80f8f06aebca95c9566435712 CHANGED
@@ -1,7 +1,3 @@
1
- import svg from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addBase, prefix = '' }) => {
5
- const prefixedsvg = addPrefix(svg, prefix);
6
- addBase({ ...prefixedsvg });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0ed5f41d0085402a897d6da5d193cc7096c2a73b24e4af9e325e2ffcb8b8b187
3
+ size 217
 
 
 
 
b/3ae1b13c68cf22597fb05bf3be59ccb768880b06d4d9d6f16e56e9bd793b641c CHANGED
@@ -1,39 +1,3 @@
1
- // Witness the κ-route heal in holo-whisper-stream: when the .holo PATH is absent (static/IPFS deploy),
2
- // the stream must fall back to /.holo/sha256/<κ> (SW heals from IPFS) and still parse + L5-verify.
3
- // Deterministic via a stubbed fetch (path → 404, κ-route → the real bytes) — no IPFS needed.
4
- import { readFileSync } from "node:fs";
5
- import { streamHolo } from "./holo-whisper-stream.mjs";
6
-
7
- const HOLO = new URL("../.models/whisper-base.holo", import.meta.url);
8
- const KAPPA = "9637ae57babfe22b1e08d013423856b44b060be7cf20204532b90250fbf04ea3";
9
- const raw = new Uint8Array(readFileSync(HOLO)); // the real .holo bytes (served only via the κ-route)
10
-
11
- let pathHits = 0, kHits = 0;
12
- globalThis.fetch = async (u) => {
13
- const url = String(u);
14
- if (url.includes("/.holo/sha256/" + KAPPA)) { // healed route → whole body, 200 (no Range)
15
- kHits++;
16
- return { ok: true, status: 200, arrayBuffer: async () => raw.buffer };
17
- }
18
- if (url.includes("whisper-base.holo")) { pathHits++; return { ok: false, status: 404, arrayBuffer: async () => new ArrayBuffer(0) }; }
19
- return { ok: false, status: 404, arrayBuffer: async () => new ArrayBuffer(0) };
20
- };
21
-
22
- let pass = 0, fail = 0;
23
- const ok = (c, m) => { if (c) { pass++; console.log(" ok " + m); } else { fail++; console.log("FAIL " + m); } };
24
-
25
- const H = await streamHolo("/apps/q/forge/.models/whisper-base.holo", { useOpfs: false, kappa: KAPPA });
26
- ok(H.stats.kappaRoute === true, "fell back to the κ-route after the path 404'd");
27
- ok(pathHits >= 1 && kHits >= 1, `tried path (${pathHits}) then healed by κ (${kHits})`);
28
- ok(H.meta && H.meta.hparams && H.meta.hparams.n_audio_state > 0, "parsed meta from the κ-healed bytes");
29
-
30
- // L5 still enforced on the healed bytes: fetch one tensor (re-derives its SHA-256 before accepting).
31
- const name = H.meta.order[0].name;
32
- const t = await H.getF32(name);
33
- ok(t && t.length > 0 && Number.isFinite(t[0]), `getF32("${name}") L5-verifies from healed bytes (${t.length} f32)`);
34
-
35
- // header (vocab) reachable too — needed for detok
36
- ok(H.headerBytes && H.headerBytes.length > 0, "vocab header present from healed bytes");
37
-
38
- console.log(`\n${pass} passed, ${fail} failed`);
39
- process.exit(fail ? 1 : 0);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a19a1e3585a38daa89aaa37101ea865d2bae44e4cb91c8d527e546f07d4f7252
3
+ size 2214
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3b0216c890ec856dd3b874ecb4c08ce7903eafb337c4ab7f88f235919a2b44a4 CHANGED
@@ -1,50 +1,3 @@
1
- import { InfoIcon } from "lucide-react"
2
-
3
- import {
4
- InputGroup,
5
- InputGroupAddon,
6
- InputGroupButton,
7
- InputGroupInput,
8
- } from "@/registry/new-york-v4/ui/input-group"
9
- import { Label } from "@/registry/new-york-v4/ui/label"
10
- import {
11
- Tooltip,
12
- TooltipContent,
13
- TooltipTrigger,
14
- } from "@/registry/new-york-v4/ui/tooltip"
15
-
16
- export default function InputGroupLabel() {
17
- return (
18
- <div className="grid w-full max-w-sm gap-4">
19
- <InputGroup>
20
- <InputGroupInput id="email" placeholder="shadcn" />
21
- <InputGroupAddon>
22
- <Label htmlFor="email">@</Label>
23
- </InputGroupAddon>
24
- </InputGroup>
25
- <InputGroup>
26
- <InputGroupInput id="email-2" placeholder="shadcn@vercel.com" />
27
- <InputGroupAddon align="block-start">
28
- <Label htmlFor="email-2" className="text-foreground">
29
- Email
30
- </Label>
31
- <Tooltip>
32
- <TooltipTrigger asChild>
33
- <InputGroupButton
34
- variant="ghost"
35
- aria-label="Help"
36
- className="ml-auto rounded-full"
37
- size="icon-xs"
38
- >
39
- <InfoIcon />
40
- </InputGroupButton>
41
- </TooltipTrigger>
42
- <TooltipContent>
43
- <p>We&apos;ll use this to send you notifications</p>
44
- </TooltipContent>
45
- </Tooltip>
46
- </InputGroupAddon>
47
- </InputGroup>
48
- </div>
49
- )
50
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16d4592179820214dd4f84f4f0c9f92e54cea4c4427cced621792b9be4768970
3
+ size 1418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3b2978f14804ef930d3852b78f91b2b57ffdd52a349e2a1d3f8ccda9b568e771 CHANGED
@@ -1,44 +1,3 @@
1
- import { AppSidebar } from "@/registry/new-york-v4/blocks/sidebar-12/components/app-sidebar"
2
- import {
3
- Breadcrumb,
4
- BreadcrumbItem,
5
- BreadcrumbList,
6
- BreadcrumbPage,
7
- } from "@/registry/new-york-v4/ui/breadcrumb"
8
- import { Separator } from "@/registry/new-york-v4/ui/separator"
9
- import {
10
- SidebarInset,
11
- SidebarProvider,
12
- SidebarTrigger,
13
- } from "@/registry/new-york-v4/ui/sidebar"
14
-
15
- export default function Page() {
16
- return (
17
- <SidebarProvider>
18
- <AppSidebar />
19
- <SidebarInset>
20
- <header className="sticky top-0 flex h-16 shrink-0 items-center gap-2 border-b bg-background px-4">
21
- <SidebarTrigger className="-ml-1" />
22
- <Separator
23
- orientation="vertical"
24
- className="mr-2 data-[orientation=vertical]:h-4"
25
- />
26
- <Breadcrumb>
27
- <BreadcrumbList>
28
- <BreadcrumbItem>
29
- <BreadcrumbPage>October 2024</BreadcrumbPage>
30
- </BreadcrumbItem>
31
- </BreadcrumbList>
32
- </Breadcrumb>
33
- </header>
34
- <div className="flex flex-1 flex-col gap-4 p-4">
35
- <div className="grid auto-rows-min gap-4 md:grid-cols-5">
36
- {Array.from({ length: 20 }).map((_, i) => (
37
- <div key={i} className="aspect-square rounded-xl bg-muted/50" />
38
- ))}
39
- </div>
40
- </div>
41
- </SidebarInset>
42
- </SidebarProvider>
43
- )
44
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5750ee4cdecbf2b5178e3dda8e5a29798e080a84014d314c78a790bb2ea19294
3
+ size 1387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3b72e9dfdb4e9003c0b00381344ac3e24d96abcb8a720996dd170313a65b5215 CHANGED
@@ -1,67 +1,3 @@
1
- // S3 integration witness: QJL wired into the LIVE attention loop. Run a real forward with a
2
- // TBQ3_0 K cache, with the QJL score-correction ON vs OFF, and vs the full-precision (f32)
3
- // KV reference. QJL is an unbiased estimator of the stage-1-dropped <q,k> — so the corrected
4
- // logits must be CLOSER to the f32 reference than the uncorrected (decode-only) logits. V is
5
- // f32 here to isolate the K-score correction. wk is correlated with wq (real attention has
6
- // Q–K correlation — the regime where QJL matters; with independent Q⊥K there is no bias).
7
- import assert from "node:assert";
8
- import { forgeGguf } from "./gguf-forge.mjs";
9
- import { synthesizeGraph } from "./gguf-forge-graph.mjs";
10
- import { forward } from "./gguf-forge-exec.mjs";
11
- import { GGML } from "./gguf-forge-dequant.mjs";
12
- import { KvMemory } from "./gguf-forge-kvmem.mjs";
13
-
14
- let pass = 0, fail = 0;
15
- const ok = (c, m) => { if (c) { console.log(` ok ${m}`); pass++; } else { console.log(` XX ${m}`); fail++; } };
16
- const L2 = (a, b) => { let s = 0; for (let i = 0; i < a.length; i++) s += (a[i] - b[i]) ** 2; return Math.sqrt(s); };
17
-
18
- const D = 256, NH = 2, NHKV = 1, HD = 128, FF = 256, V = 16, NL = 1, EPS = 1e-5, FREQ = 10000;
19
- const QD = NH * HD, KVDIM = NHKV * HD;
20
- let s = 0x4242 >>> 0; const r = () => { s = (s * 1664525 + 1013904223) >>> 0; return (s / 4294967296) * 2 - 1; };
21
- const rf = (n, sc = 0.08) => Float32Array.from({ length: n }, () => r() * sc);
22
- const nf = (n) => Float32Array.from({ length: n }, () => Math.abs(r()) + 0.5);
23
-
24
- const wq = rf(QD * D);
25
- const wk = new Float32Array(KVDIM * D); for (let i = 0; i < KVDIM * D; i++) wk[i] = wq[i]; // wk = wq's first KVDIM rows → K correlates with Q
26
- const W = {
27
- "token_embd.weight": rf(V * D, 0.3), "output_norm.weight": nf(D),
28
- "blk.0.attn_norm.weight": nf(D), "blk.0.ffn_norm.weight": nf(D),
29
- "blk.0.attn_q.weight": wq, "blk.0.attn_k.weight": wk, "blk.0.attn_v.weight": rf(KVDIM * D), "blk.0.attn_output.weight": rf(D * QD),
30
- "blk.0.ffn_gate.weight": rf(FF * D), "blk.0.ffn_up.weight": rf(FF * D), "blk.0.ffn_down.weight": rf(D * FF),
31
- };
32
- const dimsFor = (n) => n === "token_embd.weight" ? [D, V] : /attn_q\.weight$/.test(n) ? [D, QD] : /attn_(k|v)\.weight$/.test(n) ? [D, KVDIM] : /attn_output\.weight$/.test(n) ? [QD, D] : /ffn_(gate|up)\.weight$/.test(n) ? [D, FF] : /ffn_down\.weight$/.test(n) ? [FF, D] : [D];
33
-
34
- function buildGguf(meta, tensors) {
35
- const ALIGN = 32; let off = 0;
36
- const infos = tensors.map((t) => { const o = off; off = Math.ceil((o + t.bytes.length) / ALIGN) * ALIGN; return { ...t, offset: o }; });
37
- let parts = [], len = 0; const push = (b) => { parts.push(b); len += b.length; };
38
- const u32 = (v) => { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, v >>> 0, true); push(b); };
39
- const u64 = (v) => { const b = new Uint8Array(8); const dv = new DataView(b.buffer); dv.setUint32(0, v >>> 0, true); dv.setUint32(4, Math.floor(v / 4294967296), true); push(b); };
40
- const str = (x) => { const e = new TextEncoder().encode(x); u64(e.length); push(e); };
41
- push(new TextEncoder().encode("GGUF")); u32(3); u64(tensors.length); u64(Object.keys(meta).length);
42
- for (const [k, val] of Object.entries(meta)) { str(k); if (typeof val === "string") { u32(8); str(val); } else { u32(4); u32(val); } }
43
- for (const ti of infos) { str(ti.name); u32(ti.dims.length); for (const d of ti.dims) u64(d); u32(ti.type); u64(ti.offset); }
44
- if (len % ALIGN) push(new Uint8Array(ALIGN - (len % ALIGN)));
45
- const dataStart = len; for (const ti of infos) { while (len < dataStart + ti.offset) push(new Uint8Array(1)); push(ti.bytes); }
46
- const out = new Uint8Array(len); let o = 0; for (const p of parts) { out.set(p, o); o += p.length; } return out;
47
- }
48
- const f32b = (a) => new Uint8Array(a.buffer.slice(a.byteOffset, a.byteOffset + a.byteLength));
49
- const meta = { "general.architecture": "llama", "llama.block_count": NL, "llama.embedding_length": D, "llama.attention.head_count": NH, "llama.attention.head_count_kv": NHKV, "llama.feed_forward_length": FF, "llama.rope.dimension_count": HD, "llama.rope.freq_base": FREQ, "llama.attention.layer_norm_rms_epsilon": EPS };
50
- const f = forgeGguf(buildGguf(meta, Object.entries(W).map(([name, arr]) => ({ name, type: GGML.F32, dims: dimsFor(name), bytes: f32b(arr) }))));
51
- const graph = synthesizeGraph(f.plan);
52
- const store = { get: (h) => f.blocks.get(h) };
53
- const tokens = [3, 1, 4, 2, 0, 2];
54
-
55
- const refLogits = Array.from(forward(f.plan, graph, store, tokens)); // f32 KV (no memory)
56
- const kvOff = new KvMemory({ typeK: 42, typeV: 0, nLayer: NL }); kvOff.qjl = false; // TBQ K, correction OFF
57
- const offLogits = Array.from(forward(f.plan, graph, store, tokens, { memory: kvOff }));
58
- const kvOn = new KvMemory({ typeK: 42, typeV: 0, nLayer: NL }); // TBQ K, correction ON (default)
59
- const onLogits = Array.from(forward(f.plan, graph, store, tokens, { memory: kvOn }));
60
-
61
- ok(kvOn.qjlActive() && !kvOff.qjlActive(), `qjlActive() gates on TBQ + this.qjl flag`);
62
- ok(L2(onLogits, offLogits) > 1e-6, `QJL correction changes the forward (on ≠ off)`);
63
- const dOff = L2(offLogits, refLogits), dOn = L2(onLogits, refLogits);
64
- ok(dOn < dOff, `QJL-corrected logits closer to f32-KV reference: ‖off−ref‖=${dOff.toFixed(4)} → ‖on−ref‖=${dOn.toFixed(4)} (${(dOff / dOn).toFixed(2)}×)`);
65
-
66
- console.log(`\n${pass} passed, ${fail} failed`);
67
- process.exit(fail ? 1 : 0);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d604b12342bc02a303b5d01b7d939c10aa26eeea167a557d54137dacac556ca
3
+ size 5406
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3b82c6b2c4d3398a9c47e8f61e2bf67c134bc71774f0d532d88808c01663d3c0 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-bar-interactive",
3
- "name": "chart-bar-interactive",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Bar",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-bar-interactive.json",
8
- "did": "did:holo:sha256:aa01c82fb2a4edc6ec458144422ed2a50403310b05c1d301ba6c3485bebbbf90",
9
- "import": "holo://sha256:d71a0db4be1a9c1d1df0d9587c3fd438c06f6f0a2adb08c750655880e0d3db98",
10
- "integrity": "sha256-1xoNtL4anB0d8NlYfD/UOMBvbwoq2wjHUGVYgODT25g=",
11
- "kappa": "sha256:aa01c82fb2a4edc6ec458144422ed2a50403310b05c1d301ba6c3485bebbbf90",
12
- "moduleKappa": "sha256:d71a0db4be1a9c1d1df0d9587c3fd438c06f6f0a2adb08c750655880e0d3db98",
13
- "renderExport": "ChartBarInteractive",
14
- "source": "registry/new-york-v4/charts/chart-bar-interactive.tsx",
15
- "module": "vendor/components/chart-bar-interactive.js",
16
- "exports": [
17
- "description",
18
- "ChartBarInteractive"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6dd6e7e6457bcf6ef1b95700a323e2508870179680212be6a830b79270be13ec
3
+ size 941
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3baeb234bb75c51d16dd270cf9c47f48c1b14162dbcceb866d0f29c792032bbd CHANGED
@@ -1,59 +1,3 @@
1
- import{forwardRef as ra,createElement as da}from"react";var Fe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),le=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as ua,createElement as ve}from"react";var De={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Re=ua(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:f,...p},m)=>ve("svg",{ref:m,...De,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:le("lucide",r),...p},[...f.map(([i,L])=>ve(i,L)),...Array.isArray(s)?s:[s]]));var ue=(e,t)=>{let a=ra(({className:o,...r},s)=>da(Re,{ref:s,iconNode:t,className:le(`lucide-${Fe(e)}`,o),...r}));return a.displayName=`${e}`,a};var R=ue("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var J=ue("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);function Te(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(a=Te(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function re(){for(var e,t,a=0,o="",r=arguments.length;a<r;a++)(e=arguments[a])&&(t=Te(e))&&(o&&(o+=" "),o+=t);return o}var qe=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Ue=re,Q=(e,t)=>a=>{var o;if(t?.variants==null)return Ue(e,a?.class,a?.className);let{variants:r,defaultVariants:s}=t,f=Object.keys(r).map(i=>{let L=a?.[i],x=s?.[i];if(L===null)return null;let k=qe(L)||qe(x);return r[i][k]}),p=a&&Object.entries(a).reduce((i,L)=>{let[x,k]=L;return k===void 0||(i[x]=k),i},{}),m=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((i,L)=>{let{class:x,className:k,...B}=L;return Object.entries(B).every(U=>{let[C,h]=U;return Array.isArray(h)?h.includes({...s,...p}[C]):{...s,...p}[C]===h})?[...i,x,k]:i},[]);return Ue(e,f,m,a?.class,a?.className)};var sa=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},fa=(e,t)=>({classGroupId:e,validator:t}),Ee=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),fe="-",Oe=[],ia="arbitrary..",na=e=>{let t=pa(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return ca(f);let p=f.split(fe),m=p[0]===""&&p.length>1?1:0;return Ne(p,m,t)},getConflictingClassGroupIds:(f,p)=>{if(p){let m=o[f],i=a[f];return m?i?sa(i,m):m:i||Oe}return a[f]||Oe}}},Ne=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let r=e[t],s=a.nextPart.get(r);if(s){let i=Ne(e,t+1,s);if(i)return i}let f=a.validators;if(f===null)return;let p=t===0?e.join(fe):e.slice(t).join(fe),m=f.length;for(let i=0;i<m;i++){let L=f[i];if(L.validator(p))return L.classGroupId}},ca=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?ia+o:void 0})(),pa=e=>{let{theme:t,classGroups:a}=e;return ma(a,t)},ma=(e,t)=>{let a=Ee();for(let o in e){let r=e[o];Ce(r,a,o,t)}return a},Ce=(e,t,a,o)=>{let r=e.length;for(let s=0;s<r;s++){let f=e[s];La(f,t,a,o)}},La=(e,t,a,o)=>{if(typeof e=="string"){xa(e,t,a);return}if(typeof e=="function"){Ia(e,t,a,o);return}ga(e,t,a,o)},xa=(e,t,a)=>{let o=e===""?t:Xe(t,e);o.classGroupId=a},Ia=(e,t,a,o)=>{if(Ca(e)){Ce(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(fa(a,e))},ga=(e,t,a,o)=>{let r=Object.entries(e),s=r.length;for(let f=0;f<s;f++){let[p,m]=r[f];Ce(m,Xe(t,p),a,o)}},Xe=(e,t)=>{let a=e,o=t.split(fe),r=o.length;for(let s=0;s<r;s++){let f=o[s],p=a.nextPart.get(f);p||(p=Ee(),a.nextPart.set(f,p)),a=p}return a},Ca=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,ha=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),r=(s,f)=>{a[s]=f,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(s){let f=a[s];if(f!==void 0)return f;if((f=o[s])!==void 0)return r(s,f),f},set(s,f){s in a?a[s]=f:r(s,f)}}},ge="!",He=":",Sa=[],Ge=(e,t,a,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),wa=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=r=>{let s=[],f=0,p=0,m=0,i,L=r.length;for(let C=0;C<L;C++){let h=r[C];if(f===0&&p===0){if(h===He){s.push(r.slice(m,C)),m=C+1;continue}if(h==="/"){i=C;continue}}h==="["?f++:h==="]"?f--:h==="("?p++:h===")"&&p--}let x=s.length===0?r:r.slice(m),k=x,B=!1;x.endsWith(ge)?(k=x.slice(0,-1),B=!0):x.startsWith(ge)&&(k=x.slice(1),B=!0);let U=i&&i>m?i-m:void 0;return Ge(s,B,k,U)};if(t){let r=t+He,s=o;o=f=>f.startsWith(r)?s(f.slice(r.length)):Ge(Sa,!1,f,void 0,!0)}if(a){let r=o;o=s=>a({className:s,parseClassName:r})}return o},ka=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],r=[];for(let s=0;s<a.length;s++){let f=a[s],p=f[0]==="[",m=t.has(f);p||m?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(f)):r.push(f)}return r.length>0&&(r.sort(),o.push(...r)),o}},ba=e=>({cache:ha(e.cacheSize),parseClassName:wa(e),sortModifiers:ka(e),postfixLookupClassGroupIds:Pa(e),...na(e)}),Pa=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},Aa=/\s+/,Ba=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:s,postfixLookupClassGroupIds:f}=t,p=[],m=e.trim().split(Aa),i="";for(let L=m.length-1;L>=0;L-=1){let x=m[L],{isExternal:k,modifiers:B,hasImportantModifier:U,baseClassName:C,maybePostfixModifierPosition:h}=a(x);if(k){i=x+(i.length>0?" "+i:i);continue}let O=!!h,P;if(O){let D=C.substring(0,h);P=o(D);let d=P&&f[P]?o(C):void 0;d&&d!==P&&(P=d,O=!1)}else P=o(C);if(!P){if(!O){i=x+(i.length>0?" "+i:i);continue}if(P=o(C),!P){i=x+(i.length>0?" "+i:i);continue}O=!1}let Z=B.length===0?"":B.length===1?B[0]:s(B).join(":"),V=U?Z+ge:Z,W=V+P;if(p.indexOf(W)>-1)continue;p.push(W);let E=r(P,O);for(let D=0;D<E.length;++D){let d=E[D];p.push(V+d)}i=x+(i.length>0?" "+i:i)}return i},ya=(...e)=>{let t=0,a,o,r="";for(;t<e.length;)(a=e[t++])&&(o=Ke(a))&&(r&&(r+=" "),r+=o);return r},Ke=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=Ke(e[o]))&&(a&&(a+=" "),a+=t);return a},Ma=(e,...t)=>{let a,o,r,s,f=m=>{let i=t.reduce((L,x)=>x(L),e());return a=ba(i),o=a.cache.get,r=a.cache.set,s=p,p(m)},p=m=>{let i=o(m);if(i)return i;let L=Ba(m,a);return r(m,L),L};return s=f,(...m)=>s(ya(...m))},Fa=[],I=e=>{let t=a=>a[e]||Fa;return t.isThemeGetter=!0,t},Ze=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Je=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Da=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,va=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ra=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ta=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,qa=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ua=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,T=e=>Da.test(e),c=e=>!!e&&!Number.isNaN(Number(e)),F=e=>!!e&&Number.isInteger(Number(e)),Ie=e=>e.endsWith("%")&&c(e.slice(0,-1)),v=e=>va.test(e),Qe=()=>!0,Oa=e=>Ra.test(e)&&!Ta.test(e),he=()=>!1,Ha=e=>qa.test(e),Ga=e=>Ua.test(e),za=e=>!l(e)&&!u(e),Va=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Wa=e=>q(e,Ye,he),l=e=>Ze.test(e),G=e=>q(e,$e,Oa),ze=e=>q(e,ja,c),Ea=e=>q(e,aa,Qe),Na=e=>q(e,ea,he),Ve=e=>q(e,je,he),Xa=e=>q(e,_e,Ga),de=e=>q(e,ta,Ha),u=e=>Je.test(e),j=e=>z(e,$e),Ka=e=>z(e,ea),We=e=>z(e,je),Za=e=>z(e,Ye),Ja=e=>z(e,_e),se=e=>z(e,ta,!0),Qa=e=>z(e,aa,!0),q=(e,t,a)=>{let o=Ze.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},z=(e,t,a=!1)=>{let o=Je.exec(e);return o?o[1]?t(o[1]):a:!1},je=e=>e==="position"||e==="percentage",_e=e=>e==="image"||e==="url",Ye=e=>e==="length"||e==="size"||e==="bg-size",$e=e=>e==="length",ja=e=>e==="number",ea=e=>e==="family-name",aa=e=>e==="number"||e==="weight",ta=e=>e==="shadow";var _a=()=>{let e=I("color"),t=I("font"),a=I("text"),o=I("font-weight"),r=I("tracking"),s=I("leading"),f=I("breakpoint"),p=I("container"),m=I("spacing"),i=I("radius"),L=I("shadow"),x=I("inset-shadow"),k=I("text-shadow"),B=I("drop-shadow"),U=I("blur"),C=I("perspective"),h=I("aspect"),O=I("ease"),P=I("animate"),Z=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...V(),u,l],E=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],d=()=>[u,l,m],A=()=>[T,"full","auto",...d()],we=()=>[F,"none","subgrid",u,l],ke=()=>["auto",{span:["full",F,u,l]},F,u,l],$=()=>[F,"auto",u,l],be=()=>["auto","min","max","fr",u,l],ce=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],y=()=>["auto",...d()],H=()=>[T,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...d()],pe=()=>[T,"screen","full","dvw","lvw","svw","min","max","fit",...d()],me=()=>[T,"screen","full","lh","dvh","lvh","svh","min","max","fit",...d()],n=()=>[e,u,l],Pe=()=>[...V(),We,Ve,{position:[u,l]}],Ae=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Be=()=>["auto","cover","contain",Za,Wa,{size:[u,l]}],Le=()=>[Ie,j,G],S=()=>["","none","full",i,u,l],w=()=>["",c,j,G],ee=()=>["solid","dashed","dotted","double"],ye=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[c,Ie,We,Ve],Me=()=>["","none",U,u,l],ae=()=>["none",c,u,l],te=()=>["none",c,u,l],xe=()=>[c,u,l],oe=()=>[T,"full",...d()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[v],breakpoint:[v],color:[Qe],container:[v],"drop-shadow":[v],ease:["in","out","in-out"],font:[za],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[v],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[v],shadow:[v],spacing:["px",c],text:[v],"text-shadow":[v],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",T,l,u,h]}],container:["container"],"container-type":[{"@container":["","normal","size",u,l]}],"container-named":[Va],columns:[{columns:[c,l,u,p]}],"break-after":[{"break-after":Z()}],"break-before":[{"break-before":Z()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:W()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[F,"auto",u,l]}],basis:[{basis:[T,"full","auto",p,...d()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[c,T,"auto","initial","none",l]}],grow:[{grow:["",c,u,l]}],shrink:[{shrink:["",c,u,l]}],order:[{order:[F,"first","last","none",u,l]}],"grid-cols":[{"grid-cols":we()}],"col-start-end":[{col:ke()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":we()}],"row-start-end":[{row:ke()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":be()}],"auto-rows":[{"auto-rows":be()}],gap:[{gap:d()}],"gap-x":[{"gap-x":d()}],"gap-y":[{"gap-y":d()}],"justify-content":[{justify:[...ce(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...ce()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":ce()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:d()}],px:[{px:d()}],py:[{py:d()}],ps:[{ps:d()}],pe:[{pe:d()}],pbs:[{pbs:d()}],pbe:[{pbe:d()}],pt:[{pt:d()}],pr:[{pr:d()}],pb:[{pb:d()}],pl:[{pl:d()}],m:[{m:y()}],mx:[{mx:y()}],my:[{my:y()}],ms:[{ms:y()}],me:[{me:y()}],mbs:[{mbs:y()}],mbe:[{mbe:y()}],mt:[{mt:y()}],mr:[{mr:y()}],mb:[{mb:y()}],ml:[{ml:y()}],"space-x":[{"space-x":d()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":d()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...pe()]}],"min-inline-size":[{"min-inline":["auto",...pe()]}],"max-inline-size":[{"max-inline":["none",...pe()]}],"block-size":[{block:["auto",...me()]}],"min-block-size":[{"min-block":["auto",...me()]}],"max-block-size":[{"max-block":["none",...me()]}],w:[{w:[p,"screen",...H()]}],"min-w":[{"min-w":[p,"screen","none",...H()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[f]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",a,j,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Qa,Ea]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ie,l]}],"font-family":[{font:[Ka,Na,t]}],"font-features":[{"font-features":[l]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,u,l]}],"line-clamp":[{"line-clamp":[c,"none",u,ze]}],leading:[{leading:[s,...d()]}],"list-image":[{"list-image":["none",u,l]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",u,l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:n()}],"text-color":[{text:n()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[c,"from-font","auto",u,G]}],"text-decoration-color":[{decoration:n()}],"underline-offset":[{"underline-offset":[c,"auto",u,l]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:d()}],"tab-size":[{tab:[F,u,l]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",u,l]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",u,l]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Pe()}],"bg-repeat":[{bg:Ae()}],"bg-size":[{bg:Be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},F,u,l],radial:["",u,l],conic:[F,u,l]},Ja,Xa]}],"bg-color":[{bg:n()}],"gradient-from-pos":[{from:Le()}],"gradient-via-pos":[{via:Le()}],"gradient-to-pos":[{to:Le()}],"gradient-from":[{from:n()}],"gradient-via":[{via:n()}],"gradient-to":[{to:n()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-bs":[{"border-bs":w()}],"border-w-be":[{"border-be":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:n()}],"border-color-x":[{"border-x":n()}],"border-color-y":[{"border-y":n()}],"border-color-s":[{"border-s":n()}],"border-color-e":[{"border-e":n()}],"border-color-bs":[{"border-bs":n()}],"border-color-be":[{"border-be":n()}],"border-color-t":[{"border-t":n()}],"border-color-r":[{"border-r":n()}],"border-color-b":[{"border-b":n()}],"border-color-l":[{"border-l":n()}],"divide-color":[{divide:n()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[c,u,l]}],"outline-w":[{outline:["",c,j,G]}],"outline-color":[{outline:n()}],shadow:[{shadow:["","none",L,se,de]}],"shadow-color":[{shadow:n()}],"inset-shadow":[{"inset-shadow":["none",x,se,de]}],"inset-shadow-color":[{"inset-shadow":n()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:n()}],"ring-offset-w":[{"ring-offset":[c,G]}],"ring-offset-color":[{"ring-offset":n()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":n()}],"text-shadow":[{"text-shadow":["none",k,se,de]}],"text-shadow-color":[{"text-shadow":n()}],opacity:[{opacity:[c,u,l]}],"mix-blend":[{"mix-blend":[...ye(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ye()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[c]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":n()}],"mask-image-linear-to-color":[{"mask-linear-to":n()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":n()}],"mask-image-t-to-color":[{"mask-t-to":n()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":n()}],"mask-image-r-to-color":[{"mask-r-to":n()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":n()}],"mask-image-b-to-color":[{"mask-b-to":n()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":n()}],"mask-image-l-to-color":[{"mask-l-to":n()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":n()}],"mask-image-x-to-color":[{"mask-x-to":n()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":n()}],"mask-image-y-to-color":[{"mask-y-to":n()}],"mask-image-radial":[{"mask-radial":[u,l]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":n()}],"mask-image-radial-to-color":[{"mask-radial-to":n()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":V()}],"mask-image-conic-pos":[{"mask-conic":[c]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":n()}],"mask-image-conic-to-color":[{"mask-conic-to":n()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Pe()}],"mask-repeat":[{mask:Ae()}],"mask-size":[{mask:Be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",u,l]}],filter:[{filter:["","none",u,l]}],blur:[{blur:Me()}],brightness:[{brightness:[c,u,l]}],contrast:[{contrast:[c,u,l]}],"drop-shadow":[{"drop-shadow":["","none",B,se,de]}],"drop-shadow-color":[{"drop-shadow":n()}],grayscale:[{grayscale:["",c,u,l]}],"hue-rotate":[{"hue-rotate":[c,u,l]}],invert:[{invert:["",c,u,l]}],saturate:[{saturate:[c,u,l]}],sepia:[{sepia:["",c,u,l]}],"backdrop-filter":[{"backdrop-filter":["","none",u,l]}],"backdrop-blur":[{"backdrop-blur":Me()}],"backdrop-brightness":[{"backdrop-brightness":[c,u,l]}],"backdrop-contrast":[{"backdrop-contrast":[c,u,l]}],"backdrop-grayscale":[{"backdrop-grayscale":["",c,u,l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c,u,l]}],"backdrop-invert":[{"backdrop-invert":["",c,u,l]}],"backdrop-opacity":[{"backdrop-opacity":[c,u,l]}],"backdrop-saturate":[{"backdrop-saturate":[c,u,l]}],"backdrop-sepia":[{"backdrop-sepia":["",c,u,l]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":d()}],"border-spacing-x":[{"border-spacing-x":d()}],"border-spacing-y":[{"border-spacing-y":d()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",u,l]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[c,"initial",u,l]}],ease:[{ease:["linear","initial",O,u,l]}],delay:[{delay:[c,u,l]}],animate:[{animate:["none",P,u,l]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,u,l]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:ae()}],"rotate-x":[{"rotate-x":ae()}],"rotate-y":[{"rotate-y":ae()}],"rotate-z":[{"rotate-z":ae()}],scale:[{scale:te()}],"scale-x":[{"scale-x":te()}],"scale-y":[{"scale-y":te()}],"scale-z":[{"scale-z":te()}],"scale-3d":["scale-3d"],skew:[{skew:xe()}],"skew-x":[{"skew-x":xe()}],"skew-y":[{"skew-y":xe()}],transform:[{transform:[u,l,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:oe()}],"translate-x":[{"translate-x":oe()}],"translate-y":[{"translate-y":oe()}],"translate-z":[{"translate-z":oe()}],"translate-none":["translate-none"],zoom:[{zoom:[F,u,l]}],accent:[{accent:n()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:n()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",u,l]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":n()}],"scrollbar-track-color":[{"scrollbar-track":n()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":d()}],"scroll-mx":[{"scroll-mx":d()}],"scroll-my":[{"scroll-my":d()}],"scroll-ms":[{"scroll-ms":d()}],"scroll-me":[{"scroll-me":d()}],"scroll-mbs":[{"scroll-mbs":d()}],"scroll-mbe":[{"scroll-mbe":d()}],"scroll-mt":[{"scroll-mt":d()}],"scroll-mr":[{"scroll-mr":d()}],"scroll-mb":[{"scroll-mb":d()}],"scroll-ml":[{"scroll-ml":d()}],"scroll-p":[{"scroll-p":d()}],"scroll-px":[{"scroll-px":d()}],"scroll-py":[{"scroll-py":d()}],"scroll-ps":[{"scroll-ps":d()}],"scroll-pe":[{"scroll-pe":d()}],"scroll-pbs":[{"scroll-pbs":d()}],"scroll-pbe":[{"scroll-pbe":d()}],"scroll-pt":[{"scroll-pt":d()}],"scroll-pr":[{"scroll-pr":d()}],"scroll-pb":[{"scroll-pb":d()}],"scroll-pl":[{"scroll-pl":d()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",u,l]}],fill:[{fill:["none",...n()]}],"stroke-w":[{stroke:[c,j,G,ze]}],stroke:[{stroke:["none",...n()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var oa=Ma(_a);function M(...e){return oa(re(e))}import{jsx as Ft}from"react/jsx-runtime";var yt=Q("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});import{jsx as Ya}from"react/jsx-runtime";function la({className:e,type:t,...a}){return Ya("input",{type:t,"data-slot":"input",className:M("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...a})}import{jsx as Ot}from"react/jsx-runtime";import{jsx as ie}from"react/jsx-runtime";function _({className:e,...t}){return ie("div",{"data-slot":"input-group",role:"group",className:M("group/input-group relative flex w-full items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none dark:bg-input/30","h-9 min-w-0 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50","has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",e),...t})}var $a=Q("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3","block-end":"order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3"}},defaultVariants:{align:"inline-start"}});function X({className:e,align:t="inline-start",...a}){return ie("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:M($a({align:t}),e),onClick:o=>{o.target.closest("button")||o.currentTarget.parentElement?.querySelector("input")?.focus()},...a})}var Kt=Q("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",sm:"h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function Se({className:e,...t}){return ie("span",{className:M("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",e),...t})}function Y({className:e,...t}){return ie(la,{"data-slot":"input-group-control",className:M("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",e),...t})}import{jsx as et}from"react/jsx-runtime";function ne({className:e,...t}){return et(R,{role:"status","aria-label":"Loading",className:M("size-4 animate-spin",e),...t})}import{jsx as b,jsxs as K}from"react/jsx-runtime";function at(){return K("div",{className:"grid w-full max-w-sm gap-4",children:[K(_,{"data-disabled":!0,children:[b(Y,{placeholder:"Searching...",disabled:!0}),b(X,{align:"inline-end",children:b(ne,{})})]}),K(_,{"data-disabled":!0,children:[b(Y,{placeholder:"Processing...",disabled:!0}),b(X,{children:b(ne,{})})]}),K(_,{"data-disabled":!0,children:[b(Y,{placeholder:"Saving changes...",disabled:!0}),K(X,{align:"inline-end",children:[b(Se,{children:"Saving..."}),b(ne,{})]})]}),K(_,{"data-disabled":!0,children:[b(Y,{placeholder:"Refreshing data...",disabled:!0}),b(X,{children:b(J,{className:"animate-spin"})}),b(X,{align:"inline-end",children:b(Se,{className:"text-muted-foreground",children:"Please wait..."})})]})]})}export{at as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/loader-circle.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/icons/loader.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/lucide-react.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7528cc13b78df09a8851021b5489fad0eb3c0c0ebd07cbc022d03ab8ea98b1d
3
+ size 37115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3baf4b24268932961da72555b45247a4b4cd52a16079a2e57c1a67caa2f3520d CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.dotted-map",
3
- "name": "dotted-map",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Components",
7
- "upstream": "https://magicui.design/r/dotted-map.json",
8
- "did": "did:holo:sha256:9cf9a7edbed239b6e8cfdad588a97400d059ccf8f391d94f3cf033261a5ef7d9",
9
- "import": "holo://sha256:6fd3fad4b6dfa4cc21751514274f8a1d97e35ade138fe3d0b1f8dcf7eacb8558",
10
- "integrity": "sha256-b9P61LbfpMwhdRUUJ0+KHZfjWt4Tj+PQsfjc9+rLhVg=",
11
- "kappa": "sha256:9cf9a7edbed239b6e8cfdad588a97400d059ccf8f391d94f3cf033261a5ef7d9",
12
- "moduleKappa": "sha256:6fd3fad4b6dfa4cc21751514274f8a1d97e35ade138fe3d0b1f8dcf7eacb8558",
13
- "renderExport": "DottedMap",
14
- "source": "components/ui/dotted-map.tsx",
15
- "module": "vendor/components/dotted-map.js",
16
- "exports": [
17
- "DottedMap"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b104416497e8c68c00bbf566f26403566aea80c346b52e2b5cd4a22f8f3dbb02
3
+ size 811
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3c01058a7b2cd35c5bc17cf081a12c18ee551fdac469ecf2f163a18861286b1a CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.resizable-handle",
3
- "name": "resizable-handle",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/resizable-handle.json",
8
- "did": "did:holo:sha256:e6e99081ec5793a2af957a79d7037888ad379404d2688ec02584c6108d2e1f36",
9
- "import": "holo://sha256:ca1684f7d7c889e7a83eee4618b90cb5108e7af1634246aa287312e0750d5280",
10
- "integrity": "sha256-yhaE99fIieeoPu5GGLkMtRCOevFjQkaqKHMS4HUNUoA=",
11
- "kappa": "sha256:e6e99081ec5793a2af957a79d7037888ad379404d2688ec02584c6108d2e1f36",
12
- "moduleKappa": "sha256:ca1684f7d7c889e7a83eee4618b90cb5108e7af1634246aa287312e0750d5280",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/resizable-handle.tsx",
15
- "module": "vendor/components/resizable-handle.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85c8108ee4d454acacb431fbe6839b5f06ac61620de0bea02085314f16fc2afe
3
+ size 874
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3c07da3aeed53379a12fa1de0ac1e8fbe0c024c8da3350665970db3e8cdd1806 CHANGED
@@ -1,19 +1,3 @@
1
- import { GalleryVerticalEnd } from "lucide-react"
2
-
3
- import { LoginForm } from "@/registry/new-york-v4/blocks/login-03/components/login-form"
4
-
5
- export default function LoginPage() {
6
- return (
7
- <div className="flex min-h-svh flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10">
8
- <div className="flex w-full max-w-sm flex-col gap-6">
9
- <a href="#" className="flex items-center gap-2 self-center font-medium">
10
- <div className="flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
11
- <GalleryVerticalEnd className="size-4" />
12
- </div>
13
- Acme Inc.
14
- </a>
15
- <LoginForm />
16
- </div>
17
- </div>
18
- )
19
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c750f8d4858ae323ea4410cad14a0926a1998ab89ae206afba08e2bbfcea0636
3
+ size 702
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3c0c152ee38fe0c24d35193ba1d6ebc014f4fda96bd3ef023576bde66bfdf18c CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.checkbox-disabled",
3
- "name": "checkbox-disabled",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/checkbox-disabled.json",
8
- "did": "did:holo:sha256:0fcdbbbda71dc4577a291a0e0c58c4566148dfb03a1ae1ef825a57e30c694cbf",
9
- "import": "holo://sha256:0e1afa91eb3cf26e0f9ed906a11d3a051850b9a9d713bd78c188d24ddcd73806",
10
- "integrity": "sha256-Dhr6kes88m4PntkGoR06BRhQuanXE714wYjSTdzXOAY=",
11
- "kappa": "sha256:0fcdbbbda71dc4577a291a0e0c58c4566148dfb03a1ae1ef825a57e30c694cbf",
12
- "moduleKappa": "sha256:0e1afa91eb3cf26e0f9ed906a11d3a051850b9a9d713bd78c188d24ddcd73806",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/checkbox-disabled.tsx",
15
- "module": "vendor/components/checkbox-disabled.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f4a278e4813ecdaa966cbc71258b938849c0907033404051bf51cb6af0c4df95
3
+ size 879
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3c19f4fd45eb79c163ccb76b249c062ab101eb1916e4cbf7588071d5a809a027 CHANGED
@@ -1,9 +1,3 @@
1
- import { SettingsDialog } from "@/registry/new-york-v4/blocks/sidebar-13/components/settings-dialog"
2
-
3
- export default function Page() {
4
- return (
5
- <div className="flex h-svh items-center justify-center">
6
- <SettingsDialog />
7
- </div>
8
- )
9
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4e0c020ec81f674bfa71f8a16af60c3b929c453a1d2493cf69b242f6aff270ec
3
+ size 249
 
 
 
 
 
 
b/3c2bc5e17d7866b7b15177d649570e0467833f0523da7aae9cd0d45f25fa98c1 CHANGED
@@ -1,27 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.daisyui.fab",
3
- "name": "daisyui-fab",
4
- "tier": "component",
5
- "library": "daisyui",
6
- "category": "Buttons & Actions",
7
- "upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/components/fab.css",
8
- "docs": "https://daisyui.com/components/fab/",
9
- "did": "did:holo:sha256:da9c86613b8a02faf2c6ba22b7eed8aa474ab0f88d5c41e2141b5d75d537ee04",
10
- "import": "holo://sha256:da9c86613b8a02faf2c6ba22b7eed8aa474ab0f88d5c41e2141b5d75d537ee04",
11
- "integrity": "sha256-2pyGYTuKAvryxroit+7YqkdKsPiNXEHiFBtdddU37gQ=",
12
- "kappa": "sha256:da9c86613b8a02faf2c6ba22b7eed8aa474ab0f88d5c41e2141b5d75d537ee04",
13
- "moduleKappa": "sha256:da9c86613b8a02faf2c6ba22b7eed8aa474ab0f88d5c41e2141b5d75d537ee04",
14
- "renderExport": null,
15
- "format": "css",
16
- "source": "components/fab.css",
17
- "module": "vendor/daisyui/components/fab.css",
18
- "exports": [],
19
- "bytes": 14805,
20
- "provenance": {
21
- "package": "daisyui",
22
- "version": "5.5.23",
23
- "integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
24
- "file": "components/fab.css"
25
- },
26
- "license": "MIT"
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1da60ad3805dc3e8a81cda3d5238344ef92f86ffa9c9c3f11a2cc34ac989cb83
3
+ size 1117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3c7ea8a4f2d65871c0a910ab2c50b4e1bebaf1b5ada25e54e21d7c1f800bf3fc CHANGED
@@ -1,12 +1,3 @@
1
- {
2
- "spec": "Sharder (shard-holo.mjs) splits a .holo into <2 GiB delivery parts + a manifest the REAL spanning reader (holo-pack-shards.mjs spanReader/openShardedPack) stitches back byte-identical; openHoloStream still L5-verifies every body across part boundaries. A 9B .holo ships as parts with zero loss and one logical address.",
3
- "authority": "holo-pack-shards.mjs spanReader · holo-archive openHoloStream L5 · GitHub 2 GiB asset cap",
4
- "witnessed": true,
5
- "checks": {
6
- "manifestShape": true,
7
- "perPartSha256": true,
8
- "stitchByteEqual": true,
9
- "streamAcrossParts": true,
10
- "tinyPartsStress": true
11
- }
12
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d08f1c862a9da9286eecb38ce7fa0f75b2d347470e3caed3154b9e5eea287ac
3
+ size 627
 
 
 
 
 
 
 
 
 
b/3cad2be54d46e4825c0a4ba5d9c5c627f4713f6a5a878c21d2373668360460a3 CHANGED
@@ -1,7 +1,3 @@
1
- import diff from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addComponents, prefix = '' }) => {
5
- const prefixeddiff = addPrefix(diff, prefix);
6
- addComponents({ ...prefixeddiff });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d5292d315070b874d78cd943ccef11155b1e29403a301ad6e85fc17d2e14bc6
3
+ size 233
 
 
 
 
b/3cca77f6bf23ffdd4cbfd227320e36ee9ebf5776ba6d7d3339b43ff1aad75934 CHANGED
@@ -1,16 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
-
5
- import { Progress } from "@/registry/new-york-v4/ui/progress"
6
-
7
- export default function ProgressDemo() {
8
- const [progress, setProgress] = React.useState(13)
9
-
10
- React.useEffect(() => {
11
- const timer = setTimeout(() => setProgress(66), 500)
12
- return () => clearTimeout(timer)
13
- }, [])
14
-
15
- return <Progress value={progress} className="w-[60%]" />
16
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c712ef88df3e3c953c8e4ef42bd2ebbc6736605484031b97334501ac130529c
3
+ size 395
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3cef3d8c84e5e929e390a2398be0cb680bd54edcb5e1739ac3289794b1fd3918 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-pie-simple",
3
- "name": "chart-pie-simple",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Pie",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-pie-simple.json",
8
- "did": "did:holo:sha256:9298f436da5adc7288c7b6ae10fb52bbcbcb99ea9c0d324bb47da61c5b8af518",
9
- "import": "holo://sha256:0356d455bc0d9f409d058347073c4862ecd38e48b899a1aa7f11c53a47694068",
10
- "integrity": "sha256-A1bUVbwNn0CdBYNHBzxIYuzTjki4maGqfxHFOkdpQGg=",
11
- "kappa": "sha256:9298f436da5adc7288c7b6ae10fb52bbcbcb99ea9c0d324bb47da61c5b8af518",
12
- "moduleKappa": "sha256:0356d455bc0d9f409d058347073c4862ecd38e48b899a1aa7f11c53a47694068",
13
- "renderExport": "ChartPieSimple",
14
- "source": "registry/new-york-v4/charts/chart-pie-simple.tsx",
15
- "module": "vendor/components/chart-pie-simple.js",
16
- "exports": [
17
- "description",
18
- "ChartPieSimple"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3431c0c7e65e3cae8d92fbe315fd05d7dfe16e58191b22f874ac94d541dc477
3
+ size 906
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3cf585136558017667faf6f83bdb6ebb6200b27b8f8b61b9f666221f57213404 CHANGED
@@ -1,31 +1,3 @@
1
- :root:has(input.theme-controller[value=fantasy]:checked),[data-theme="fantasy"] {
2
- color-scheme: light;
3
- --color-base-100: oklch(100% 0 0);
4
- --color-base-200: oklch(93% 0 0);
5
- --color-base-300: oklch(86% 0 0);
6
- --color-base-content: oklch(27.807% 0.029 256.847);
7
- --color-primary: oklch(37.45% 0.189 325.02);
8
- --color-primary-content: oklch(87.49% 0.037 325.02);
9
- --color-secondary: oklch(53.92% 0.162 241.36);
10
- --color-secondary-content: oklch(90.784% 0.032 241.36);
11
- --color-accent: oklch(75.98% 0.204 56.72);
12
- --color-accent-content: oklch(15.196% 0.04 56.72);
13
- --color-neutral: oklch(27.807% 0.029 256.847);
14
- --color-neutral-content: oklch(85.561% 0.005 256.847);
15
- --color-info: oklch(72.06% 0.191 231.6);
16
- --color-info-content: oklch(0% 0 0);
17
- --color-success: oklch(64.8% 0.15 160);
18
- --color-success-content: oklch(0% 0 0);
19
- --color-warning: oklch(84.71% 0.199 83.87);
20
- --color-warning-content: oklch(0% 0 0);
21
- --color-error: oklch(71.76% 0.221 22.18);
22
- --color-error-content: oklch(0% 0 0);
23
- --radius-selector: 1rem;
24
- --radius-field: 0.5rem;
25
- --radius-box: 1rem;
26
- --size-selector: 0.25rem;
27
- --size-field: 0.25rem;
28
- --border: 1px;
29
- --depth: 1;
30
- --noise: 0;
31
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e8ac4a8b09830bceaf224bc42a1b9551ec306e985ffbfa762b5f6d002fc7f58
3
+ size 1136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3d180b871508162e821f5629e471174097841744a458d4d72c8bdd4b3b98b1bd CHANGED
@@ -1,70 +1,3 @@
1
- import*as Pa from"react";import*as m from"react";import*as De from"react";import*as W from"react";var Ra=Object.defineProperty,va=Object.defineProperties,Ta=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,Je=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,Ze=(e,t,a)=>t in e?Ra(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,qa=(e,t)=>{for(var a in t||(t={}))Je.call(t,a)&&Ze(e,a,t[a]);if(Fe)for(var a of Fe(t))_e.call(t,a)&&Ze(e,a,t[a]);return e},Oa=(e,t)=>va(e,Ta(t)),Ua=(e,t)=>{var a={};for(var o in e)Je.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&Fe)for(var o of Fe(e))t.indexOf(o)<0&&_e.call(e,o)&&(a[o]=e[o]);return a};function Ha(e){let t=setTimeout(e,0),a=setTimeout(e,10),o=setTimeout(e,50);return[t,a,o]}function Ga(e){let t=De.useRef();return De.useEffect(()=>{t.current=e}),t.current}var za=18,je=40,Ea=`${je}px`,Wa=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function Va({containerRef:e,inputRef:t,pushPasswordManagerStrategy:a,isFocused:o}){let[r,l]=W.useState(!1),[s,p]=W.useState(!1),[L,n]=W.useState(!1),h=W.useMemo(()=>a==="none"?!1:(a==="increase-width"||a==="experimental-no-flickering")&&r&&s,[r,s,a]),k=W.useCallback(()=>{let A=e.current,M=t.current;if(!A||!M||L||a==="none")return;let v=A,S=v.getBoundingClientRect().left+v.offsetWidth,D=v.getBoundingClientRect().top+v.offsetHeight/2,g=S-za,y=D;document.querySelectorAll(Wa).length===0&&document.elementFromPoint(g,y)===A||(l(!0),n(!0))},[e,t,L,a]);return W.useEffect(()=>{let A=e.current;if(!A||a==="none")return;function M(){let S=window.innerWidth-A.getBoundingClientRect().right;p(S>=je)}M();let v=setInterval(M,1e3);return()=>{clearInterval(v)}},[e,a]),W.useEffect(()=>{let A=o||document.activeElement===t.current;if(a==="none"||!A)return;let M=setTimeout(k,0),v=setTimeout(k,2e3),S=setTimeout(k,5e3),D=setTimeout(()=>{n(!0)},6e3);return()=>{clearTimeout(M),clearTimeout(v),clearTimeout(S),clearTimeout(D)}},[t,o,a,k]),{hasPWMBadge:r,willPushPWMBadge:h,PWM_BADGE_SPACE_WIDTH:Ea}}var Ue=m.createContext({}),He=m.forwardRef((e,t)=>{var a=e,{value:o,onChange:r,maxLength:l,textAlign:s="left",pattern:p,placeholder:L,inputMode:n="numeric",onComplete:h,pushPasswordManagerStrategy:k="increase-width",pasteTransformer:A,containerClassName:M,noScriptCSSFallback:v=Na,render:S,children:D}=a,g=Ua(a,["value","onChange","maxLength","textAlign","pattern","placeholder","inputMode","onComplete","pushPasswordManagerStrategy","pasteTransformer","containerClassName","noScriptCSSFallback","render","children"]),y,te,J,_,j;let[z,f]=m.useState(typeof g.defaultValue=="string"?g.defaultValue:""),C=o??z,V=Ga(C),oe=m.useCallback(c=>{r?.(c),f(c)},[r]),q=m.useMemo(()=>p?typeof p=="string"?new RegExp(p):p:null,[p]),b=m.useRef(null),ie=m.useRef(null),N=m.useRef({value:C,onChange:oe,isIOS:typeof window<"u"&&((te=(y=window?.CSS)==null?void 0:y.supports)==null?void 0:te.call(y,"-webkit-touch-callout","none"))}),T=m.useRef({prev:[(J=b.current)==null?void 0:J.selectionStart,(_=b.current)==null?void 0:_.selectionEnd,(j=b.current)==null?void 0:j.selectionDirection]});m.useImperativeHandle(t,()=>b.current,[]),m.useEffect(()=>{let c=b.current,I=ie.current;if(!c||!I)return;N.current.value!==c.value&&N.current.onChange(c.value),T.current.prev=[c.selectionStart,c.selectionEnd,c.selectionDirection];function O(){if(document.activeElement!==c){le(null),Y(null);return}let w=c.selectionStart,U=c.selectionEnd,ye=c.selectionDirection,E=c.maxLength,ce=c.value,ee=T.current.prev,re=-1,de=-1,pe;if(ce.length!==0&&w!==null&&U!==null){let ya=w===U,Fa=w===ce.length&&ce.length<E;if(ya&&!Fa){let me=w;if(me===0)re=0,de=1,pe="forward";else if(me===E)re=me-1,de=me,pe="backward";else if(E>1&&ce.length>1){let Oe=0;if(ee[0]!==null&&ee[1]!==null){pe=me<ee[1]?"backward":"forward";let Da=ee[0]===ee[1]&&ee[0]<E;pe==="backward"&&!Da&&(Oe=-1)}re=Oe+me,de=Oe+me+1}}re!==-1&&de!==-1&&re!==de&&b.current.setSelectionRange(re,de,pe)}let Xe=re!==-1?re:w,Ke=de!==-1?de:U,Ma=pe??ye;le(Xe),Y(Ke),T.current.prev=[Xe,Ke,Ma]}if(document.addEventListener("selectionchange",O,{capture:!0}),O(),document.activeElement===c&&i(!0),!document.getElementById("input-otp-style")){let w=document.createElement("style");if(w.id="input-otp-style",document.head.appendChild(w),w.sheet){let U="background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";Pe(w.sheet,"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"),Pe(w.sheet,`[data-input-otp]:autofill { ${U} }`),Pe(w.sheet,`[data-input-otp]:-webkit-autofill { ${U} }`),Pe(w.sheet,"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"),Pe(w.sheet,"[data-input-otp] + * { pointer-events: all !important; }")}}let H=()=>{I&&I.style.setProperty("--root-height",`${c.clientHeight}px`)};H();let G=new ResizeObserver(H);return G.observe(c),()=>{document.removeEventListener("selectionchange",O,{capture:!0}),G.disconnect()}},[]);let[X,ge]=m.useState(!1),[Q,i]=m.useState(!1),[K,le]=m.useState(null),[$,Y]=m.useState(null);m.useEffect(()=>{Ha(()=>{var c,I,O,H;(c=b.current)==null||c.dispatchEvent(new Event("input"));let G=(I=b.current)==null?void 0:I.selectionStart,w=(O=b.current)==null?void 0:O.selectionEnd,U=(H=b.current)==null?void 0:H.selectionDirection;G!==null&&w!==null&&(le(G),Y(w),T.current.prev=[G,w,U])})},[C,Q]),m.useEffect(()=>{V!==void 0&&C!==V&&V.length<l&&C.length===l&&h?.(C)},[l,h,V,C]);let P=Va({containerRef:ie,inputRef:b,pushPasswordManagerStrategy:k,isFocused:Q}),R=m.useCallback(c=>{let I=c.currentTarget.value.slice(0,l);if(I.length>0&&q&&!q.test(I)){c.preventDefault();return}typeof V=="string"&&I.length<V.length&&document.dispatchEvent(new Event("selectionchange")),oe(I)},[l,oe,V,q]),ne=m.useCallback(()=>{var c;if(b.current){let I=Math.min(b.current.value.length,l-1),O=b.current.value.length;(c=b.current)==null||c.setSelectionRange(I,O),le(I),Y(O)}i(!0)},[l]),we=m.useCallback(c=>{var I,O;let H=b.current;if(!A&&(!N.current.isIOS||!c.clipboardData||!H))return;let G=c.clipboardData.getData("text/plain"),w=A?A(G):G;c.preventDefault();let U=(I=b.current)==null?void 0:I.selectionStart,ye=(O=b.current)==null?void 0:O.selectionEnd,E=(U!==ye?C.slice(0,U)+w+C.slice(ye):C.slice(0,U)+w+C.slice(U)).slice(0,l);if(E.length>0&&q&&!q.test(E))return;H.value=E,oe(E);let ce=Math.min(E.length,l-1),ee=E.length;H.setSelectionRange(ce,ee),le(ce),Y(ee)},[l,oe,q,C]),B=m.useMemo(()=>({position:"relative",cursor:g.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"}),[g.disabled]),ke=m.useMemo(()=>({position:"absolute",inset:0,width:P.willPushPWMBadge?`calc(100% + ${P.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:P.willPushPWMBadge?`inset(0 ${P.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:s,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"}),[P.PWM_BADGE_SPACE_WIDTH,P.willPushPWMBadge,s]),he=m.useMemo(()=>m.createElement("input",Oa(qa({autoComplete:g.autoComplete||"one-time-code"},g),{"data-input-otp":!0,"data-input-otp-placeholder-shown":C.length===0||void 0,"data-input-otp-mss":K,"data-input-otp-mse":$,inputMode:n,pattern:q?.source,"aria-placeholder":L,style:ke,maxLength:l,value:C,ref:b,onPaste:c=>{var I;we(c),(I=g.onPaste)==null||I.call(g,c)},onChange:R,onMouseOver:c=>{var I;ge(!0),(I=g.onMouseOver)==null||I.call(g,c)},onMouseLeave:c=>{var I;ge(!1),(I=g.onMouseLeave)==null||I.call(g,c)},onFocus:c=>{var I;ne(),(I=g.onFocus)==null||I.call(g,c)},onBlur:c=>{var I;i(!1),(I=g.onBlur)==null||I.call(g,c)}})),[R,ne,we,n,ke,l,$,K,g,q?.source,C]),ue=m.useMemo(()=>({slots:Array.from({length:l}).map((c,I)=>{var O;let H=Q&&K!==null&&$!==null&&(K===$&&I===K||I>=K&&I<$),G=C[I]!==void 0?C[I]:null,w=C[0]!==void 0?null:(O=L?.[I])!=null?O:null;return{char:G,placeholderChar:w,isActive:H,hasFakeCaret:H&&G===null}}),isFocused:Q,isHovering:!g.disabled&&X}),[Q,X,l,$,K,g.disabled,C]),be=m.useMemo(()=>S?S(ue):m.createElement(Ue.Provider,{value:ue},D),[D,ue,S]);return m.createElement(m.Fragment,null,v!==null&&m.createElement("noscript",null,m.createElement("style",null,v)),m.createElement("div",{ref:ie,"data-input-otp-container":!0,style:B,className:M},be,m.createElement("div",{style:{position:"absolute",inset:0,pointerEvents:"none"}},he)))});He.displayName="Input";function Pe(e,t){try{e.insertRule(t)}catch{console.error("input-otp could not insert CSS rule:",t)}}var Na=`
2
- [data-input-otp] {
3
- --nojs-bg: white !important;
4
- --nojs-fg: black !important;
5
-
6
- background-color: var(--nojs-bg) !important;
7
- color: var(--nojs-fg) !important;
8
- caret-color: var(--nojs-fg) !important;
9
- letter-spacing: .25em !important;
10
- text-align: center !important;
11
- border: 1px solid var(--nojs-fg) !important;
12
- border-radius: 4px !important;
13
- width: 100% !important;
14
- }
15
- @media (prefers-color-scheme: dark) {
16
- [data-input-otp] {
17
- --nojs-bg: black !important;
18
- --nojs-fg: white !important;
19
- }
20
- }`;import{forwardRef as Ka,createElement as Za}from"react";var Qe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Re=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as Xa,createElement as Ye}from"react";var $e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var ea=Xa(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:s,...p},L)=>Ye("svg",{ref:L,...$e,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Re("lucide",r),...p},[...s.map(([n,h])=>Ye(n,h)),...Array.isArray(l)?l:[l]]));var aa=(e,t)=>{let a=Ka(({className:o,...r},l)=>Za(ea,{ref:l,iconNode:t,className:Re(`lucide-${Qe(e)}`,o),...r}));return a.displayName=`${e}`,a};var Ae=aa("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);function ta(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(a=ta(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function oa(){for(var e,t,a=0,o="",r=arguments.length;a<r;a++)(e=arguments[a])&&(t=ta(e))&&(o&&(o+=" "),o+=t);return o}var Ja=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},_a=(e,t)=>({classGroupId:e,validator:t}),ia=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),qe="-",la=[],ja="arbitrary..",Qa=e=>{let t=Ya(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return $a(s);let p=s.split(qe),L=p[0]===""&&p.length>1?1:0;return na(p,L,t)},getConflictingClassGroupIds:(s,p)=>{if(p){let L=o[s],n=a[s];return L?n?Ja(n,L):L:n||la}return a[s]||la}}},na=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let r=e[t],l=a.nextPart.get(r);if(l){let n=na(e,t+1,l);if(n)return n}let s=a.validators;if(s===null)return;let p=t===0?e.join(qe):e.slice(t).join(qe),L=s.length;for(let n=0;n<L;n++){let h=s[n];if(h.validator(p))return h.classGroupId}},$a=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?ja+o:void 0})(),Ya=e=>{let{theme:t,classGroups:a}=e;return et(a,t)},et=(e,t)=>{let a=ia();for(let o in e){let r=e[o];Ee(r,a,o,t)}return a},Ee=(e,t,a,o)=>{let r=e.length;for(let l=0;l<r;l++){let s=e[l];at(s,t,a,o)}},at=(e,t,a,o)=>{if(typeof e=="string"){tt(e,t,a);return}if(typeof e=="function"){ot(e,t,a,o);return}lt(e,t,a,o)},tt=(e,t,a)=>{let o=e===""?t:ca(t,e);o.classGroupId=a},ot=(e,t,a,o)=>{if(ut(e)){Ee(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(_a(a,e))},lt=(e,t,a,o)=>{let r=Object.entries(e),l=r.length;for(let s=0;s<l;s++){let[p,L]=r[s];Ee(L,ca(t,p),a,o)}},ca=(e,t)=>{let a=e,o=t.split(qe),r=o.length;for(let l=0;l<r;l++){let s=o[l],p=a.nextPart.get(s);p||(p=ia(),a.nextPart.set(s,p)),a=p}return a},ut=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,rt=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),r=(l,s)=>{a[l]=s,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(l){let s=a[l];if(s!==void 0)return s;if((s=o[l])!==void 0)return r(l,s),s},set(l,s){l in a?a[l]=s:r(l,s)}}},ze="!",ua=":",dt=[],ra=(e,t,a,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),st=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=r=>{let l=[],s=0,p=0,L=0,n,h=r.length;for(let S=0;S<h;S++){let D=r[S];if(s===0&&p===0){if(D===ua){l.push(r.slice(L,S)),L=S+1;continue}if(D==="/"){n=S;continue}}D==="["?s++:D==="]"?s--:D==="("?p++:D===")"&&p--}let k=l.length===0?r:r.slice(L),A=k,M=!1;k.endsWith(ze)?(A=k.slice(0,-1),M=!0):k.startsWith(ze)&&(A=k.slice(1),M=!0);let v=n&&n>L?n-L:void 0;return ra(l,M,A,v)};if(t){let r=t+ua,l=o;o=s=>s.startsWith(r)?l(s.slice(r.length)):ra(dt,!1,s,void 0,!0)}if(a){let r=o;o=l=>a({className:l,parseClassName:r})}return o},ft=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],r=[];for(let l=0;l<a.length;l++){let s=a[l],p=s[0]==="[",L=t.has(s);p||L?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},it=e=>({cache:rt(e.cacheSize),parseClassName:st(e),sortModifiers:ft(e),postfixLookupClassGroupIds:nt(e),...Qa(e)}),nt=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},ct=/\s+/,pt=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:s}=t,p=[],L=e.trim().split(ct),n="";for(let h=L.length-1;h>=0;h-=1){let k=L[h],{isExternal:A,modifiers:M,hasImportantModifier:v,baseClassName:S,maybePostfixModifierPosition:D}=a(k);if(A){n=k+(n.length>0?" "+n:n);continue}let g=!!D,y;if(g){let z=S.substring(0,D);y=o(z);let f=y&&s[y]?o(S):void 0;f&&f!==y&&(y=f,g=!1)}else y=o(S);if(!y){if(!g){n=k+(n.length>0?" "+n:n);continue}if(y=o(S),!y){n=k+(n.length>0?" "+n:n);continue}g=!1}let te=M.length===0?"":M.length===1?M[0]:l(M).join(":"),J=v?te+ze:te,_=J+y;if(p.indexOf(_)>-1)continue;p.push(_);let j=r(y,g);for(let z=0;z<j.length;++z){let f=j[z];p.push(J+f)}n=k+(n.length>0?" "+n:n)}return n},mt=(...e)=>{let t=0,a,o,r="";for(;t<e.length;)(a=e[t++])&&(o=pa(a))&&(r&&(r+=" "),r+=o);return r},pa=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=pa(e[o]))&&(a&&(a+=" "),a+=t);return a},Lt=(e,...t)=>{let a,o,r,l,s=L=>{let n=t.reduce((h,k)=>k(h),e());return a=it(n),o=a.cache.get,r=a.cache.set,l=p,p(L)},p=L=>{let n=o(L);if(n)return n;let h=pt(L,a);return r(L,h),h};return l=s,(...L)=>l(mt(...L))},It=[],F=e=>{let t=a=>a[e]||It;return t.isThemeGetter=!0,t},ma=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,La=/^\((?:(\w[\w-]*):)?(.+)\)$/i,xt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Ct=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,gt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ht=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,St=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,wt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,se=e=>xt.test(e),x=e=>!!e&&!Number.isNaN(Number(e)),Z=e=>!!e&&Number.isInteger(Number(e)),Ge=e=>e.endsWith("%")&&x(e.slice(0,-1)),ae=e=>Ct.test(e),Ia=()=>!0,kt=e=>gt.test(e)&&!ht.test(e),We=()=>!1,bt=e=>St.test(e),Pt=e=>wt.test(e),At=e=>!u(e)&&!d(e),Bt=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Mt=e=>fe(e,ga,We),u=e=>ma.test(e),Le=e=>fe(e,ha,kt),da=e=>fe(e,Ot,x),yt=e=>fe(e,wa,Ia),Ft=e=>fe(e,Sa,We),sa=e=>fe(e,xa,We),Dt=e=>fe(e,Ca,Pt),ve=e=>fe(e,ka,bt),d=e=>La.test(e),Be=e=>Ie(e,ha),Rt=e=>Ie(e,Sa),fa=e=>Ie(e,xa),vt=e=>Ie(e,ga),Tt=e=>Ie(e,Ca),Te=e=>Ie(e,ka,!0),qt=e=>Ie(e,wa,!0),fe=(e,t,a)=>{let o=ma.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},Ie=(e,t,a=!1)=>{let o=La.exec(e);return o?o[1]?t(o[1]):a:!1},xa=e=>e==="position"||e==="percentage",Ca=e=>e==="image"||e==="url",ga=e=>e==="length"||e==="size"||e==="bg-size",ha=e=>e==="length",Ot=e=>e==="number",Sa=e=>e==="family-name",wa=e=>e==="number"||e==="weight",ka=e=>e==="shadow";var Ut=()=>{let e=F("color"),t=F("font"),a=F("text"),o=F("font-weight"),r=F("tracking"),l=F("leading"),s=F("breakpoint"),p=F("container"),L=F("spacing"),n=F("radius"),h=F("shadow"),k=F("inset-shadow"),A=F("text-shadow"),M=F("drop-shadow"),v=F("blur"),S=F("perspective"),D=F("aspect"),g=F("ease"),y=F("animate"),te=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],_=()=>[...J(),d,u],j=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],f=()=>[d,u,L],C=()=>[se,"full","auto",...f()],V=()=>[Z,"none","subgrid",d,u],oe=()=>["auto",{span:["full",Z,d,u]},Z,d,u],q=()=>[Z,"auto",d,u],b=()=>["auto","min","max","fr",d,u],ie=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...f()],X=()=>[se,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],ge=()=>[se,"screen","full","dvw","lvw","svw","min","max","fit",...f()],Q=()=>[se,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],i=()=>[e,d,u],K=()=>[...J(),fa,sa,{position:[d,u]}],le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",vt,Mt,{size:[d,u]}],Y=()=>[Ge,Be,Le],P=()=>["","none","full",n,d,u],R=()=>["",x,Be,Le],ne=()=>["solid","dashed","dotted","double"],we=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],B=()=>[x,Ge,fa,sa],ke=()=>["","none",v,d,u],he=()=>["none",x,d,u],ue=()=>["none",x,d,u],be=()=>[x,d,u],c=()=>[se,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ae],breakpoint:[ae],color:[Ia],container:[ae],"drop-shadow":[ae],ease:["in","out","in-out"],font:[At],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ae],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ae],shadow:[ae],spacing:["px",x],text:[ae],"text-shadow":[ae],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",se,u,d,D]}],container:["container"],"container-type":[{"@container":["","normal","size",d,u]}],"container-named":[Bt],columns:[{columns:[x,u,d,p]}],"break-after":[{"break-after":te()}],"break-before":[{"break-before":te()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:_()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[Z,"auto",d,u]}],basis:[{basis:[se,"full","auto",p,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[x,se,"auto","initial","none",u]}],grow:[{grow:["",x,d,u]}],shrink:[{shrink:["",x,d,u]}],order:[{order:[Z,"first","last","none",d,u]}],"grid-cols":[{"grid-cols":V()}],"col-start-end":[{col:oe()}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":V()}],"row-start-end":[{row:oe()}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":b()}],"auto-rows":[{"auto-rows":b()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...ie(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...ie()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pbs:[{pbs:f()}],pbe:[{pbe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mbs:[{mbs:T()}],mbe:[{mbe:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:X()}],"inline-size":[{inline:["auto",...ge()]}],"min-inline-size":[{"min-inline":["auto",...ge()]}],"max-inline-size":[{"max-inline":["none",...ge()]}],"block-size":[{block:["auto",...Q()]}],"min-block-size":[{"min-block":["auto",...Q()]}],"max-block-size":[{"max-block":["none",...Q()]}],w:[{w:[p,"screen",...X()]}],"min-w":[{"min-w":[p,"screen","none",...X()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[s]},...X()]}],h:[{h:["screen","lh",...X()]}],"min-h":[{"min-h":["screen","lh","none",...X()]}],"max-h":[{"max-h":["screen","lh",...X()]}],"font-size":[{text:["base",a,Be,Le]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,qt,yt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ge,u]}],"font-family":[{font:[Rt,Ft,t]}],"font-features":[{"font-features":[u]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,d,u]}],"line-clamp":[{"line-clamp":[x,"none",d,da]}],leading:[{leading:[l,...f()]}],"list-image":[{"list-image":["none",d,u]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",d,u]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:i()}],"text-color":[{text:i()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ne(),"wavy"]}],"text-decoration-thickness":[{decoration:[x,"from-font","auto",d,Le]}],"text-decoration-color":[{decoration:i()}],"underline-offset":[{"underline-offset":[x,"auto",d,u]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"tab-size":[{tab:[Z,d,u]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",d,u]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",d,u]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Z,d,u],radial:["",d,u],conic:[Z,d,u]},Tt,Dt]}],"bg-color":[{bg:i()}],"gradient-from-pos":[{from:Y()}],"gradient-via-pos":[{via:Y()}],"gradient-to-pos":[{to:Y()}],"gradient-from":[{from:i()}],"gradient-via":[{via:i()}],"gradient-to":[{to:i()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-bs":[{"border-bs":R()}],"border-w-be":[{"border-be":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":R()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ne(),"hidden","none"]}],"divide-style":[{divide:[...ne(),"hidden","none"]}],"border-color":[{border:i()}],"border-color-x":[{"border-x":i()}],"border-color-y":[{"border-y":i()}],"border-color-s":[{"border-s":i()}],"border-color-e":[{"border-e":i()}],"border-color-bs":[{"border-bs":i()}],"border-color-be":[{"border-be":i()}],"border-color-t":[{"border-t":i()}],"border-color-r":[{"border-r":i()}],"border-color-b":[{"border-b":i()}],"border-color-l":[{"border-l":i()}],"divide-color":[{divide:i()}],"outline-style":[{outline:[...ne(),"none","hidden"]}],"outline-offset":[{"outline-offset":[x,d,u]}],"outline-w":[{outline:["",x,Be,Le]}],"outline-color":[{outline:i()}],shadow:[{shadow:["","none",h,Te,ve]}],"shadow-color":[{shadow:i()}],"inset-shadow":[{"inset-shadow":["none",k,Te,ve]}],"inset-shadow-color":[{"inset-shadow":i()}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:i()}],"ring-offset-w":[{"ring-offset":[x,Le]}],"ring-offset-color":[{"ring-offset":i()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":i()}],"text-shadow":[{"text-shadow":["none",A,Te,ve]}],"text-shadow-color":[{"text-shadow":i()}],opacity:[{opacity:[x,d,u]}],"mix-blend":[{"mix-blend":[...we(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":we()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[x]}],"mask-image-linear-from-pos":[{"mask-linear-from":B()}],"mask-image-linear-to-pos":[{"mask-linear-to":B()}],"mask-image-linear-from-color":[{"mask-linear-from":i()}],"mask-image-linear-to-color":[{"mask-linear-to":i()}],"mask-image-t-from-pos":[{"mask-t-from":B()}],"mask-image-t-to-pos":[{"mask-t-to":B()}],"mask-image-t-from-color":[{"mask-t-from":i()}],"mask-image-t-to-color":[{"mask-t-to":i()}],"mask-image-r-from-pos":[{"mask-r-from":B()}],"mask-image-r-to-pos":[{"mask-r-to":B()}],"mask-image-r-from-color":[{"mask-r-from":i()}],"mask-image-r-to-color":[{"mask-r-to":i()}],"mask-image-b-from-pos":[{"mask-b-from":B()}],"mask-image-b-to-pos":[{"mask-b-to":B()}],"mask-image-b-from-color":[{"mask-b-from":i()}],"mask-image-b-to-color":[{"mask-b-to":i()}],"mask-image-l-from-pos":[{"mask-l-from":B()}],"mask-image-l-to-pos":[{"mask-l-to":B()}],"mask-image-l-from-color":[{"mask-l-from":i()}],"mask-image-l-to-color":[{"mask-l-to":i()}],"mask-image-x-from-pos":[{"mask-x-from":B()}],"mask-image-x-to-pos":[{"mask-x-to":B()}],"mask-image-x-from-color":[{"mask-x-from":i()}],"mask-image-x-to-color":[{"mask-x-to":i()}],"mask-image-y-from-pos":[{"mask-y-from":B()}],"mask-image-y-to-pos":[{"mask-y-to":B()}],"mask-image-y-from-color":[{"mask-y-from":i()}],"mask-image-y-to-color":[{"mask-y-to":i()}],"mask-image-radial":[{"mask-radial":[d,u]}],"mask-image-radial-from-pos":[{"mask-radial-from":B()}],"mask-image-radial-to-pos":[{"mask-radial-to":B()}],"mask-image-radial-from-color":[{"mask-radial-from":i()}],"mask-image-radial-to-color":[{"mask-radial-to":i()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":J()}],"mask-image-conic-pos":[{"mask-conic":[x]}],"mask-image-conic-from-pos":[{"mask-conic-from":B()}],"mask-image-conic-to-pos":[{"mask-conic-to":B()}],"mask-image-conic-from-color":[{"mask-conic-from":i()}],"mask-image-conic-to-color":[{"mask-conic-to":i()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",d,u]}],filter:[{filter:["","none",d,u]}],blur:[{blur:ke()}],brightness:[{brightness:[x,d,u]}],contrast:[{contrast:[x,d,u]}],"drop-shadow":[{"drop-shadow":["","none",M,Te,ve]}],"drop-shadow-color":[{"drop-shadow":i()}],grayscale:[{grayscale:["",x,d,u]}],"hue-rotate":[{"hue-rotate":[x,d,u]}],invert:[{invert:["",x,d,u]}],saturate:[{saturate:[x,d,u]}],sepia:[{sepia:["",x,d,u]}],"backdrop-filter":[{"backdrop-filter":["","none",d,u]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[x,d,u]}],"backdrop-contrast":[{"backdrop-contrast":[x,d,u]}],"backdrop-grayscale":[{"backdrop-grayscale":["",x,d,u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[x,d,u]}],"backdrop-invert":[{"backdrop-invert":["",x,d,u]}],"backdrop-opacity":[{"backdrop-opacity":[x,d,u]}],"backdrop-saturate":[{"backdrop-saturate":[x,d,u]}],"backdrop-sepia":[{"backdrop-sepia":["",x,d,u]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",d,u]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[x,"initial",d,u]}],ease:[{ease:["linear","initial",g,d,u]}],delay:[{delay:[x,d,u]}],animate:[{animate:["none",y,d,u]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[S,d,u]}],"perspective-origin":[{"perspective-origin":_()}],rotate:[{rotate:he()}],"rotate-x":[{"rotate-x":he()}],"rotate-y":[{"rotate-y":he()}],"rotate-z":[{"rotate-z":he()}],scale:[{scale:ue()}],"scale-x":[{"scale-x":ue()}],"scale-y":[{"scale-y":ue()}],"scale-z":[{"scale-z":ue()}],"scale-3d":["scale-3d"],skew:[{skew:be()}],"skew-x":[{"skew-x":be()}],"skew-y":[{"skew-y":be()}],transform:[{transform:[d,u,"","none","gpu","cpu"]}],"transform-origin":[{origin:_()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:c()}],"translate-x":[{"translate-x":c()}],"translate-y":[{"translate-y":c()}],"translate-z":[{"translate-z":c()}],"translate-none":["translate-none"],zoom:[{zoom:[Z,d,u]}],accent:[{accent:i()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:i()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",d,u]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":i()}],"scrollbar-track-color":[{"scrollbar-track":i()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mbs":[{"scroll-mbs":f()}],"scroll-mbe":[{"scroll-mbe":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pbs":[{"scroll-pbs":f()}],"scroll-pbe":[{"scroll-pbe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",d,u]}],fill:[{fill:["none",...i()]}],"stroke-w":[{stroke:[x,Be,Le,da]}],stroke:[{stroke:["none",...i()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var ba=Lt(Ut);function Me(...e){return ba(oa(e))}import{jsx as Se,jsxs as Ht}from"react/jsx-runtime";function Aa({className:e,containerClassName:t,...a}){return Se(He,{"data-slot":"input-otp",containerClassName:Me("flex items-center gap-2 has-disabled:opacity-50",t),className:Me("disabled:cursor-not-allowed",e),...a})}function Ve({className:e,...t}){return Se("div",{"data-slot":"input-otp-group",className:Me("flex items-center",e),...t})}function xe({index:e,className:t,...a}){let o=Pa.useContext(Ue),{char:r,hasFakeCaret:l,isActive:s}=o?.slots[e]??{};return Ht("div",{"data-slot":"input-otp-slot","data-active":s,className:Me("relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",t),...a,children:[r,l&&Se("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:Se("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})}function Ba({...e}){return Se("div",{"data-slot":"input-otp-separator",role:"separator",...e,children:Se(Ae,{})})}import{jsx as Ce,jsxs as Ne}from"react/jsx-runtime";function Gt(){return Ne(Aa,{maxLength:6,children:[Ne(Ve,{children:[Ce(xe,{index:0}),Ce(xe,{index:1}),Ce(xe,{index:2})]}),Ce(Ba,{}),Ne(Ve,{children:[Ce(xe,{index:3}),Ce(xe,{index:4}),Ce(xe,{index:5})]})]})}export{Gt as default};
21
- /*! Bundled license information:
22
-
23
- lucide-react/dist/esm/shared/src/utils.js:
24
- (**
25
- * @license lucide-react v0.456.0 - ISC
26
- *
27
- * This source code is licensed under the ISC license.
28
- * See the LICENSE file in the root directory of this source tree.
29
- *)
30
-
31
- lucide-react/dist/esm/defaultAttributes.js:
32
- (**
33
- * @license lucide-react v0.456.0 - ISC
34
- *
35
- * This source code is licensed under the ISC license.
36
- * See the LICENSE file in the root directory of this source tree.
37
- *)
38
-
39
- lucide-react/dist/esm/Icon.js:
40
- (**
41
- * @license lucide-react v0.456.0 - ISC
42
- *
43
- * This source code is licensed under the ISC license.
44
- * See the LICENSE file in the root directory of this source tree.
45
- *)
46
-
47
- lucide-react/dist/esm/createLucideIcon.js:
48
- (**
49
- * @license lucide-react v0.456.0 - ISC
50
- *
51
- * This source code is licensed under the ISC license.
52
- * See the LICENSE file in the root directory of this source tree.
53
- *)
54
-
55
- lucide-react/dist/esm/icons/minus.js:
56
- (**
57
- * @license lucide-react v0.456.0 - ISC
58
- *
59
- * This source code is licensed under the ISC license.
60
- * See the LICENSE file in the root directory of this source tree.
61
- *)
62
-
63
- lucide-react/dist/esm/lucide-react.js:
64
- (**
65
- * @license lucide-react v0.456.0 - ISC
66
- *
67
- * This source code is licensed under the ISC license.
68
- * See the LICENSE file in the root directory of this source tree.
69
- *)
70
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e5cfff5dd6ad6242f522fc5ead715700e27400c05fd23ab37e4b6db2dbf1b2ac
3
+ size 41057
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/3d96c879795f0b52d0222fa6080809a8671cb67ffe2e18059374482467240ca4 CHANGED
@@ -1 +1,3 @@
1
- export default {".range":{"@layer daisyui.l1.l2.l3":{"appearance":"none","webkit-appearance":"none","--range-thumb":"var(--color-base-100)","--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 6)","--range-progress":"currentColor","--range-fill":"1","--range-p":"0.25rem","--range-bg":"color-mix(in oklab, currentColor 10%, #0000)","cursor":"pointer","overflow":"hidden","background-color":"transparent","vertical-align":"middle","width":"clamp(3rem, 20rem, 100%)","--radius-selector-max":"calc(\n var(--radius-selector) + var(--radius-selector) + var(--radius-selector)\n )","border-radius":"calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)))","border":"none","height":"var(--range-thumb-size)","[dir=\"rtl\"] &":{"--range-dir":"-1"},"&:focus":{"outline":"none"},"&:focus-visible":{"outline":"2px solid","outline-offset":"2px"},"&::-webkit-slider-runnable-track":{"width":"100%","background-color":"var(--range-bg)","border-radius":"var(--radius-selector)","height":"calc(var(--range-thumb-size) * 0.5)"},"@media (forced-colors: active)":[{"&::-webkit-slider-runnable-track":{"border":"1px solid"}},{"&::-moz-range-track":{"border":"1px solid"}}],"&::-webkit-slider-thumb":{"position":"relative","box-sizing":"border-box","border-radius":"calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)))","background-color":"var(--range-thumb)","height":"var(--range-thumb-size)","width":"var(--range-thumb-size)","border":"var(--range-p) solid","appearance":"none","webkit-appearance":"none","top":"50%","color":"var(--range-progress)","transform":"translateY(-50%)","box-shadow":"0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))"},"&::-moz-range-track":{"width":"100%","background-color":"var(--range-bg)","border-radius":"var(--radius-selector)","height":"calc(var(--range-thumb-size) * 0.5)"},"&::-moz-range-thumb":{"position":"relative","box-sizing":"border-box","border-radius":"calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)))","background-color":"currentColor","height":"var(--range-thumb-size)","width":"var(--range-thumb-size)","border":"var(--range-p) solid","top":"50%","color":"var(--range-progress)","box-shadow":"0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))"},"&:disabled":{"cursor":"not-allowed","opacity":"30%"}}},".range-primary":{"@layer daisyui.l1.l2":{"color":"var(--color-primary)","--range-thumb":"var(--color-primary-content)"}},".range-secondary":{"@layer daisyui.l1.l2":{"color":"var(--color-secondary)","--range-thumb":"var(--color-secondary-content)"}},".range-accent":{"@layer daisyui.l1.l2":{"color":"var(--color-accent)","--range-thumb":"var(--color-accent-content)"}},".range-neutral":{"@layer daisyui.l1.l2":{"color":"var(--color-neutral)","--range-thumb":"var(--color-neutral-content)"}},".range-success":{"@layer daisyui.l1.l2":{"color":"var(--color-success)","--range-thumb":"var(--color-success-content)"}},".range-warning":{"@layer daisyui.l1.l2":{"color":"var(--color-warning)","--range-thumb":"var(--color-warning-content)"}},".range-info":{"@layer daisyui.l1.l2":{"color":"var(--color-info)","--range-thumb":"var(--color-info-content)"}},".range-error":{"@layer daisyui.l1.l2":{"color":"var(--color-error)","--range-thumb":"var(--color-error-content)"}},".range-xs":{"@layer daisyui.l1.l2":{"--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 4)"}},".range-sm":{"@layer daisyui.l1.l2":{"--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 5)"}},".range-md":{"@layer daisyui.l1.l2":{"--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 6)"}},".range-lg":{"@layer daisyui.l1.l2":{"--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 7)"}},".range-xl":{"@layer daisyui.l1.l2":{"--range-thumb-size":"calc(var(--size-selector, 0.25rem) * 8)"}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:438fc4c6a092e841c20d92cfd18de3e36dd270500a362a5695b651f71988ca70
3
+ size 4413
b/3d9cc8aadb8392a27c1ff187d99f672e71632d6f56696c24749de3dd92acf51f CHANGED
The diff for this file is too large to render. See raw diff