radames commited on
Commit
549f7f3
1 Parent(s): 12d5ff4

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ src/backend/gradio_rerun/templates/component/re_viewer-Ds4oCzjL.js filter=lfs diff=lfs merge=lfs -text
37
+ src/examples/rgbd.rrd filter=lfs diff=lfs merge=lfs -text
38
+ src/examples/rrt-star.rrd filter=lfs diff=lfs merge=lfs -text
39
+ src/examples/structure_from_motion.rrd filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .eggs/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+ __tmp/*
8
+ *.pyi
9
+ .mypycache
10
+ .ruff_cache
11
+ node_modules
12
+ backend/**/templates/
13
+ venv
README.md CHANGED
@@ -1,12 +1,322 @@
1
  ---
2
- title: Gradio Rerun
3
- emoji: 📚
 
4
  colorFrom: blue
5
- colorTo: pink
6
  sdk: gradio
7
- sdk_version: 4.28.3
8
- app_file: app.py
9
  pinned: false
 
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ tags: [gradio-custom-component, SimpleImage, multimodal data, visualization, machine learning, robotics]
3
+ title: gradio_rerun
4
+ short_description: Rerun viewer with Gradio
5
  colorFrom: blue
6
+ colorTo: yellow
7
  sdk: gradio
 
 
8
  pinned: false
9
+ app_file: space.py
10
  ---
11
 
12
+ # `gradio_rerun`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
14
+
15
+ Rerun viewer with Gradio
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install gradio_rerun
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```python
26
+ import gradio as gr
27
+ from gradio_rerun import Rerun
28
+
29
+
30
+ example = Rerun().example_value()
31
+
32
+
33
+ def predict(url: str, file_path: str | list[str] | None):
34
+ if url:
35
+ return url
36
+ return file_path
37
+
38
+
39
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
40
+ with gr.Row():
41
+ with gr.Column():
42
+ with gr.Group():
43
+ file_path = gr.File(file_count="multiple", type="filepath")
44
+ url = gr.Text(
45
+ info="Or use a URL",
46
+ label="URL",
47
+ )
48
+ with gr.Column():
49
+ pass
50
+ btn = gr.Button("Run", scale=0)
51
+ with gr.Row():
52
+ rerun_viewer = Rerun(height=900)
53
+
54
+ inputs = [file_path, url]
55
+ outputs = [rerun_viewer]
56
+
57
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
58
+
59
+ gr.Examples(
60
+ examples=[
61
+ [
62
+ None,
63
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
64
+ ],
65
+ [
66
+ ["./examples/rgbd.rrd"],
67
+ None,
68
+ ],
69
+ [
70
+ ["./examples/rrt-star.rrd"],
71
+ None,
72
+ ],
73
+ [
74
+ ["./examples/structure_from_motion.rrd"],
75
+ None,
76
+ ],
77
+ [
78
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
79
+ None,
80
+ ],
81
+ ],
82
+ fn=predict,
83
+ inputs=inputs,
84
+ outputs=outputs,
85
+ run_on_click=True,
86
+ )
87
+
88
+ if __name__ == "__main__":
89
+ demo.launch()
90
+
91
+ ```
92
+
93
+ ## `Rerun`
94
+
95
+ ### Initialization
96
+
97
+ <table>
98
+ <thead>
99
+ <tr>
100
+ <th align="left">name</th>
101
+ <th align="left" style="width: 25%;">type</th>
102
+ <th align="left">default</th>
103
+ <th align="left">description</th>
104
+ </tr>
105
+ </thead>
106
+ <tbody>
107
+ <tr>
108
+ <td align="left"><code>value</code></td>
109
+ <td align="left" style="width: 25%;">
110
+
111
+ ```python
112
+ list[str] | None
113
+ ```
114
+
115
+ </td>
116
+ <td align="left"><code>None</code></td>
117
+ <td align="left">A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td align="left"><code>label</code></td>
122
+ <td align="left" style="width: 25%;">
123
+
124
+ ```python
125
+ str | None
126
+ ```
127
+
128
+ </td>
129
+ <td align="left"><code>None</code></td>
130
+ <td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
131
+ </tr>
132
+
133
+ <tr>
134
+ <td align="left"><code>every</code></td>
135
+ <td align="left" style="width: 25%;">
136
+
137
+ ```python
138
+ float | None
139
+ ```
140
+
141
+ </td>
142
+ <td align="left"><code>None</code></td>
143
+ <td align="left">If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.</td>
144
+ </tr>
145
+
146
+ <tr>
147
+ <td align="left"><code>show_label</code></td>
148
+ <td align="left" style="width: 25%;">
149
+
150
+ ```python
151
+ bool | None
152
+ ```
153
+
154
+ </td>
155
+ <td align="left"><code>None</code></td>
156
+ <td align="left">if True, will display label.</td>
157
+ </tr>
158
+
159
+ <tr>
160
+ <td align="left"><code>show_download_button</code></td>
161
+ <td align="left" style="width: 25%;">
162
+
163
+ ```python
164
+ bool
165
+ ```
166
+
167
+ </td>
168
+ <td align="left"><code>True</code></td>
169
+ <td align="left">If True, will display button to download image.</td>
170
+ </tr>
171
+
172
+ <tr>
173
+ <td align="left"><code>container</code></td>
174
+ <td align="left" style="width: 25%;">
175
+
176
+ ```python
177
+ bool
178
+ ```
179
+
180
+ </td>
181
+ <td align="left"><code>True</code></td>
182
+ <td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
183
+ </tr>
184
+
185
+ <tr>
186
+ <td align="left"><code>scale</code></td>
187
+ <td align="left" style="width: 25%;">
188
+
189
+ ```python
190
+ int | None
191
+ ```
192
+
193
+ </td>
194
+ <td align="left"><code>None</code></td>
195
+ <td align="left">relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.</td>
196
+ </tr>
197
+
198
+ <tr>
199
+ <td align="left"><code>min_width</code></td>
200
+ <td align="left" style="width: 25%;">
201
+
202
+ ```python
203
+ int
204
+ ```
205
+
206
+ </td>
207
+ <td align="left"><code>160</code></td>
208
+ <td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
209
+ </tr>
210
+
211
+ <tr>
212
+ <td align="left"><code>height</code></td>
213
+ <td align="left" style="width: 25%;">
214
+
215
+ ```python
216
+ int | str
217
+ ```
218
+
219
+ </td>
220
+ <td align="left"><code>640</code></td>
221
+ <td align="left">height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.</td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <td align="left"><code>interactive</code></td>
226
+ <td align="left" style="width: 25%;">
227
+
228
+ ```python
229
+ bool | None
230
+ ```
231
+
232
+ </td>
233
+ <td align="left"><code>None</code></td>
234
+ <td align="left">if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.</td>
235
+ </tr>
236
+
237
+ <tr>
238
+ <td align="left"><code>visible</code></td>
239
+ <td align="left" style="width: 25%;">
240
+
241
+ ```python
242
+ bool
243
+ ```
244
+
245
+ </td>
246
+ <td align="left"><code>True</code></td>
247
+ <td align="left">If False, component will be hidden.</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td align="left"><code>elem_id</code></td>
252
+ <td align="left" style="width: 25%;">
253
+
254
+ ```python
255
+ str | None
256
+ ```
257
+
258
+ </td>
259
+ <td align="left"><code>None</code></td>
260
+ <td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
261
+ </tr>
262
+
263
+ <tr>
264
+ <td align="left"><code>elem_classes</code></td>
265
+ <td align="left" style="width: 25%;">
266
+
267
+ ```python
268
+ list[str] | str | None
269
+ ```
270
+
271
+ </td>
272
+ <td align="left"><code>None</code></td>
273
+ <td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
274
+ </tr>
275
+
276
+ <tr>
277
+ <td align="left"><code>render</code></td>
278
+ <td align="left" style="width: 25%;">
279
+
280
+ ```python
281
+ bool
282
+ ```
283
+
284
+ </td>
285
+ <td align="left"><code>True</code></td>
286
+ <td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
287
+ </tr>
288
+ </tbody></table>
289
+
290
+
291
+ ### Events
292
+
293
+ | name | description |
294
+ |:-----|:------------|
295
+ | `clear` | This listener is triggered when the user clears the Rerun using the X button for the component. |
296
+ | `change` | Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
297
+ | `upload` | This listener is triggered when the user uploads a file into the Rerun. |
298
+
299
+
300
+
301
+ ### User function
302
+
303
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
304
+
305
+ - When used as an Input, the component only impacts the input signature of the user function.
306
+ - When used as an output, the component only impacts the return signature of the user function.
307
+
308
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
309
+
310
+ - **As output:** Is passed, a `str` containing the path to the image.
311
+ - **As input:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
312
+
313
+ ```python
314
+ def predict(
315
+ value: str | None
316
+ ) -> list[gradio.data_classes.FileData]
317
+ | gradio.data_classes.FileData
318
+ | str
319
+ | list[str]:
320
+ return value
321
+ ```
322
+
__init__.py ADDED
File without changes
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from gradio_rerun import Rerun
3
+
4
+
5
+ example = Rerun().example_value()
6
+
7
+
8
+ def predict(url: str, file_path: str | list[str] | None):
9
+ if url:
10
+ return url
11
+ return file_path
12
+
13
+
14
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
15
+ with gr.Row():
16
+ with gr.Column():
17
+ with gr.Group():
18
+ file_path = gr.File(file_count="multiple", type="filepath")
19
+ url = gr.Text(
20
+ info="Or use a URL",
21
+ label="URL",
22
+ )
23
+ with gr.Column():
24
+ pass
25
+ btn = gr.Button("Run", scale=0)
26
+ with gr.Row():
27
+ rerun_viewer = Rerun(height=900)
28
+
29
+ inputs = [file_path, url]
30
+ outputs = [rerun_viewer]
31
+
32
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
33
+
34
+ gr.Examples(
35
+ examples=[
36
+ [
37
+ None,
38
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
39
+ ],
40
+ [
41
+ ["./examples/rgbd.rrd"],
42
+ None,
43
+ ],
44
+ [
45
+ ["./examples/rrt-star.rrd"],
46
+ None,
47
+ ],
48
+ [
49
+ ["./examples/structure_from_motion.rrd"],
50
+ None,
51
+ ],
52
+ [
53
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
54
+ None,
55
+ ],
56
+ ],
57
+ fn=predict,
58
+ inputs=inputs,
59
+ outputs=outputs,
60
+ run_on_click=True,
61
+ )
62
+
63
+ if __name__ == "__main__":
64
+ demo.launch()
css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio_rerun
space.py ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Rerun': {'description': 'Creates an image component that can be used to upload images (as an input) or display images (as an output).', 'members': {'__init__': {'value': {'type': 'list[str] | None', 'default': 'None', 'description': 'A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'show_download_button': {'type': 'bool', 'default': 'True', 'description': 'If True, will display button to download image.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'height': {'type': 'int | str', 'default': '640', 'description': 'height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'list[gradio.data_classes.FileData]\n | gradio.data_classes.FileData\n | str\n | list[str]', 'description': 'Expects a `str` or `pathlib.Path` object containing the path to the image.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'A `str` containing the path to the image.'}, 'value': None}}, 'events': {'clear': {'type': None, 'default': None, 'description': 'This listener is triggered when the user clears the Rerun using the X button for the component.'}, 'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'upload': {'type': None, 'default': None, 'description': 'This listener is triggered when the user uploads a file into the Rerun.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'Rerun': []}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_rerun`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
25
+ </div>
26
+
27
+ Rerun viewer with Gradio
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_rerun
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+ import gradio as gr
42
+ from gradio_rerun import Rerun
43
+
44
+
45
+ example = Rerun().example_value()
46
+
47
+
48
+ def predict(url: str, file_path: str | list[str] | None):
49
+ if url:
50
+ return url
51
+ return file_path
52
+
53
+
54
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
55
+ with gr.Row():
56
+ with gr.Column():
57
+ with gr.Group():
58
+ file_path = gr.File(file_count="multiple", type="filepath")
59
+ url = gr.Text(
60
+ info="Or use a URL",
61
+ label="URL",
62
+ )
63
+ with gr.Column():
64
+ pass
65
+ btn = gr.Button("Run", scale=0)
66
+ with gr.Row():
67
+ rerun_viewer = Rerun(height=900)
68
+
69
+ inputs = [file_path, url]
70
+ outputs = [rerun_viewer]
71
+
72
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
73
+
74
+ gr.Examples(
75
+ examples=[
76
+ [
77
+ None,
78
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
79
+ ],
80
+ [
81
+ ["./examples/rgbd.rrd"],
82
+ None,
83
+ ],
84
+ [
85
+ ["./examples/rrt-star.rrd"],
86
+ None,
87
+ ],
88
+ [
89
+ ["./examples/structure_from_motion.rrd"],
90
+ None,
91
+ ],
92
+ [
93
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
94
+ None,
95
+ ],
96
+ ],
97
+ fn=predict,
98
+ inputs=inputs,
99
+ outputs=outputs,
100
+ run_on_click=True,
101
+ )
102
+
103
+ if __name__ == "__main__":
104
+ demo.launch()
105
+
106
+ ```
107
+ """, elem_classes=["md-custom"], header_links=True)
108
+
109
+
110
+ gr.Markdown("""
111
+ ## `Rerun`
112
+
113
+ ### Initialization
114
+ """, elem_classes=["md-custom"], header_links=True)
115
+
116
+ gr.ParamViewer(value=_docs["Rerun"]["members"]["__init__"], linkify=[])
117
+
118
+
119
+ gr.Markdown("### Events")
120
+ gr.ParamViewer(value=_docs["Rerun"]["events"], linkify=['Event'])
121
+
122
+
123
+
124
+
125
+ gr.Markdown("""
126
+
127
+ ### User function
128
+
129
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
130
+
131
+ - When used as an Input, the component only impacts the input signature of the user function.
132
+ - When used as an output, the component only impacts the return signature of the user function.
133
+
134
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
135
+
136
+ - **As input:** Is passed, a `str` containing the path to the image.
137
+ - **As output:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
138
+
139
+ ```python
140
+ def predict(
141
+ value: str | None
142
+ ) -> list[gradio.data_classes.FileData]
143
+ | gradio.data_classes.FileData
144
+ | str
145
+ | list[str]:
146
+ return value
147
+ ```
148
+ """, elem_classes=["md-custom", "Rerun-user-fn"], header_links=True)
149
+
150
+
151
+
152
+
153
+ demo.load(None, js=r"""function() {
154
+ const refs = {};
155
+ const user_fn_refs = {
156
+ Rerun: [], };
157
+ requestAnimationFrame(() => {
158
+
159
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
160
+ if (refs.length > 0) {
161
+ const el = document.querySelector(`.${key}-user-fn`);
162
+ if (!el) return;
163
+ refs.forEach(ref => {
164
+ el.innerHTML = el.innerHTML.replace(
165
+ new RegExp("\\b"+ref+"\\b", "g"),
166
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
167
+ );
168
+ })
169
+ }
170
+ })
171
+
172
+ Object.entries(refs).forEach(([key, refs]) => {
173
+ if (refs.length > 0) {
174
+ const el = document.querySelector(`.${key}`);
175
+ if (!el) return;
176
+ refs.forEach(ref => {
177
+ el.innerHTML = el.innerHTML.replace(
178
+ new RegExp("\\b"+ref+"\\b", "g"),
179
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
180
+ );
181
+ })
182
+ }
183
+ })
184
+ })
185
+ }
186
+
187
+ """)
188
+
189
+ demo.launch()
src/.gitignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .eggs/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+ __tmp/*
8
+ *.pyi
9
+ .mypycache
10
+ .ruff_cache
11
+ node_modules
12
+ backend/**/templates/
13
+ venv
src/README.md ADDED
@@ -0,0 +1,322 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags: [gradio-custom-component, SimpleImage, multimodal data, visualization, machine learning, robotics]
3
+ title: gradio_rerun
4
+ short_description: Rerun viewer with Gradio
5
+ colorFrom: blue
6
+ colorTo: yellow
7
+ sdk: gradio
8
+ pinned: false
9
+ app_file: space.py
10
+ ---
11
+
12
+ # `gradio_rerun`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
14
+
15
+ Rerun viewer with Gradio
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install gradio_rerun
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```python
26
+ import gradio as gr
27
+ from gradio_rerun import Rerun
28
+
29
+
30
+ example = Rerun().example_value()
31
+
32
+
33
+ def predict(url: str, file_path: str | list[str] | None):
34
+ if url:
35
+ return url
36
+ return file_path
37
+
38
+
39
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
40
+ with gr.Row():
41
+ with gr.Column():
42
+ with gr.Group():
43
+ file_path = gr.File(file_count="multiple", type="filepath")
44
+ url = gr.Text(
45
+ info="Or use a URL",
46
+ label="URL",
47
+ )
48
+ with gr.Column():
49
+ pass
50
+ btn = gr.Button("Run", scale=0)
51
+ with gr.Row():
52
+ rerun_viewer = Rerun(height=900)
53
+
54
+ inputs = [file_path, url]
55
+ outputs = [rerun_viewer]
56
+
57
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
58
+
59
+ gr.Examples(
60
+ examples=[
61
+ [
62
+ None,
63
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
64
+ ],
65
+ [
66
+ ["./examples/rgbd.rrd"],
67
+ None,
68
+ ],
69
+ [
70
+ ["./examples/rrt-star.rrd"],
71
+ None,
72
+ ],
73
+ [
74
+ ["./examples/structure_from_motion.rrd"],
75
+ None,
76
+ ],
77
+ [
78
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
79
+ None,
80
+ ],
81
+ ],
82
+ fn=predict,
83
+ inputs=inputs,
84
+ outputs=outputs,
85
+ run_on_click=True,
86
+ )
87
+
88
+ if __name__ == "__main__":
89
+ demo.launch()
90
+
91
+ ```
92
+
93
+ ## `Rerun`
94
+
95
+ ### Initialization
96
+
97
+ <table>
98
+ <thead>
99
+ <tr>
100
+ <th align="left">name</th>
101
+ <th align="left" style="width: 25%;">type</th>
102
+ <th align="left">default</th>
103
+ <th align="left">description</th>
104
+ </tr>
105
+ </thead>
106
+ <tbody>
107
+ <tr>
108
+ <td align="left"><code>value</code></td>
109
+ <td align="left" style="width: 25%;">
110
+
111
+ ```python
112
+ list[str] | None
113
+ ```
114
+
115
+ </td>
116
+ <td align="left"><code>None</code></td>
117
+ <td align="left">A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td align="left"><code>label</code></td>
122
+ <td align="left" style="width: 25%;">
123
+
124
+ ```python
125
+ str | None
126
+ ```
127
+
128
+ </td>
129
+ <td align="left"><code>None</code></td>
130
+ <td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
131
+ </tr>
132
+
133
+ <tr>
134
+ <td align="left"><code>every</code></td>
135
+ <td align="left" style="width: 25%;">
136
+
137
+ ```python
138
+ float | None
139
+ ```
140
+
141
+ </td>
142
+ <td align="left"><code>None</code></td>
143
+ <td align="left">If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.</td>
144
+ </tr>
145
+
146
+ <tr>
147
+ <td align="left"><code>show_label</code></td>
148
+ <td align="left" style="width: 25%;">
149
+
150
+ ```python
151
+ bool | None
152
+ ```
153
+
154
+ </td>
155
+ <td align="left"><code>None</code></td>
156
+ <td align="left">if True, will display label.</td>
157
+ </tr>
158
+
159
+ <tr>
160
+ <td align="left"><code>show_download_button</code></td>
161
+ <td align="left" style="width: 25%;">
162
+
163
+ ```python
164
+ bool
165
+ ```
166
+
167
+ </td>
168
+ <td align="left"><code>True</code></td>
169
+ <td align="left">If True, will display button to download image.</td>
170
+ </tr>
171
+
172
+ <tr>
173
+ <td align="left"><code>container</code></td>
174
+ <td align="left" style="width: 25%;">
175
+
176
+ ```python
177
+ bool
178
+ ```
179
+
180
+ </td>
181
+ <td align="left"><code>True</code></td>
182
+ <td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
183
+ </tr>
184
+
185
+ <tr>
186
+ <td align="left"><code>scale</code></td>
187
+ <td align="left" style="width: 25%;">
188
+
189
+ ```python
190
+ int | None
191
+ ```
192
+
193
+ </td>
194
+ <td align="left"><code>None</code></td>
195
+ <td align="left">relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.</td>
196
+ </tr>
197
+
198
+ <tr>
199
+ <td align="left"><code>min_width</code></td>
200
+ <td align="left" style="width: 25%;">
201
+
202
+ ```python
203
+ int
204
+ ```
205
+
206
+ </td>
207
+ <td align="left"><code>160</code></td>
208
+ <td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
209
+ </tr>
210
+
211
+ <tr>
212
+ <td align="left"><code>height</code></td>
213
+ <td align="left" style="width: 25%;">
214
+
215
+ ```python
216
+ int | str
217
+ ```
218
+
219
+ </td>
220
+ <td align="left"><code>640</code></td>
221
+ <td align="left">height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.</td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <td align="left"><code>interactive</code></td>
226
+ <td align="left" style="width: 25%;">
227
+
228
+ ```python
229
+ bool | None
230
+ ```
231
+
232
+ </td>
233
+ <td align="left"><code>None</code></td>
234
+ <td align="left">if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.</td>
235
+ </tr>
236
+
237
+ <tr>
238
+ <td align="left"><code>visible</code></td>
239
+ <td align="left" style="width: 25%;">
240
+
241
+ ```python
242
+ bool
243
+ ```
244
+
245
+ </td>
246
+ <td align="left"><code>True</code></td>
247
+ <td align="left">If False, component will be hidden.</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td align="left"><code>elem_id</code></td>
252
+ <td align="left" style="width: 25%;">
253
+
254
+ ```python
255
+ str | None
256
+ ```
257
+
258
+ </td>
259
+ <td align="left"><code>None</code></td>
260
+ <td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
261
+ </tr>
262
+
263
+ <tr>
264
+ <td align="left"><code>elem_classes</code></td>
265
+ <td align="left" style="width: 25%;">
266
+
267
+ ```python
268
+ list[str] | str | None
269
+ ```
270
+
271
+ </td>
272
+ <td align="left"><code>None</code></td>
273
+ <td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
274
+ </tr>
275
+
276
+ <tr>
277
+ <td align="left"><code>render</code></td>
278
+ <td align="left" style="width: 25%;">
279
+
280
+ ```python
281
+ bool
282
+ ```
283
+
284
+ </td>
285
+ <td align="left"><code>True</code></td>
286
+ <td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
287
+ </tr>
288
+ </tbody></table>
289
+
290
+
291
+ ### Events
292
+
293
+ | name | description |
294
+ |:-----|:------------|
295
+ | `clear` | This listener is triggered when the user clears the Rerun using the X button for the component. |
296
+ | `change` | Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
297
+ | `upload` | This listener is triggered when the user uploads a file into the Rerun. |
298
+
299
+
300
+
301
+ ### User function
302
+
303
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
304
+
305
+ - When used as an Input, the component only impacts the input signature of the user function.
306
+ - When used as an output, the component only impacts the return signature of the user function.
307
+
308
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
309
+
310
+ - **As output:** Is passed, a `str` containing the path to the image.
311
+ - **As input:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
312
+
313
+ ```python
314
+ def predict(
315
+ value: str | None
316
+ ) -> list[gradio.data_classes.FileData]
317
+ | gradio.data_classes.FileData
318
+ | str
319
+ | list[str]:
320
+ return value
321
+ ```
322
+
src/backend/gradio_rerun/__init__.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+
2
+ from .rerun import Rerun
3
+
4
+ __all__ = ['Rerun']
src/backend/gradio_rerun/rerun.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """gr.SimpleImage() component."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import Any
7
+
8
+ from gradio_client import file
9
+
10
+ from gradio.components.base import Component
11
+ from gradio.data_classes import GradioRootModel, FileData
12
+ from gradio.events import Events
13
+
14
+
15
+ class RerunData(GradioRootModel):
16
+ """
17
+ Data model for Rerun component it can be a list of FileData, FileData, or as list of URLs.
18
+ """
19
+
20
+ root: list[FileData] | FileData | str | list[str]
21
+
22
+
23
+ class Rerun(Component):
24
+ """
25
+ Creates an image component that can be used to upload images (as an input) or display images (as an output).
26
+ """
27
+
28
+ EVENTS = [
29
+ Events.clear,
30
+ Events.change,
31
+ Events.upload,
32
+ ]
33
+
34
+ data_model = RerunData
35
+
36
+ def __init__(
37
+ self,
38
+ value: list[str] | None = None,
39
+ *,
40
+ label: str | None = None,
41
+ every: float | None = None,
42
+ show_label: bool | None = None,
43
+ show_download_button: bool = True,
44
+ container: bool = True,
45
+ scale: int | None = None,
46
+ min_width: int = 160,
47
+ height: int | str = 640,
48
+ interactive: bool | None = None,
49
+ visible: bool = True,
50
+ elem_id: str | None = None,
51
+ elem_classes: list[str] | str | None = None,
52
+ render: bool = True,
53
+ ):
54
+ """
55
+ Parameters:
56
+ value: A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.
57
+ label: The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.
58
+ every: If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.
59
+ show_label: if True, will display label.
60
+ show_download_button: If True, will display button to download image.
61
+ container: If True, will place the component in a container - providing some extra padding around the border.
62
+ scale: relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
63
+ min_width: minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
64
+ height: height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.
65
+ interactive: if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.
66
+ visible: If False, component will be hidden.
67
+ elem_id: An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
68
+ elem_classes: An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
69
+ render: If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
70
+ """
71
+ self.show_download_button = show_download_button
72
+ self.height = height
73
+ super().__init__(
74
+ label=label,
75
+ every=every,
76
+ show_label=show_label,
77
+ container=container,
78
+ scale=scale,
79
+ min_width=min_width,
80
+ interactive=interactive,
81
+ visible=visible,
82
+ elem_id=elem_id,
83
+ elem_classes=elem_classes,
84
+ render=render,
85
+ value=value,
86
+ )
87
+
88
+ def preprocess(self, payload: FileData | list[FileData] | None) -> str | None:
89
+ """
90
+ Parameters:
91
+ payload: A FileData object containing the image data.
92
+ Returns:
93
+ A `str` containing the path to the image.
94
+ """
95
+ if payload is None:
96
+ return None
97
+ return payload
98
+
99
+ def postprocess(
100
+ self, value: list[FileData] | FileData | str | list[str]
101
+ ) -> RerunData:
102
+ """
103
+ Parameters:
104
+ value: Expects a `str` or `pathlib.Path` object containing the path to the image.
105
+ Returns:
106
+ A FileData object containing the image data.
107
+ """
108
+ if value is None:
109
+ return RerunData(root=[])
110
+
111
+ if not isinstance(value, list):
112
+ value = [value]
113
+
114
+ def is_url(input: str) -> bool:
115
+ return input.startswith("http://") or input.startswith("https://")
116
+
117
+ return RerunData(
118
+ root=[
119
+ FileData(
120
+ path=file,
121
+ orig_name=Path(file).name,
122
+ size=Path(file).stat().st_size,
123
+ )
124
+ if not is_url(file)
125
+ else file
126
+ for file in value
127
+ ]
128
+ )
129
+
130
+ def example_payload(self) -> Any:
131
+ return [
132
+ file(
133
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd"
134
+ ),
135
+ file(
136
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd"
137
+ ),
138
+ ]
139
+
140
+ def example_value(self) -> Any:
141
+ return [
142
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
143
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
144
+ ]
src/backend/gradio_rerun/templates/component/index.js ADDED
@@ -0,0 +1,2648 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let be = null;
2
+ async function Bt() {
3
+ return be || (be = (await import("./re_viewer-Ds4oCzjL.js")).WebHandle, be);
4
+ }
5
+ function Dt() {
6
+ const n = new Uint8Array(16);
7
+ return crypto.getRandomValues(n), Array.from(n).map((e) => e.toString(16).padStart(2, "0")).join("");
8
+ }
9
+ class Ht {
10
+ /** @type {(import("./re_viewer.js").WebHandle) | null} */
11
+ #e = null;
12
+ /** @type {HTMLCanvasElement | null} */
13
+ #l = null;
14
+ /** @type {'ready' | 'starting' | 'stopped'} */
15
+ #t = "stopped";
16
+ /**
17
+ * Start the viewer.
18
+ *
19
+ * @param {string | string[]} [rrd] URLs to `.rrd` files or WebSocket connections to our SDK.
20
+ * @param {HTMLElement} [parent] The element to attach the canvas onto.
21
+ * @returns {Promise<void>}
22
+ */
23
+ async start(e, t = document.body) {
24
+ if (this.#t !== "stopped")
25
+ return;
26
+ this.#t = "starting", this.#l = document.createElement("canvas"), this.#l.id = Dt(), t.append(this.#l);
27
+ let l = await Bt();
28
+ if (this.#t === "starting" && (this.#e = new l(), await this.#e.start(this.#l.id, void 0), this.#t === "starting")) {
29
+ if (this.#e.has_panicked())
30
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
31
+ e && this.open(e);
32
+ }
33
+ }
34
+ /**
35
+ * Returns `true` if the viewer is ready to connect to data sources.
36
+ */
37
+ get ready() {
38
+ return this.#t === "ready";
39
+ }
40
+ /**
41
+ * Open a recording.
42
+ *
43
+ * The viewer must have been started via `WebViewer.start`.
44
+ *
45
+ * @see {WebViewer.start}
46
+ *
47
+ * @param {string | string[]} rrd URLs to `.rrd` files or WebSocket connections to our SDK.
48
+ */
49
+ open(e) {
50
+ if (!this.#e)
51
+ throw new Error(`attempted to open \`${e}\` in a stopped viewer`);
52
+ const t = Array.isArray(e) ? e : [e];
53
+ for (const l of t)
54
+ if (this.#e.add_receiver(l), this.#e.has_panicked())
55
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
56
+ }
57
+ /**
58
+ * Close a recording.
59
+ *
60
+ * The viewer must have been started via `WebViewer.start`.
61
+ *
62
+ * @see {WebViewer.start}
63
+ *
64
+ * @param {string | string[]} rrd URLs to `.rrd` files or WebSocket connections to our SDK.
65
+ */
66
+ close(e) {
67
+ if (!this.#e)
68
+ throw new Error(`attempted to close \`${e}\` in a stopped viewer`);
69
+ const t = Array.isArray(e) ? e : [e];
70
+ for (const l of t)
71
+ if (this.#e.remove_receiver(l), this.#e.has_panicked())
72
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
73
+ }
74
+ /**
75
+ * Stop the viewer, freeing all associated memory.
76
+ *
77
+ * The same viewer instance may be started multiple times.
78
+ */
79
+ stop() {
80
+ this.#t !== "stopped" && (this.#t = "stopped", this.#l?.remove(), this.#e?.destroy(), this.#e?.free(), this.#l = null, this.#e = null);
81
+ }
82
+ }
83
+ const {
84
+ SvelteComponent: Tt,
85
+ assign: Rt,
86
+ create_slot: Xt,
87
+ detach: Yt,
88
+ element: Gt,
89
+ get_all_dirty_from_scope: Ot,
90
+ get_slot_changes: Ut,
91
+ get_spread_update: Jt,
92
+ init: Kt,
93
+ insert: Qt,
94
+ safe_not_equal: xt,
95
+ set_dynamic_element_data: Pe,
96
+ set_style: V,
97
+ toggle_class: B,
98
+ transition_in: dt,
99
+ transition_out: mt,
100
+ update_slot_base: $t
101
+ } = window.__gradio__svelte__internal;
102
+ function el(n) {
103
+ let e, t, l;
104
+ const i = (
105
+ /*#slots*/
106
+ n[18].default
107
+ ), s = Xt(
108
+ i,
109
+ n,
110
+ /*$$scope*/
111
+ n[17],
112
+ null
113
+ );
114
+ let o = [
115
+ { "data-testid": (
116
+ /*test_id*/
117
+ n[7]
118
+ ) },
119
+ { id: (
120
+ /*elem_id*/
121
+ n[2]
122
+ ) },
123
+ {
124
+ class: t = "block " + /*elem_classes*/
125
+ n[3].join(" ") + " svelte-nl1om8"
126
+ }
127
+ ], a = {};
128
+ for (let r = 0; r < o.length; r += 1)
129
+ a = Rt(a, o[r]);
130
+ return {
131
+ c() {
132
+ e = Gt(
133
+ /*tag*/
134
+ n[14]
135
+ ), s && s.c(), Pe(
136
+ /*tag*/
137
+ n[14]
138
+ )(e, a), B(
139
+ e,
140
+ "hidden",
141
+ /*visible*/
142
+ n[10] === !1
143
+ ), B(
144
+ e,
145
+ "padded",
146
+ /*padding*/
147
+ n[6]
148
+ ), B(
149
+ e,
150
+ "border_focus",
151
+ /*border_mode*/
152
+ n[5] === "focus"
153
+ ), B(
154
+ e,
155
+ "border_contrast",
156
+ /*border_mode*/
157
+ n[5] === "contrast"
158
+ ), B(e, "hide-container", !/*explicit_call*/
159
+ n[8] && !/*container*/
160
+ n[9]), V(
161
+ e,
162
+ "height",
163
+ /*get_dimension*/
164
+ n[15](
165
+ /*height*/
166
+ n[0]
167
+ )
168
+ ), V(e, "width", typeof /*width*/
169
+ n[1] == "number" ? `calc(min(${/*width*/
170
+ n[1]}px, 100%))` : (
171
+ /*get_dimension*/
172
+ n[15](
173
+ /*width*/
174
+ n[1]
175
+ )
176
+ )), V(
177
+ e,
178
+ "border-style",
179
+ /*variant*/
180
+ n[4]
181
+ ), V(
182
+ e,
183
+ "overflow",
184
+ /*allow_overflow*/
185
+ n[11] ? "visible" : "hidden"
186
+ ), V(
187
+ e,
188
+ "flex-grow",
189
+ /*scale*/
190
+ n[12]
191
+ ), V(e, "min-width", `calc(min(${/*min_width*/
192
+ n[13]}px, 100%))`), V(e, "border-width", "var(--block-border-width)");
193
+ },
194
+ m(r, f) {
195
+ Qt(r, e, f), s && s.m(e, null), l = !0;
196
+ },
197
+ p(r, f) {
198
+ s && s.p && (!l || f & /*$$scope*/
199
+ 131072) && $t(
200
+ s,
201
+ i,
202
+ r,
203
+ /*$$scope*/
204
+ r[17],
205
+ l ? Ut(
206
+ i,
207
+ /*$$scope*/
208
+ r[17],
209
+ f,
210
+ null
211
+ ) : Ot(
212
+ /*$$scope*/
213
+ r[17]
214
+ ),
215
+ null
216
+ ), Pe(
217
+ /*tag*/
218
+ r[14]
219
+ )(e, a = Jt(o, [
220
+ (!l || f & /*test_id*/
221
+ 128) && { "data-testid": (
222
+ /*test_id*/
223
+ r[7]
224
+ ) },
225
+ (!l || f & /*elem_id*/
226
+ 4) && { id: (
227
+ /*elem_id*/
228
+ r[2]
229
+ ) },
230
+ (!l || f & /*elem_classes*/
231
+ 8 && t !== (t = "block " + /*elem_classes*/
232
+ r[3].join(" ") + " svelte-nl1om8")) && { class: t }
233
+ ])), B(
234
+ e,
235
+ "hidden",
236
+ /*visible*/
237
+ r[10] === !1
238
+ ), B(
239
+ e,
240
+ "padded",
241
+ /*padding*/
242
+ r[6]
243
+ ), B(
244
+ e,
245
+ "border_focus",
246
+ /*border_mode*/
247
+ r[5] === "focus"
248
+ ), B(
249
+ e,
250
+ "border_contrast",
251
+ /*border_mode*/
252
+ r[5] === "contrast"
253
+ ), B(e, "hide-container", !/*explicit_call*/
254
+ r[8] && !/*container*/
255
+ r[9]), f & /*height*/
256
+ 1 && V(
257
+ e,
258
+ "height",
259
+ /*get_dimension*/
260
+ r[15](
261
+ /*height*/
262
+ r[0]
263
+ )
264
+ ), f & /*width*/
265
+ 2 && V(e, "width", typeof /*width*/
266
+ r[1] == "number" ? `calc(min(${/*width*/
267
+ r[1]}px, 100%))` : (
268
+ /*get_dimension*/
269
+ r[15](
270
+ /*width*/
271
+ r[1]
272
+ )
273
+ )), f & /*variant*/
274
+ 16 && V(
275
+ e,
276
+ "border-style",
277
+ /*variant*/
278
+ r[4]
279
+ ), f & /*allow_overflow*/
280
+ 2048 && V(
281
+ e,
282
+ "overflow",
283
+ /*allow_overflow*/
284
+ r[11] ? "visible" : "hidden"
285
+ ), f & /*scale*/
286
+ 4096 && V(
287
+ e,
288
+ "flex-grow",
289
+ /*scale*/
290
+ r[12]
291
+ ), f & /*min_width*/
292
+ 8192 && V(e, "min-width", `calc(min(${/*min_width*/
293
+ r[13]}px, 100%))`);
294
+ },
295
+ i(r) {
296
+ l || (dt(s, r), l = !0);
297
+ },
298
+ o(r) {
299
+ mt(s, r), l = !1;
300
+ },
301
+ d(r) {
302
+ r && Yt(e), s && s.d(r);
303
+ }
304
+ };
305
+ }
306
+ function tl(n) {
307
+ let e, t = (
308
+ /*tag*/
309
+ n[14] && el(n)
310
+ );
311
+ return {
312
+ c() {
313
+ t && t.c();
314
+ },
315
+ m(l, i) {
316
+ t && t.m(l, i), e = !0;
317
+ },
318
+ p(l, [i]) {
319
+ /*tag*/
320
+ l[14] && t.p(l, i);
321
+ },
322
+ i(l) {
323
+ e || (dt(t, l), e = !0);
324
+ },
325
+ o(l) {
326
+ mt(t, l), e = !1;
327
+ },
328
+ d(l) {
329
+ t && t.d(l);
330
+ }
331
+ };
332
+ }
333
+ function ll(n, e, t) {
334
+ let { $$slots: l = {}, $$scope: i } = e, { height: s = void 0 } = e, { width: o = void 0 } = e, { elem_id: a = "" } = e, { elem_classes: r = [] } = e, { variant: f = "solid" } = e, { border_mode: u = "base" } = e, { padding: _ = !0 } = e, { type: k = "normal" } = e, { test_id: m = void 0 } = e, { explicit_call: p = !1 } = e, { container: C = !0 } = e, { visible: y = !0 } = e, { allow_overflow: L = !0 } = e, { scale: d = null } = e, { min_width: c = 0 } = e, q = k === "fieldset" ? "fieldset" : "div";
335
+ const z = (h) => {
336
+ if (h !== void 0) {
337
+ if (typeof h == "number")
338
+ return h + "px";
339
+ if (typeof h == "string")
340
+ return h;
341
+ }
342
+ };
343
+ return n.$$set = (h) => {
344
+ "height" in h && t(0, s = h.height), "width" in h && t(1, o = h.width), "elem_id" in h && t(2, a = h.elem_id), "elem_classes" in h && t(3, r = h.elem_classes), "variant" in h && t(4, f = h.variant), "border_mode" in h && t(5, u = h.border_mode), "padding" in h && t(6, _ = h.padding), "type" in h && t(16, k = h.type), "test_id" in h && t(7, m = h.test_id), "explicit_call" in h && t(8, p = h.explicit_call), "container" in h && t(9, C = h.container), "visible" in h && t(10, y = h.visible), "allow_overflow" in h && t(11, L = h.allow_overflow), "scale" in h && t(12, d = h.scale), "min_width" in h && t(13, c = h.min_width), "$$scope" in h && t(17, i = h.$$scope);
345
+ }, [
346
+ s,
347
+ o,
348
+ a,
349
+ r,
350
+ f,
351
+ u,
352
+ _,
353
+ m,
354
+ p,
355
+ C,
356
+ y,
357
+ L,
358
+ d,
359
+ c,
360
+ q,
361
+ z,
362
+ k,
363
+ i,
364
+ l
365
+ ];
366
+ }
367
+ class nl extends Tt {
368
+ constructor(e) {
369
+ super(), Kt(this, e, ll, tl, xt, {
370
+ height: 0,
371
+ width: 1,
372
+ elem_id: 2,
373
+ elem_classes: 3,
374
+ variant: 4,
375
+ border_mode: 5,
376
+ padding: 6,
377
+ type: 16,
378
+ test_id: 7,
379
+ explicit_call: 8,
380
+ container: 9,
381
+ visible: 10,
382
+ allow_overflow: 11,
383
+ scale: 12,
384
+ min_width: 13
385
+ });
386
+ }
387
+ }
388
+ const {
389
+ SvelteComponent: il,
390
+ append: Se,
391
+ attr: R,
392
+ bubble: sl,
393
+ create_component: fl,
394
+ destroy_component: ol,
395
+ detach: bt,
396
+ element: Me,
397
+ init: rl,
398
+ insert: ht,
399
+ listen: al,
400
+ mount_component: ul,
401
+ safe_not_equal: cl,
402
+ set_data: _l,
403
+ set_style: ee,
404
+ space: dl,
405
+ text: ml,
406
+ toggle_class: S,
407
+ transition_in: bl,
408
+ transition_out: hl
409
+ } = window.__gradio__svelte__internal;
410
+ function We(n) {
411
+ let e, t;
412
+ return {
413
+ c() {
414
+ e = Me("span"), t = ml(
415
+ /*label*/
416
+ n[1]
417
+ ), R(e, "class", "svelte-1lrphxw");
418
+ },
419
+ m(l, i) {
420
+ ht(l, e, i), Se(e, t);
421
+ },
422
+ p(l, i) {
423
+ i & /*label*/
424
+ 2 && _l(
425
+ t,
426
+ /*label*/
427
+ l[1]
428
+ );
429
+ },
430
+ d(l) {
431
+ l && bt(e);
432
+ }
433
+ };
434
+ }
435
+ function gl(n) {
436
+ let e, t, l, i, s, o, a, r = (
437
+ /*show_label*/
438
+ n[2] && We(n)
439
+ );
440
+ return i = new /*Icon*/
441
+ n[0]({}), {
442
+ c() {
443
+ e = Me("button"), r && r.c(), t = dl(), l = Me("div"), fl(i.$$.fragment), R(l, "class", "svelte-1lrphxw"), S(
444
+ l,
445
+ "small",
446
+ /*size*/
447
+ n[4] === "small"
448
+ ), S(
449
+ l,
450
+ "large",
451
+ /*size*/
452
+ n[4] === "large"
453
+ ), S(
454
+ l,
455
+ "medium",
456
+ /*size*/
457
+ n[4] === "medium"
458
+ ), e.disabled = /*disabled*/
459
+ n[7], R(
460
+ e,
461
+ "aria-label",
462
+ /*label*/
463
+ n[1]
464
+ ), R(
465
+ e,
466
+ "aria-haspopup",
467
+ /*hasPopup*/
468
+ n[8]
469
+ ), R(
470
+ e,
471
+ "title",
472
+ /*label*/
473
+ n[1]
474
+ ), R(e, "class", "svelte-1lrphxw"), S(
475
+ e,
476
+ "pending",
477
+ /*pending*/
478
+ n[3]
479
+ ), S(
480
+ e,
481
+ "padded",
482
+ /*padded*/
483
+ n[5]
484
+ ), S(
485
+ e,
486
+ "highlight",
487
+ /*highlight*/
488
+ n[6]
489
+ ), S(
490
+ e,
491
+ "transparent",
492
+ /*transparent*/
493
+ n[9]
494
+ ), ee(e, "color", !/*disabled*/
495
+ n[7] && /*_color*/
496
+ n[12] ? (
497
+ /*_color*/
498
+ n[12]
499
+ ) : "var(--block-label-text-color)"), ee(e, "--bg-color", /*disabled*/
500
+ n[7] ? "auto" : (
501
+ /*background*/
502
+ n[10]
503
+ )), ee(
504
+ e,
505
+ "margin-left",
506
+ /*offset*/
507
+ n[11] + "px"
508
+ );
509
+ },
510
+ m(f, u) {
511
+ ht(f, e, u), r && r.m(e, null), Se(e, t), Se(e, l), ul(i, l, null), s = !0, o || (a = al(
512
+ e,
513
+ "click",
514
+ /*click_handler*/
515
+ n[14]
516
+ ), o = !0);
517
+ },
518
+ p(f, [u]) {
519
+ /*show_label*/
520
+ f[2] ? r ? r.p(f, u) : (r = We(f), r.c(), r.m(e, t)) : r && (r.d(1), r = null), (!s || u & /*size*/
521
+ 16) && S(
522
+ l,
523
+ "small",
524
+ /*size*/
525
+ f[4] === "small"
526
+ ), (!s || u & /*size*/
527
+ 16) && S(
528
+ l,
529
+ "large",
530
+ /*size*/
531
+ f[4] === "large"
532
+ ), (!s || u & /*size*/
533
+ 16) && S(
534
+ l,
535
+ "medium",
536
+ /*size*/
537
+ f[4] === "medium"
538
+ ), (!s || u & /*disabled*/
539
+ 128) && (e.disabled = /*disabled*/
540
+ f[7]), (!s || u & /*label*/
541
+ 2) && R(
542
+ e,
543
+ "aria-label",
544
+ /*label*/
545
+ f[1]
546
+ ), (!s || u & /*hasPopup*/
547
+ 256) && R(
548
+ e,
549
+ "aria-haspopup",
550
+ /*hasPopup*/
551
+ f[8]
552
+ ), (!s || u & /*label*/
553
+ 2) && R(
554
+ e,
555
+ "title",
556
+ /*label*/
557
+ f[1]
558
+ ), (!s || u & /*pending*/
559
+ 8) && S(
560
+ e,
561
+ "pending",
562
+ /*pending*/
563
+ f[3]
564
+ ), (!s || u & /*padded*/
565
+ 32) && S(
566
+ e,
567
+ "padded",
568
+ /*padded*/
569
+ f[5]
570
+ ), (!s || u & /*highlight*/
571
+ 64) && S(
572
+ e,
573
+ "highlight",
574
+ /*highlight*/
575
+ f[6]
576
+ ), (!s || u & /*transparent*/
577
+ 512) && S(
578
+ e,
579
+ "transparent",
580
+ /*transparent*/
581
+ f[9]
582
+ ), u & /*disabled, _color*/
583
+ 4224 && ee(e, "color", !/*disabled*/
584
+ f[7] && /*_color*/
585
+ f[12] ? (
586
+ /*_color*/
587
+ f[12]
588
+ ) : "var(--block-label-text-color)"), u & /*disabled, background*/
589
+ 1152 && ee(e, "--bg-color", /*disabled*/
590
+ f[7] ? "auto" : (
591
+ /*background*/
592
+ f[10]
593
+ )), u & /*offset*/
594
+ 2048 && ee(
595
+ e,
596
+ "margin-left",
597
+ /*offset*/
598
+ f[11] + "px"
599
+ );
600
+ },
601
+ i(f) {
602
+ s || (bl(i.$$.fragment, f), s = !0);
603
+ },
604
+ o(f) {
605
+ hl(i.$$.fragment, f), s = !1;
606
+ },
607
+ d(f) {
608
+ f && bt(e), r && r.d(), ol(i), o = !1, a();
609
+ }
610
+ };
611
+ }
612
+ function wl(n, e, t) {
613
+ let l, { Icon: i } = e, { label: s = "" } = e, { show_label: o = !1 } = e, { pending: a = !1 } = e, { size: r = "small" } = e, { padded: f = !0 } = e, { highlight: u = !1 } = e, { disabled: _ = !1 } = e, { hasPopup: k = !1 } = e, { color: m = "var(--block-label-text-color)" } = e, { transparent: p = !1 } = e, { background: C = "var(--background-fill-primary)" } = e, { offset: y = 0 } = e;
614
+ function L(d) {
615
+ sl.call(this, n, d);
616
+ }
617
+ return n.$$set = (d) => {
618
+ "Icon" in d && t(0, i = d.Icon), "label" in d && t(1, s = d.label), "show_label" in d && t(2, o = d.show_label), "pending" in d && t(3, a = d.pending), "size" in d && t(4, r = d.size), "padded" in d && t(5, f = d.padded), "highlight" in d && t(6, u = d.highlight), "disabled" in d && t(7, _ = d.disabled), "hasPopup" in d && t(8, k = d.hasPopup), "color" in d && t(13, m = d.color), "transparent" in d && t(9, p = d.transparent), "background" in d && t(10, C = d.background), "offset" in d && t(11, y = d.offset);
619
+ }, n.$$.update = () => {
620
+ n.$$.dirty & /*highlight, color*/
621
+ 8256 && t(12, l = u ? "var(--color-accent)" : m);
622
+ }, [
623
+ i,
624
+ s,
625
+ o,
626
+ a,
627
+ r,
628
+ f,
629
+ u,
630
+ _,
631
+ k,
632
+ p,
633
+ C,
634
+ y,
635
+ l,
636
+ m,
637
+ L
638
+ ];
639
+ }
640
+ class kl extends il {
641
+ constructor(e) {
642
+ super(), rl(this, e, wl, gl, cl, {
643
+ Icon: 0,
644
+ label: 1,
645
+ show_label: 2,
646
+ pending: 3,
647
+ size: 4,
648
+ padded: 5,
649
+ highlight: 6,
650
+ disabled: 7,
651
+ hasPopup: 8,
652
+ color: 13,
653
+ transparent: 9,
654
+ background: 10,
655
+ offset: 11
656
+ });
657
+ }
658
+ }
659
+ const {
660
+ SvelteComponent: pl,
661
+ append: Ce,
662
+ attr: E,
663
+ detach: yl,
664
+ init: vl,
665
+ insert: ql,
666
+ noop: Fe,
667
+ safe_not_equal: Cl,
668
+ set_style: D,
669
+ svg_element: he
670
+ } = window.__gradio__svelte__internal;
671
+ function Fl(n) {
672
+ let e, t, l, i;
673
+ return {
674
+ c() {
675
+ e = he("svg"), t = he("g"), l = he("path"), i = he("path"), E(l, "d", "M18,6L6.087,17.913"), D(l, "fill", "none"), D(l, "fill-rule", "nonzero"), D(l, "stroke-width", "2px"), E(t, "transform", "matrix(1.14096,-0.140958,-0.140958,1.14096,-0.0559523,0.0559523)"), E(i, "d", "M4.364,4.364L19.636,19.636"), D(i, "fill", "none"), D(i, "fill-rule", "nonzero"), D(i, "stroke-width", "2px"), E(e, "width", "100%"), E(e, "height", "100%"), E(e, "viewBox", "0 0 24 24"), E(e, "version", "1.1"), E(e, "xmlns", "http://www.w3.org/2000/svg"), E(e, "xmlns:xlink", "http://www.w3.org/1999/xlink"), E(e, "xml:space", "preserve"), E(e, "stroke", "currentColor"), D(e, "fill-rule", "evenodd"), D(e, "clip-rule", "evenodd"), D(e, "stroke-linecap", "round"), D(e, "stroke-linejoin", "round");
676
+ },
677
+ m(s, o) {
678
+ ql(s, e, o), Ce(e, t), Ce(t, l), Ce(e, i);
679
+ },
680
+ p: Fe,
681
+ i: Fe,
682
+ o: Fe,
683
+ d(s) {
684
+ s && yl(e);
685
+ }
686
+ };
687
+ }
688
+ class Ll extends pl {
689
+ constructor(e) {
690
+ super(), vl(this, e, null, Fl, Cl, {});
691
+ }
692
+ }
693
+ const Sl = [
694
+ { color: "red", primary: 600, secondary: 100 },
695
+ { color: "green", primary: 600, secondary: 100 },
696
+ { color: "blue", primary: 600, secondary: 100 },
697
+ { color: "yellow", primary: 500, secondary: 100 },
698
+ { color: "purple", primary: 600, secondary: 100 },
699
+ { color: "teal", primary: 600, secondary: 100 },
700
+ { color: "orange", primary: 600, secondary: 100 },
701
+ { color: "cyan", primary: 600, secondary: 100 },
702
+ { color: "lime", primary: 500, secondary: 100 },
703
+ { color: "pink", primary: 600, secondary: 100 }
704
+ ], Be = {
705
+ inherit: "inherit",
706
+ current: "currentColor",
707
+ transparent: "transparent",
708
+ black: "#000",
709
+ white: "#fff",
710
+ slate: {
711
+ 50: "#f8fafc",
712
+ 100: "#f1f5f9",
713
+ 200: "#e2e8f0",
714
+ 300: "#cbd5e1",
715
+ 400: "#94a3b8",
716
+ 500: "#64748b",
717
+ 600: "#475569",
718
+ 700: "#334155",
719
+ 800: "#1e293b",
720
+ 900: "#0f172a",
721
+ 950: "#020617"
722
+ },
723
+ gray: {
724
+ 50: "#f9fafb",
725
+ 100: "#f3f4f6",
726
+ 200: "#e5e7eb",
727
+ 300: "#d1d5db",
728
+ 400: "#9ca3af",
729
+ 500: "#6b7280",
730
+ 600: "#4b5563",
731
+ 700: "#374151",
732
+ 800: "#1f2937",
733
+ 900: "#111827",
734
+ 950: "#030712"
735
+ },
736
+ zinc: {
737
+ 50: "#fafafa",
738
+ 100: "#f4f4f5",
739
+ 200: "#e4e4e7",
740
+ 300: "#d4d4d8",
741
+ 400: "#a1a1aa",
742
+ 500: "#71717a",
743
+ 600: "#52525b",
744
+ 700: "#3f3f46",
745
+ 800: "#27272a",
746
+ 900: "#18181b",
747
+ 950: "#09090b"
748
+ },
749
+ neutral: {
750
+ 50: "#fafafa",
751
+ 100: "#f5f5f5",
752
+ 200: "#e5e5e5",
753
+ 300: "#d4d4d4",
754
+ 400: "#a3a3a3",
755
+ 500: "#737373",
756
+ 600: "#525252",
757
+ 700: "#404040",
758
+ 800: "#262626",
759
+ 900: "#171717",
760
+ 950: "#0a0a0a"
761
+ },
762
+ stone: {
763
+ 50: "#fafaf9",
764
+ 100: "#f5f5f4",
765
+ 200: "#e7e5e4",
766
+ 300: "#d6d3d1",
767
+ 400: "#a8a29e",
768
+ 500: "#78716c",
769
+ 600: "#57534e",
770
+ 700: "#44403c",
771
+ 800: "#292524",
772
+ 900: "#1c1917",
773
+ 950: "#0c0a09"
774
+ },
775
+ red: {
776
+ 50: "#fef2f2",
777
+ 100: "#fee2e2",
778
+ 200: "#fecaca",
779
+ 300: "#fca5a5",
780
+ 400: "#f87171",
781
+ 500: "#ef4444",
782
+ 600: "#dc2626",
783
+ 700: "#b91c1c",
784
+ 800: "#991b1b",
785
+ 900: "#7f1d1d",
786
+ 950: "#450a0a"
787
+ },
788
+ orange: {
789
+ 50: "#fff7ed",
790
+ 100: "#ffedd5",
791
+ 200: "#fed7aa",
792
+ 300: "#fdba74",
793
+ 400: "#fb923c",
794
+ 500: "#f97316",
795
+ 600: "#ea580c",
796
+ 700: "#c2410c",
797
+ 800: "#9a3412",
798
+ 900: "#7c2d12",
799
+ 950: "#431407"
800
+ },
801
+ amber: {
802
+ 50: "#fffbeb",
803
+ 100: "#fef3c7",
804
+ 200: "#fde68a",
805
+ 300: "#fcd34d",
806
+ 400: "#fbbf24",
807
+ 500: "#f59e0b",
808
+ 600: "#d97706",
809
+ 700: "#b45309",
810
+ 800: "#92400e",
811
+ 900: "#78350f",
812
+ 950: "#451a03"
813
+ },
814
+ yellow: {
815
+ 50: "#fefce8",
816
+ 100: "#fef9c3",
817
+ 200: "#fef08a",
818
+ 300: "#fde047",
819
+ 400: "#facc15",
820
+ 500: "#eab308",
821
+ 600: "#ca8a04",
822
+ 700: "#a16207",
823
+ 800: "#854d0e",
824
+ 900: "#713f12",
825
+ 950: "#422006"
826
+ },
827
+ lime: {
828
+ 50: "#f7fee7",
829
+ 100: "#ecfccb",
830
+ 200: "#d9f99d",
831
+ 300: "#bef264",
832
+ 400: "#a3e635",
833
+ 500: "#84cc16",
834
+ 600: "#65a30d",
835
+ 700: "#4d7c0f",
836
+ 800: "#3f6212",
837
+ 900: "#365314",
838
+ 950: "#1a2e05"
839
+ },
840
+ green: {
841
+ 50: "#f0fdf4",
842
+ 100: "#dcfce7",
843
+ 200: "#bbf7d0",
844
+ 300: "#86efac",
845
+ 400: "#4ade80",
846
+ 500: "#22c55e",
847
+ 600: "#16a34a",
848
+ 700: "#15803d",
849
+ 800: "#166534",
850
+ 900: "#14532d",
851
+ 950: "#052e16"
852
+ },
853
+ emerald: {
854
+ 50: "#ecfdf5",
855
+ 100: "#d1fae5",
856
+ 200: "#a7f3d0",
857
+ 300: "#6ee7b7",
858
+ 400: "#34d399",
859
+ 500: "#10b981",
860
+ 600: "#059669",
861
+ 700: "#047857",
862
+ 800: "#065f46",
863
+ 900: "#064e3b",
864
+ 950: "#022c22"
865
+ },
866
+ teal: {
867
+ 50: "#f0fdfa",
868
+ 100: "#ccfbf1",
869
+ 200: "#99f6e4",
870
+ 300: "#5eead4",
871
+ 400: "#2dd4bf",
872
+ 500: "#14b8a6",
873
+ 600: "#0d9488",
874
+ 700: "#0f766e",
875
+ 800: "#115e59",
876
+ 900: "#134e4a",
877
+ 950: "#042f2e"
878
+ },
879
+ cyan: {
880
+ 50: "#ecfeff",
881
+ 100: "#cffafe",
882
+ 200: "#a5f3fc",
883
+ 300: "#67e8f9",
884
+ 400: "#22d3ee",
885
+ 500: "#06b6d4",
886
+ 600: "#0891b2",
887
+ 700: "#0e7490",
888
+ 800: "#155e75",
889
+ 900: "#164e63",
890
+ 950: "#083344"
891
+ },
892
+ sky: {
893
+ 50: "#f0f9ff",
894
+ 100: "#e0f2fe",
895
+ 200: "#bae6fd",
896
+ 300: "#7dd3fc",
897
+ 400: "#38bdf8",
898
+ 500: "#0ea5e9",
899
+ 600: "#0284c7",
900
+ 700: "#0369a1",
901
+ 800: "#075985",
902
+ 900: "#0c4a6e",
903
+ 950: "#082f49"
904
+ },
905
+ blue: {
906
+ 50: "#eff6ff",
907
+ 100: "#dbeafe",
908
+ 200: "#bfdbfe",
909
+ 300: "#93c5fd",
910
+ 400: "#60a5fa",
911
+ 500: "#3b82f6",
912
+ 600: "#2563eb",
913
+ 700: "#1d4ed8",
914
+ 800: "#1e40af",
915
+ 900: "#1e3a8a",
916
+ 950: "#172554"
917
+ },
918
+ indigo: {
919
+ 50: "#eef2ff",
920
+ 100: "#e0e7ff",
921
+ 200: "#c7d2fe",
922
+ 300: "#a5b4fc",
923
+ 400: "#818cf8",
924
+ 500: "#6366f1",
925
+ 600: "#4f46e5",
926
+ 700: "#4338ca",
927
+ 800: "#3730a3",
928
+ 900: "#312e81",
929
+ 950: "#1e1b4b"
930
+ },
931
+ violet: {
932
+ 50: "#f5f3ff",
933
+ 100: "#ede9fe",
934
+ 200: "#ddd6fe",
935
+ 300: "#c4b5fd",
936
+ 400: "#a78bfa",
937
+ 500: "#8b5cf6",
938
+ 600: "#7c3aed",
939
+ 700: "#6d28d9",
940
+ 800: "#5b21b6",
941
+ 900: "#4c1d95",
942
+ 950: "#2e1065"
943
+ },
944
+ purple: {
945
+ 50: "#faf5ff",
946
+ 100: "#f3e8ff",
947
+ 200: "#e9d5ff",
948
+ 300: "#d8b4fe",
949
+ 400: "#c084fc",
950
+ 500: "#a855f7",
951
+ 600: "#9333ea",
952
+ 700: "#7e22ce",
953
+ 800: "#6b21a8",
954
+ 900: "#581c87",
955
+ 950: "#3b0764"
956
+ },
957
+ fuchsia: {
958
+ 50: "#fdf4ff",
959
+ 100: "#fae8ff",
960
+ 200: "#f5d0fe",
961
+ 300: "#f0abfc",
962
+ 400: "#e879f9",
963
+ 500: "#d946ef",
964
+ 600: "#c026d3",
965
+ 700: "#a21caf",
966
+ 800: "#86198f",
967
+ 900: "#701a75",
968
+ 950: "#4a044e"
969
+ },
970
+ pink: {
971
+ 50: "#fdf2f8",
972
+ 100: "#fce7f3",
973
+ 200: "#fbcfe8",
974
+ 300: "#f9a8d4",
975
+ 400: "#f472b6",
976
+ 500: "#ec4899",
977
+ 600: "#db2777",
978
+ 700: "#be185d",
979
+ 800: "#9d174d",
980
+ 900: "#831843",
981
+ 950: "#500724"
982
+ },
983
+ rose: {
984
+ 50: "#fff1f2",
985
+ 100: "#ffe4e6",
986
+ 200: "#fecdd3",
987
+ 300: "#fda4af",
988
+ 400: "#fb7185",
989
+ 500: "#f43f5e",
990
+ 600: "#e11d48",
991
+ 700: "#be123c",
992
+ 800: "#9f1239",
993
+ 900: "#881337",
994
+ 950: "#4c0519"
995
+ }
996
+ };
997
+ Sl.reduce(
998
+ (n, { color: e, primary: t, secondary: l }) => ({
999
+ ...n,
1000
+ [e]: {
1001
+ primary: Be[e][t],
1002
+ secondary: Be[e][l]
1003
+ }
1004
+ }),
1005
+ {}
1006
+ );
1007
+ function ne(n) {
1008
+ let e = ["", "k", "M", "G", "T", "P", "E", "Z"], t = 0;
1009
+ for (; n > 1e3 && t < e.length - 1; )
1010
+ n /= 1e3, t++;
1011
+ let l = e[t];
1012
+ return (Number.isInteger(n) ? n : n.toFixed(1)) + l;
1013
+ }
1014
+ function ke() {
1015
+ }
1016
+ function Ml(n, e) {
1017
+ return n != n ? e == e : n !== e || n && typeof n == "object" || typeof n == "function";
1018
+ }
1019
+ const gt = typeof window < "u";
1020
+ let De = gt ? () => window.performance.now() : () => Date.now(), wt = gt ? (n) => requestAnimationFrame(n) : ke;
1021
+ const ie = /* @__PURE__ */ new Set();
1022
+ function kt(n) {
1023
+ ie.forEach((e) => {
1024
+ e.c(n) || (ie.delete(e), e.f());
1025
+ }), ie.size !== 0 && wt(kt);
1026
+ }
1027
+ function Vl(n) {
1028
+ let e;
1029
+ return ie.size === 0 && wt(kt), {
1030
+ promise: new Promise((t) => {
1031
+ ie.add(e = { c: n, f: t });
1032
+ }),
1033
+ abort() {
1034
+ ie.delete(e);
1035
+ }
1036
+ };
1037
+ }
1038
+ const te = [];
1039
+ function zl(n, e = ke) {
1040
+ let t;
1041
+ const l = /* @__PURE__ */ new Set();
1042
+ function i(a) {
1043
+ if (Ml(n, a) && (n = a, t)) {
1044
+ const r = !te.length;
1045
+ for (const f of l)
1046
+ f[1](), te.push(f, n);
1047
+ if (r) {
1048
+ for (let f = 0; f < te.length; f += 2)
1049
+ te[f][0](te[f + 1]);
1050
+ te.length = 0;
1051
+ }
1052
+ }
1053
+ }
1054
+ function s(a) {
1055
+ i(a(n));
1056
+ }
1057
+ function o(a, r = ke) {
1058
+ const f = [a, r];
1059
+ return l.add(f), l.size === 1 && (t = e(i, s) || ke), a(n), () => {
1060
+ l.delete(f), l.size === 0 && t && (t(), t = null);
1061
+ };
1062
+ }
1063
+ return { set: i, update: s, subscribe: o };
1064
+ }
1065
+ function He(n) {
1066
+ return Object.prototype.toString.call(n) === "[object Date]";
1067
+ }
1068
+ function Ve(n, e, t, l) {
1069
+ if (typeof t == "number" || He(t)) {
1070
+ const i = l - t, s = (t - e) / (n.dt || 1 / 60), o = n.opts.stiffness * i, a = n.opts.damping * s, r = (o - a) * n.inv_mass, f = (s + r) * n.dt;
1071
+ return Math.abs(f) < n.opts.precision && Math.abs(i) < n.opts.precision ? l : (n.settled = !1, He(t) ? new Date(t.getTime() + f) : t + f);
1072
+ } else {
1073
+ if (Array.isArray(t))
1074
+ return t.map(
1075
+ (i, s) => Ve(n, e[s], t[s], l[s])
1076
+ );
1077
+ if (typeof t == "object") {
1078
+ const i = {};
1079
+ for (const s in t)
1080
+ i[s] = Ve(n, e[s], t[s], l[s]);
1081
+ return i;
1082
+ } else
1083
+ throw new Error(`Cannot spring ${typeof t} values`);
1084
+ }
1085
+ }
1086
+ function Te(n, e = {}) {
1087
+ const t = zl(n), { stiffness: l = 0.15, damping: i = 0.8, precision: s = 0.01 } = e;
1088
+ let o, a, r, f = n, u = n, _ = 1, k = 0, m = !1;
1089
+ function p(y, L = {}) {
1090
+ u = y;
1091
+ const d = r = {};
1092
+ return n == null || L.hard || C.stiffness >= 1 && C.damping >= 1 ? (m = !0, o = De(), f = y, t.set(n = u), Promise.resolve()) : (L.soft && (k = 1 / ((L.soft === !0 ? 0.5 : +L.soft) * 60), _ = 0), a || (o = De(), m = !1, a = Vl((c) => {
1093
+ if (m)
1094
+ return m = !1, a = null, !1;
1095
+ _ = Math.min(_ + k, 1);
1096
+ const q = {
1097
+ inv_mass: _,
1098
+ opts: C,
1099
+ settled: !0,
1100
+ dt: (c - o) * 60 / 1e3
1101
+ }, z = Ve(q, f, n, u);
1102
+ return o = c, f = n, t.set(n = z), q.settled && (a = null), !q.settled;
1103
+ })), new Promise((c) => {
1104
+ a.promise.then(() => {
1105
+ d === r && c();
1106
+ });
1107
+ }));
1108
+ }
1109
+ const C = {
1110
+ set: p,
1111
+ update: (y, L) => p(y(u, n), L),
1112
+ subscribe: t.subscribe,
1113
+ stiffness: l,
1114
+ damping: i,
1115
+ precision: s
1116
+ };
1117
+ return C;
1118
+ }
1119
+ const {
1120
+ SvelteComponent: Nl,
1121
+ append: j,
1122
+ attr: v,
1123
+ component_subscribe: Re,
1124
+ detach: Al,
1125
+ element: El,
1126
+ init: jl,
1127
+ insert: Il,
1128
+ noop: Xe,
1129
+ safe_not_equal: Zl,
1130
+ set_style: ge,
1131
+ svg_element: I,
1132
+ toggle_class: Ye
1133
+ } = window.__gradio__svelte__internal, { onMount: Pl } = window.__gradio__svelte__internal;
1134
+ function Wl(n) {
1135
+ let e, t, l, i, s, o, a, r, f, u, _, k;
1136
+ return {
1137
+ c() {
1138
+ e = El("div"), t = I("svg"), l = I("g"), i = I("path"), s = I("path"), o = I("path"), a = I("path"), r = I("g"), f = I("path"), u = I("path"), _ = I("path"), k = I("path"), v(i, "d", "M255.926 0.754768L509.702 139.936V221.027L255.926 81.8465V0.754768Z"), v(i, "fill", "#FF7C00"), v(i, "fill-opacity", "0.4"), v(i, "class", "svelte-43sxxs"), v(s, "d", "M509.69 139.936L254.981 279.641V361.255L509.69 221.55V139.936Z"), v(s, "fill", "#FF7C00"), v(s, "class", "svelte-43sxxs"), v(o, "d", "M0.250138 139.937L254.981 279.641V361.255L0.250138 221.55V139.937Z"), v(o, "fill", "#FF7C00"), v(o, "fill-opacity", "0.4"), v(o, "class", "svelte-43sxxs"), v(a, "d", "M255.923 0.232622L0.236328 139.936V221.55L255.923 81.8469V0.232622Z"), v(a, "fill", "#FF7C00"), v(a, "class", "svelte-43sxxs"), ge(l, "transform", "translate(" + /*$top*/
1139
+ n[1][0] + "px, " + /*$top*/
1140
+ n[1][1] + "px)"), v(f, "d", "M255.926 141.5L509.702 280.681V361.773L255.926 222.592V141.5Z"), v(f, "fill", "#FF7C00"), v(f, "fill-opacity", "0.4"), v(f, "class", "svelte-43sxxs"), v(u, "d", "M509.69 280.679L254.981 420.384V501.998L509.69 362.293V280.679Z"), v(u, "fill", "#FF7C00"), v(u, "class", "svelte-43sxxs"), v(_, "d", "M0.250138 280.681L254.981 420.386V502L0.250138 362.295V280.681Z"), v(_, "fill", "#FF7C00"), v(_, "fill-opacity", "0.4"), v(_, "class", "svelte-43sxxs"), v(k, "d", "M255.923 140.977L0.236328 280.68V362.294L255.923 222.591V140.977Z"), v(k, "fill", "#FF7C00"), v(k, "class", "svelte-43sxxs"), ge(r, "transform", "translate(" + /*$bottom*/
1141
+ n[2][0] + "px, " + /*$bottom*/
1142
+ n[2][1] + "px)"), v(t, "viewBox", "-1200 -1200 3000 3000"), v(t, "fill", "none"), v(t, "xmlns", "http://www.w3.org/2000/svg"), v(t, "class", "svelte-43sxxs"), v(e, "class", "svelte-43sxxs"), Ye(
1143
+ e,
1144
+ "margin",
1145
+ /*margin*/
1146
+ n[0]
1147
+ );
1148
+ },
1149
+ m(m, p) {
1150
+ Il(m, e, p), j(e, t), j(t, l), j(l, i), j(l, s), j(l, o), j(l, a), j(t, r), j(r, f), j(r, u), j(r, _), j(r, k);
1151
+ },
1152
+ p(m, [p]) {
1153
+ p & /*$top*/
1154
+ 2 && ge(l, "transform", "translate(" + /*$top*/
1155
+ m[1][0] + "px, " + /*$top*/
1156
+ m[1][1] + "px)"), p & /*$bottom*/
1157
+ 4 && ge(r, "transform", "translate(" + /*$bottom*/
1158
+ m[2][0] + "px, " + /*$bottom*/
1159
+ m[2][1] + "px)"), p & /*margin*/
1160
+ 1 && Ye(
1161
+ e,
1162
+ "margin",
1163
+ /*margin*/
1164
+ m[0]
1165
+ );
1166
+ },
1167
+ i: Xe,
1168
+ o: Xe,
1169
+ d(m) {
1170
+ m && Al(e);
1171
+ }
1172
+ };
1173
+ }
1174
+ function Bl(n, e, t) {
1175
+ let l, i;
1176
+ var s = this && this.__awaiter || function(m, p, C, y) {
1177
+ function L(d) {
1178
+ return d instanceof C ? d : new C(function(c) {
1179
+ c(d);
1180
+ });
1181
+ }
1182
+ return new (C || (C = Promise))(function(d, c) {
1183
+ function q(M) {
1184
+ try {
1185
+ h(y.next(M));
1186
+ } catch (T) {
1187
+ c(T);
1188
+ }
1189
+ }
1190
+ function z(M) {
1191
+ try {
1192
+ h(y.throw(M));
1193
+ } catch (T) {
1194
+ c(T);
1195
+ }
1196
+ }
1197
+ function h(M) {
1198
+ M.done ? d(M.value) : L(M.value).then(q, z);
1199
+ }
1200
+ h((y = y.apply(m, p || [])).next());
1201
+ });
1202
+ };
1203
+ let { margin: o = !0 } = e;
1204
+ const a = Te([0, 0]);
1205
+ Re(n, a, (m) => t(1, l = m));
1206
+ const r = Te([0, 0]);
1207
+ Re(n, r, (m) => t(2, i = m));
1208
+ let f;
1209
+ function u() {
1210
+ return s(this, void 0, void 0, function* () {
1211
+ yield Promise.all([a.set([125, 140]), r.set([-125, -140])]), yield Promise.all([a.set([-125, 140]), r.set([125, -140])]), yield Promise.all([a.set([-125, 0]), r.set([125, -0])]), yield Promise.all([a.set([125, 0]), r.set([-125, 0])]);
1212
+ });
1213
+ }
1214
+ function _() {
1215
+ return s(this, void 0, void 0, function* () {
1216
+ yield u(), f || _();
1217
+ });
1218
+ }
1219
+ function k() {
1220
+ return s(this, void 0, void 0, function* () {
1221
+ yield Promise.all([a.set([125, 0]), r.set([-125, 0])]), _();
1222
+ });
1223
+ }
1224
+ return Pl(() => (k(), () => f = !0)), n.$$set = (m) => {
1225
+ "margin" in m && t(0, o = m.margin);
1226
+ }, [o, l, i, a, r];
1227
+ }
1228
+ class Dl extends Nl {
1229
+ constructor(e) {
1230
+ super(), jl(this, e, Bl, Wl, Zl, { margin: 0 });
1231
+ }
1232
+ }
1233
+ const {
1234
+ SvelteComponent: Hl,
1235
+ append: J,
1236
+ attr: P,
1237
+ binding_callbacks: Ge,
1238
+ check_outros: pt,
1239
+ create_component: yt,
1240
+ create_slot: Tl,
1241
+ destroy_component: vt,
1242
+ destroy_each: qt,
1243
+ detach: g,
1244
+ element: H,
1245
+ empty: se,
1246
+ ensure_array_like: pe,
1247
+ get_all_dirty_from_scope: Rl,
1248
+ get_slot_changes: Xl,
1249
+ group_outros: Ct,
1250
+ init: Yl,
1251
+ insert: w,
1252
+ mount_component: Ft,
1253
+ noop: ze,
1254
+ safe_not_equal: Gl,
1255
+ set_data: A,
1256
+ set_style: Y,
1257
+ space: W,
1258
+ text: F,
1259
+ toggle_class: N,
1260
+ transition_in: K,
1261
+ transition_out: Q,
1262
+ update_slot_base: Ol
1263
+ } = window.__gradio__svelte__internal, { tick: Ul } = window.__gradio__svelte__internal, { onDestroy: Jl } = window.__gradio__svelte__internal, { createEventDispatcher: Kl } = window.__gradio__svelte__internal, Ql = (n) => ({}), Oe = (n) => ({});
1264
+ function Ue(n, e, t) {
1265
+ const l = n.slice();
1266
+ return l[41] = e[t], l[43] = t, l;
1267
+ }
1268
+ function Je(n, e, t) {
1269
+ const l = n.slice();
1270
+ return l[41] = e[t], l;
1271
+ }
1272
+ function xl(n) {
1273
+ let e, t, l, i, s = (
1274
+ /*i18n*/
1275
+ n[1]("common.error") + ""
1276
+ ), o, a, r;
1277
+ t = new kl({
1278
+ props: {
1279
+ Icon: Ll,
1280
+ label: (
1281
+ /*i18n*/
1282
+ n[1]("common.clear")
1283
+ ),
1284
+ disabled: !1
1285
+ }
1286
+ }), t.$on(
1287
+ "click",
1288
+ /*click_handler*/
1289
+ n[32]
1290
+ );
1291
+ const f = (
1292
+ /*#slots*/
1293
+ n[30].error
1294
+ ), u = Tl(
1295
+ f,
1296
+ n,
1297
+ /*$$scope*/
1298
+ n[29],
1299
+ Oe
1300
+ );
1301
+ return {
1302
+ c() {
1303
+ e = H("div"), yt(t.$$.fragment), l = W(), i = H("span"), o = F(s), a = W(), u && u.c(), P(e, "class", "clear-status svelte-1yk38uw"), P(i, "class", "error svelte-1yk38uw");
1304
+ },
1305
+ m(_, k) {
1306
+ w(_, e, k), Ft(t, e, null), w(_, l, k), w(_, i, k), J(i, o), w(_, a, k), u && u.m(_, k), r = !0;
1307
+ },
1308
+ p(_, k) {
1309
+ const m = {};
1310
+ k[0] & /*i18n*/
1311
+ 2 && (m.label = /*i18n*/
1312
+ _[1]("common.clear")), t.$set(m), (!r || k[0] & /*i18n*/
1313
+ 2) && s !== (s = /*i18n*/
1314
+ _[1]("common.error") + "") && A(o, s), u && u.p && (!r || k[0] & /*$$scope*/
1315
+ 536870912) && Ol(
1316
+ u,
1317
+ f,
1318
+ _,
1319
+ /*$$scope*/
1320
+ _[29],
1321
+ r ? Xl(
1322
+ f,
1323
+ /*$$scope*/
1324
+ _[29],
1325
+ k,
1326
+ Ql
1327
+ ) : Rl(
1328
+ /*$$scope*/
1329
+ _[29]
1330
+ ),
1331
+ Oe
1332
+ );
1333
+ },
1334
+ i(_) {
1335
+ r || (K(t.$$.fragment, _), K(u, _), r = !0);
1336
+ },
1337
+ o(_) {
1338
+ Q(t.$$.fragment, _), Q(u, _), r = !1;
1339
+ },
1340
+ d(_) {
1341
+ _ && (g(e), g(l), g(i), g(a)), vt(t), u && u.d(_);
1342
+ }
1343
+ };
1344
+ }
1345
+ function $l(n) {
1346
+ let e, t, l, i, s, o, a, r, f, u = (
1347
+ /*variant*/
1348
+ n[8] === "default" && /*show_eta_bar*/
1349
+ n[18] && /*show_progress*/
1350
+ n[6] === "full" && Ke(n)
1351
+ );
1352
+ function _(c, q) {
1353
+ if (
1354
+ /*progress*/
1355
+ c[7]
1356
+ )
1357
+ return ln;
1358
+ if (
1359
+ /*queue_position*/
1360
+ c[2] !== null && /*queue_size*/
1361
+ c[3] !== void 0 && /*queue_position*/
1362
+ c[2] >= 0
1363
+ )
1364
+ return tn;
1365
+ if (
1366
+ /*queue_position*/
1367
+ c[2] === 0
1368
+ )
1369
+ return en;
1370
+ }
1371
+ let k = _(n), m = k && k(n), p = (
1372
+ /*timer*/
1373
+ n[5] && $e(n)
1374
+ );
1375
+ const C = [on, fn], y = [];
1376
+ function L(c, q) {
1377
+ return (
1378
+ /*last_progress_level*/
1379
+ c[15] != null ? 0 : (
1380
+ /*show_progress*/
1381
+ c[6] === "full" ? 1 : -1
1382
+ )
1383
+ );
1384
+ }
1385
+ ~(s = L(n)) && (o = y[s] = C[s](n));
1386
+ let d = !/*timer*/
1387
+ n[5] && ft(n);
1388
+ return {
1389
+ c() {
1390
+ u && u.c(), e = W(), t = H("div"), m && m.c(), l = W(), p && p.c(), i = W(), o && o.c(), a = W(), d && d.c(), r = se(), P(t, "class", "progress-text svelte-1yk38uw"), N(
1391
+ t,
1392
+ "meta-text-center",
1393
+ /*variant*/
1394
+ n[8] === "center"
1395
+ ), N(
1396
+ t,
1397
+ "meta-text",
1398
+ /*variant*/
1399
+ n[8] === "default"
1400
+ );
1401
+ },
1402
+ m(c, q) {
1403
+ u && u.m(c, q), w(c, e, q), w(c, t, q), m && m.m(t, null), J(t, l), p && p.m(t, null), w(c, i, q), ~s && y[s].m(c, q), w(c, a, q), d && d.m(c, q), w(c, r, q), f = !0;
1404
+ },
1405
+ p(c, q) {
1406
+ /*variant*/
1407
+ c[8] === "default" && /*show_eta_bar*/
1408
+ c[18] && /*show_progress*/
1409
+ c[6] === "full" ? u ? u.p(c, q) : (u = Ke(c), u.c(), u.m(e.parentNode, e)) : u && (u.d(1), u = null), k === (k = _(c)) && m ? m.p(c, q) : (m && m.d(1), m = k && k(c), m && (m.c(), m.m(t, l))), /*timer*/
1410
+ c[5] ? p ? p.p(c, q) : (p = $e(c), p.c(), p.m(t, null)) : p && (p.d(1), p = null), (!f || q[0] & /*variant*/
1411
+ 256) && N(
1412
+ t,
1413
+ "meta-text-center",
1414
+ /*variant*/
1415
+ c[8] === "center"
1416
+ ), (!f || q[0] & /*variant*/
1417
+ 256) && N(
1418
+ t,
1419
+ "meta-text",
1420
+ /*variant*/
1421
+ c[8] === "default"
1422
+ );
1423
+ let z = s;
1424
+ s = L(c), s === z ? ~s && y[s].p(c, q) : (o && (Ct(), Q(y[z], 1, 1, () => {
1425
+ y[z] = null;
1426
+ }), pt()), ~s ? (o = y[s], o ? o.p(c, q) : (o = y[s] = C[s](c), o.c()), K(o, 1), o.m(a.parentNode, a)) : o = null), /*timer*/
1427
+ c[5] ? d && (d.d(1), d = null) : d ? d.p(c, q) : (d = ft(c), d.c(), d.m(r.parentNode, r));
1428
+ },
1429
+ i(c) {
1430
+ f || (K(o), f = !0);
1431
+ },
1432
+ o(c) {
1433
+ Q(o), f = !1;
1434
+ },
1435
+ d(c) {
1436
+ c && (g(e), g(t), g(i), g(a), g(r)), u && u.d(c), m && m.d(), p && p.d(), ~s && y[s].d(c), d && d.d(c);
1437
+ }
1438
+ };
1439
+ }
1440
+ function Ke(n) {
1441
+ let e, t = `translateX(${/*eta_level*/
1442
+ (n[17] || 0) * 100 - 100}%)`;
1443
+ return {
1444
+ c() {
1445
+ e = H("div"), P(e, "class", "eta-bar svelte-1yk38uw"), Y(e, "transform", t);
1446
+ },
1447
+ m(l, i) {
1448
+ w(l, e, i);
1449
+ },
1450
+ p(l, i) {
1451
+ i[0] & /*eta_level*/
1452
+ 131072 && t !== (t = `translateX(${/*eta_level*/
1453
+ (l[17] || 0) * 100 - 100}%)`) && Y(e, "transform", t);
1454
+ },
1455
+ d(l) {
1456
+ l && g(e);
1457
+ }
1458
+ };
1459
+ }
1460
+ function en(n) {
1461
+ let e;
1462
+ return {
1463
+ c() {
1464
+ e = F("processing |");
1465
+ },
1466
+ m(t, l) {
1467
+ w(t, e, l);
1468
+ },
1469
+ p: ze,
1470
+ d(t) {
1471
+ t && g(e);
1472
+ }
1473
+ };
1474
+ }
1475
+ function tn(n) {
1476
+ let e, t = (
1477
+ /*queue_position*/
1478
+ n[2] + 1 + ""
1479
+ ), l, i, s, o;
1480
+ return {
1481
+ c() {
1482
+ e = F("queue: "), l = F(t), i = F("/"), s = F(
1483
+ /*queue_size*/
1484
+ n[3]
1485
+ ), o = F(" |");
1486
+ },
1487
+ m(a, r) {
1488
+ w(a, e, r), w(a, l, r), w(a, i, r), w(a, s, r), w(a, o, r);
1489
+ },
1490
+ p(a, r) {
1491
+ r[0] & /*queue_position*/
1492
+ 4 && t !== (t = /*queue_position*/
1493
+ a[2] + 1 + "") && A(l, t), r[0] & /*queue_size*/
1494
+ 8 && A(
1495
+ s,
1496
+ /*queue_size*/
1497
+ a[3]
1498
+ );
1499
+ },
1500
+ d(a) {
1501
+ a && (g(e), g(l), g(i), g(s), g(o));
1502
+ }
1503
+ };
1504
+ }
1505
+ function ln(n) {
1506
+ let e, t = pe(
1507
+ /*progress*/
1508
+ n[7]
1509
+ ), l = [];
1510
+ for (let i = 0; i < t.length; i += 1)
1511
+ l[i] = xe(Je(n, t, i));
1512
+ return {
1513
+ c() {
1514
+ for (let i = 0; i < l.length; i += 1)
1515
+ l[i].c();
1516
+ e = se();
1517
+ },
1518
+ m(i, s) {
1519
+ for (let o = 0; o < l.length; o += 1)
1520
+ l[o] && l[o].m(i, s);
1521
+ w(i, e, s);
1522
+ },
1523
+ p(i, s) {
1524
+ if (s[0] & /*progress*/
1525
+ 128) {
1526
+ t = pe(
1527
+ /*progress*/
1528
+ i[7]
1529
+ );
1530
+ let o;
1531
+ for (o = 0; o < t.length; o += 1) {
1532
+ const a = Je(i, t, o);
1533
+ l[o] ? l[o].p(a, s) : (l[o] = xe(a), l[o].c(), l[o].m(e.parentNode, e));
1534
+ }
1535
+ for (; o < l.length; o += 1)
1536
+ l[o].d(1);
1537
+ l.length = t.length;
1538
+ }
1539
+ },
1540
+ d(i) {
1541
+ i && g(e), qt(l, i);
1542
+ }
1543
+ };
1544
+ }
1545
+ function Qe(n) {
1546
+ let e, t = (
1547
+ /*p*/
1548
+ n[41].unit + ""
1549
+ ), l, i, s = " ", o;
1550
+ function a(u, _) {
1551
+ return (
1552
+ /*p*/
1553
+ u[41].length != null ? sn : nn
1554
+ );
1555
+ }
1556
+ let r = a(n), f = r(n);
1557
+ return {
1558
+ c() {
1559
+ f.c(), e = W(), l = F(t), i = F(" | "), o = F(s);
1560
+ },
1561
+ m(u, _) {
1562
+ f.m(u, _), w(u, e, _), w(u, l, _), w(u, i, _), w(u, o, _);
1563
+ },
1564
+ p(u, _) {
1565
+ r === (r = a(u)) && f ? f.p(u, _) : (f.d(1), f = r(u), f && (f.c(), f.m(e.parentNode, e))), _[0] & /*progress*/
1566
+ 128 && t !== (t = /*p*/
1567
+ u[41].unit + "") && A(l, t);
1568
+ },
1569
+ d(u) {
1570
+ u && (g(e), g(l), g(i), g(o)), f.d(u);
1571
+ }
1572
+ };
1573
+ }
1574
+ function nn(n) {
1575
+ let e = ne(
1576
+ /*p*/
1577
+ n[41].index || 0
1578
+ ) + "", t;
1579
+ return {
1580
+ c() {
1581
+ t = F(e);
1582
+ },
1583
+ m(l, i) {
1584
+ w(l, t, i);
1585
+ },
1586
+ p(l, i) {
1587
+ i[0] & /*progress*/
1588
+ 128 && e !== (e = ne(
1589
+ /*p*/
1590
+ l[41].index || 0
1591
+ ) + "") && A(t, e);
1592
+ },
1593
+ d(l) {
1594
+ l && g(t);
1595
+ }
1596
+ };
1597
+ }
1598
+ function sn(n) {
1599
+ let e = ne(
1600
+ /*p*/
1601
+ n[41].index || 0
1602
+ ) + "", t, l, i = ne(
1603
+ /*p*/
1604
+ n[41].length
1605
+ ) + "", s;
1606
+ return {
1607
+ c() {
1608
+ t = F(e), l = F("/"), s = F(i);
1609
+ },
1610
+ m(o, a) {
1611
+ w(o, t, a), w(o, l, a), w(o, s, a);
1612
+ },
1613
+ p(o, a) {
1614
+ a[0] & /*progress*/
1615
+ 128 && e !== (e = ne(
1616
+ /*p*/
1617
+ o[41].index || 0
1618
+ ) + "") && A(t, e), a[0] & /*progress*/
1619
+ 128 && i !== (i = ne(
1620
+ /*p*/
1621
+ o[41].length
1622
+ ) + "") && A(s, i);
1623
+ },
1624
+ d(o) {
1625
+ o && (g(t), g(l), g(s));
1626
+ }
1627
+ };
1628
+ }
1629
+ function xe(n) {
1630
+ let e, t = (
1631
+ /*p*/
1632
+ n[41].index != null && Qe(n)
1633
+ );
1634
+ return {
1635
+ c() {
1636
+ t && t.c(), e = se();
1637
+ },
1638
+ m(l, i) {
1639
+ t && t.m(l, i), w(l, e, i);
1640
+ },
1641
+ p(l, i) {
1642
+ /*p*/
1643
+ l[41].index != null ? t ? t.p(l, i) : (t = Qe(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
1644
+ },
1645
+ d(l) {
1646
+ l && g(e), t && t.d(l);
1647
+ }
1648
+ };
1649
+ }
1650
+ function $e(n) {
1651
+ let e, t = (
1652
+ /*eta*/
1653
+ n[0] ? `/${/*formatted_eta*/
1654
+ n[19]}` : ""
1655
+ ), l, i;
1656
+ return {
1657
+ c() {
1658
+ e = F(
1659
+ /*formatted_timer*/
1660
+ n[20]
1661
+ ), l = F(t), i = F("s");
1662
+ },
1663
+ m(s, o) {
1664
+ w(s, e, o), w(s, l, o), w(s, i, o);
1665
+ },
1666
+ p(s, o) {
1667
+ o[0] & /*formatted_timer*/
1668
+ 1048576 && A(
1669
+ e,
1670
+ /*formatted_timer*/
1671
+ s[20]
1672
+ ), o[0] & /*eta, formatted_eta*/
1673
+ 524289 && t !== (t = /*eta*/
1674
+ s[0] ? `/${/*formatted_eta*/
1675
+ s[19]}` : "") && A(l, t);
1676
+ },
1677
+ d(s) {
1678
+ s && (g(e), g(l), g(i));
1679
+ }
1680
+ };
1681
+ }
1682
+ function fn(n) {
1683
+ let e, t;
1684
+ return e = new Dl({
1685
+ props: { margin: (
1686
+ /*variant*/
1687
+ n[8] === "default"
1688
+ ) }
1689
+ }), {
1690
+ c() {
1691
+ yt(e.$$.fragment);
1692
+ },
1693
+ m(l, i) {
1694
+ Ft(e, l, i), t = !0;
1695
+ },
1696
+ p(l, i) {
1697
+ const s = {};
1698
+ i[0] & /*variant*/
1699
+ 256 && (s.margin = /*variant*/
1700
+ l[8] === "default"), e.$set(s);
1701
+ },
1702
+ i(l) {
1703
+ t || (K(e.$$.fragment, l), t = !0);
1704
+ },
1705
+ o(l) {
1706
+ Q(e.$$.fragment, l), t = !1;
1707
+ },
1708
+ d(l) {
1709
+ vt(e, l);
1710
+ }
1711
+ };
1712
+ }
1713
+ function on(n) {
1714
+ let e, t, l, i, s, o = `${/*last_progress_level*/
1715
+ n[15] * 100}%`, a = (
1716
+ /*progress*/
1717
+ n[7] != null && et(n)
1718
+ );
1719
+ return {
1720
+ c() {
1721
+ e = H("div"), t = H("div"), a && a.c(), l = W(), i = H("div"), s = H("div"), P(t, "class", "progress-level-inner svelte-1yk38uw"), P(s, "class", "progress-bar svelte-1yk38uw"), Y(s, "width", o), P(i, "class", "progress-bar-wrap svelte-1yk38uw"), P(e, "class", "progress-level svelte-1yk38uw");
1722
+ },
1723
+ m(r, f) {
1724
+ w(r, e, f), J(e, t), a && a.m(t, null), J(e, l), J(e, i), J(i, s), n[31](s);
1725
+ },
1726
+ p(r, f) {
1727
+ /*progress*/
1728
+ r[7] != null ? a ? a.p(r, f) : (a = et(r), a.c(), a.m(t, null)) : a && (a.d(1), a = null), f[0] & /*last_progress_level*/
1729
+ 32768 && o !== (o = `${/*last_progress_level*/
1730
+ r[15] * 100}%`) && Y(s, "width", o);
1731
+ },
1732
+ i: ze,
1733
+ o: ze,
1734
+ d(r) {
1735
+ r && g(e), a && a.d(), n[31](null);
1736
+ }
1737
+ };
1738
+ }
1739
+ function et(n) {
1740
+ let e, t = pe(
1741
+ /*progress*/
1742
+ n[7]
1743
+ ), l = [];
1744
+ for (let i = 0; i < t.length; i += 1)
1745
+ l[i] = st(Ue(n, t, i));
1746
+ return {
1747
+ c() {
1748
+ for (let i = 0; i < l.length; i += 1)
1749
+ l[i].c();
1750
+ e = se();
1751
+ },
1752
+ m(i, s) {
1753
+ for (let o = 0; o < l.length; o += 1)
1754
+ l[o] && l[o].m(i, s);
1755
+ w(i, e, s);
1756
+ },
1757
+ p(i, s) {
1758
+ if (s[0] & /*progress_level, progress*/
1759
+ 16512) {
1760
+ t = pe(
1761
+ /*progress*/
1762
+ i[7]
1763
+ );
1764
+ let o;
1765
+ for (o = 0; o < t.length; o += 1) {
1766
+ const a = Ue(i, t, o);
1767
+ l[o] ? l[o].p(a, s) : (l[o] = st(a), l[o].c(), l[o].m(e.parentNode, e));
1768
+ }
1769
+ for (; o < l.length; o += 1)
1770
+ l[o].d(1);
1771
+ l.length = t.length;
1772
+ }
1773
+ },
1774
+ d(i) {
1775
+ i && g(e), qt(l, i);
1776
+ }
1777
+ };
1778
+ }
1779
+ function tt(n) {
1780
+ let e, t, l, i, s = (
1781
+ /*i*/
1782
+ n[43] !== 0 && rn()
1783
+ ), o = (
1784
+ /*p*/
1785
+ n[41].desc != null && lt(n)
1786
+ ), a = (
1787
+ /*p*/
1788
+ n[41].desc != null && /*progress_level*/
1789
+ n[14] && /*progress_level*/
1790
+ n[14][
1791
+ /*i*/
1792
+ n[43]
1793
+ ] != null && nt()
1794
+ ), r = (
1795
+ /*progress_level*/
1796
+ n[14] != null && it(n)
1797
+ );
1798
+ return {
1799
+ c() {
1800
+ s && s.c(), e = W(), o && o.c(), t = W(), a && a.c(), l = W(), r && r.c(), i = se();
1801
+ },
1802
+ m(f, u) {
1803
+ s && s.m(f, u), w(f, e, u), o && o.m(f, u), w(f, t, u), a && a.m(f, u), w(f, l, u), r && r.m(f, u), w(f, i, u);
1804
+ },
1805
+ p(f, u) {
1806
+ /*p*/
1807
+ f[41].desc != null ? o ? o.p(f, u) : (o = lt(f), o.c(), o.m(t.parentNode, t)) : o && (o.d(1), o = null), /*p*/
1808
+ f[41].desc != null && /*progress_level*/
1809
+ f[14] && /*progress_level*/
1810
+ f[14][
1811
+ /*i*/
1812
+ f[43]
1813
+ ] != null ? a || (a = nt(), a.c(), a.m(l.parentNode, l)) : a && (a.d(1), a = null), /*progress_level*/
1814
+ f[14] != null ? r ? r.p(f, u) : (r = it(f), r.c(), r.m(i.parentNode, i)) : r && (r.d(1), r = null);
1815
+ },
1816
+ d(f) {
1817
+ f && (g(e), g(t), g(l), g(i)), s && s.d(f), o && o.d(f), a && a.d(f), r && r.d(f);
1818
+ }
1819
+ };
1820
+ }
1821
+ function rn(n) {
1822
+ let e;
1823
+ return {
1824
+ c() {
1825
+ e = F(" /");
1826
+ },
1827
+ m(t, l) {
1828
+ w(t, e, l);
1829
+ },
1830
+ d(t) {
1831
+ t && g(e);
1832
+ }
1833
+ };
1834
+ }
1835
+ function lt(n) {
1836
+ let e = (
1837
+ /*p*/
1838
+ n[41].desc + ""
1839
+ ), t;
1840
+ return {
1841
+ c() {
1842
+ t = F(e);
1843
+ },
1844
+ m(l, i) {
1845
+ w(l, t, i);
1846
+ },
1847
+ p(l, i) {
1848
+ i[0] & /*progress*/
1849
+ 128 && e !== (e = /*p*/
1850
+ l[41].desc + "") && A(t, e);
1851
+ },
1852
+ d(l) {
1853
+ l && g(t);
1854
+ }
1855
+ };
1856
+ }
1857
+ function nt(n) {
1858
+ let e;
1859
+ return {
1860
+ c() {
1861
+ e = F("-");
1862
+ },
1863
+ m(t, l) {
1864
+ w(t, e, l);
1865
+ },
1866
+ d(t) {
1867
+ t && g(e);
1868
+ }
1869
+ };
1870
+ }
1871
+ function it(n) {
1872
+ let e = (100 * /*progress_level*/
1873
+ (n[14][
1874
+ /*i*/
1875
+ n[43]
1876
+ ] || 0)).toFixed(1) + "", t, l;
1877
+ return {
1878
+ c() {
1879
+ t = F(e), l = F("%");
1880
+ },
1881
+ m(i, s) {
1882
+ w(i, t, s), w(i, l, s);
1883
+ },
1884
+ p(i, s) {
1885
+ s[0] & /*progress_level*/
1886
+ 16384 && e !== (e = (100 * /*progress_level*/
1887
+ (i[14][
1888
+ /*i*/
1889
+ i[43]
1890
+ ] || 0)).toFixed(1) + "") && A(t, e);
1891
+ },
1892
+ d(i) {
1893
+ i && (g(t), g(l));
1894
+ }
1895
+ };
1896
+ }
1897
+ function st(n) {
1898
+ let e, t = (
1899
+ /*p*/
1900
+ (n[41].desc != null || /*progress_level*/
1901
+ n[14] && /*progress_level*/
1902
+ n[14][
1903
+ /*i*/
1904
+ n[43]
1905
+ ] != null) && tt(n)
1906
+ );
1907
+ return {
1908
+ c() {
1909
+ t && t.c(), e = se();
1910
+ },
1911
+ m(l, i) {
1912
+ t && t.m(l, i), w(l, e, i);
1913
+ },
1914
+ p(l, i) {
1915
+ /*p*/
1916
+ l[41].desc != null || /*progress_level*/
1917
+ l[14] && /*progress_level*/
1918
+ l[14][
1919
+ /*i*/
1920
+ l[43]
1921
+ ] != null ? t ? t.p(l, i) : (t = tt(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
1922
+ },
1923
+ d(l) {
1924
+ l && g(e), t && t.d(l);
1925
+ }
1926
+ };
1927
+ }
1928
+ function ft(n) {
1929
+ let e, t;
1930
+ return {
1931
+ c() {
1932
+ e = H("p"), t = F(
1933
+ /*loading_text*/
1934
+ n[9]
1935
+ ), P(e, "class", "loading svelte-1yk38uw");
1936
+ },
1937
+ m(l, i) {
1938
+ w(l, e, i), J(e, t);
1939
+ },
1940
+ p(l, i) {
1941
+ i[0] & /*loading_text*/
1942
+ 512 && A(
1943
+ t,
1944
+ /*loading_text*/
1945
+ l[9]
1946
+ );
1947
+ },
1948
+ d(l) {
1949
+ l && g(e);
1950
+ }
1951
+ };
1952
+ }
1953
+ function an(n) {
1954
+ let e, t, l, i, s;
1955
+ const o = [$l, xl], a = [];
1956
+ function r(f, u) {
1957
+ return (
1958
+ /*status*/
1959
+ f[4] === "pending" ? 0 : (
1960
+ /*status*/
1961
+ f[4] === "error" ? 1 : -1
1962
+ )
1963
+ );
1964
+ }
1965
+ return ~(t = r(n)) && (l = a[t] = o[t](n)), {
1966
+ c() {
1967
+ e = H("div"), l && l.c(), P(e, "class", i = "wrap " + /*variant*/
1968
+ n[8] + " " + /*show_progress*/
1969
+ n[6] + " svelte-1yk38uw"), N(e, "hide", !/*status*/
1970
+ n[4] || /*status*/
1971
+ n[4] === "complete" || /*show_progress*/
1972
+ n[6] === "hidden"), N(
1973
+ e,
1974
+ "translucent",
1975
+ /*variant*/
1976
+ n[8] === "center" && /*status*/
1977
+ (n[4] === "pending" || /*status*/
1978
+ n[4] === "error") || /*translucent*/
1979
+ n[11] || /*show_progress*/
1980
+ n[6] === "minimal"
1981
+ ), N(
1982
+ e,
1983
+ "generating",
1984
+ /*status*/
1985
+ n[4] === "generating"
1986
+ ), N(
1987
+ e,
1988
+ "border",
1989
+ /*border*/
1990
+ n[12]
1991
+ ), Y(
1992
+ e,
1993
+ "position",
1994
+ /*absolute*/
1995
+ n[10] ? "absolute" : "static"
1996
+ ), Y(
1997
+ e,
1998
+ "padding",
1999
+ /*absolute*/
2000
+ n[10] ? "0" : "var(--size-8) 0"
2001
+ );
2002
+ },
2003
+ m(f, u) {
2004
+ w(f, e, u), ~t && a[t].m(e, null), n[33](e), s = !0;
2005
+ },
2006
+ p(f, u) {
2007
+ let _ = t;
2008
+ t = r(f), t === _ ? ~t && a[t].p(f, u) : (l && (Ct(), Q(a[_], 1, 1, () => {
2009
+ a[_] = null;
2010
+ }), pt()), ~t ? (l = a[t], l ? l.p(f, u) : (l = a[t] = o[t](f), l.c()), K(l, 1), l.m(e, null)) : l = null), (!s || u[0] & /*variant, show_progress*/
2011
+ 320 && i !== (i = "wrap " + /*variant*/
2012
+ f[8] + " " + /*show_progress*/
2013
+ f[6] + " svelte-1yk38uw")) && P(e, "class", i), (!s || u[0] & /*variant, show_progress, status, show_progress*/
2014
+ 336) && N(e, "hide", !/*status*/
2015
+ f[4] || /*status*/
2016
+ f[4] === "complete" || /*show_progress*/
2017
+ f[6] === "hidden"), (!s || u[0] & /*variant, show_progress, variant, status, translucent, show_progress*/
2018
+ 2384) && N(
2019
+ e,
2020
+ "translucent",
2021
+ /*variant*/
2022
+ f[8] === "center" && /*status*/
2023
+ (f[4] === "pending" || /*status*/
2024
+ f[4] === "error") || /*translucent*/
2025
+ f[11] || /*show_progress*/
2026
+ f[6] === "minimal"
2027
+ ), (!s || u[0] & /*variant, show_progress, status*/
2028
+ 336) && N(
2029
+ e,
2030
+ "generating",
2031
+ /*status*/
2032
+ f[4] === "generating"
2033
+ ), (!s || u[0] & /*variant, show_progress, border*/
2034
+ 4416) && N(
2035
+ e,
2036
+ "border",
2037
+ /*border*/
2038
+ f[12]
2039
+ ), u[0] & /*absolute*/
2040
+ 1024 && Y(
2041
+ e,
2042
+ "position",
2043
+ /*absolute*/
2044
+ f[10] ? "absolute" : "static"
2045
+ ), u[0] & /*absolute*/
2046
+ 1024 && Y(
2047
+ e,
2048
+ "padding",
2049
+ /*absolute*/
2050
+ f[10] ? "0" : "var(--size-8) 0"
2051
+ );
2052
+ },
2053
+ i(f) {
2054
+ s || (K(l), s = !0);
2055
+ },
2056
+ o(f) {
2057
+ Q(l), s = !1;
2058
+ },
2059
+ d(f) {
2060
+ f && g(e), ~t && a[t].d(), n[33](null);
2061
+ }
2062
+ };
2063
+ }
2064
+ var un = function(n, e, t, l) {
2065
+ function i(s) {
2066
+ return s instanceof t ? s : new t(function(o) {
2067
+ o(s);
2068
+ });
2069
+ }
2070
+ return new (t || (t = Promise))(function(s, o) {
2071
+ function a(u) {
2072
+ try {
2073
+ f(l.next(u));
2074
+ } catch (_) {
2075
+ o(_);
2076
+ }
2077
+ }
2078
+ function r(u) {
2079
+ try {
2080
+ f(l.throw(u));
2081
+ } catch (_) {
2082
+ o(_);
2083
+ }
2084
+ }
2085
+ function f(u) {
2086
+ u.done ? s(u.value) : i(u.value).then(a, r);
2087
+ }
2088
+ f((l = l.apply(n, e || [])).next());
2089
+ });
2090
+ };
2091
+ let we = [], Le = !1;
2092
+ function cn(n) {
2093
+ return un(this, arguments, void 0, function* (e, t = !0) {
2094
+ if (!(window.__gradio_mode__ === "website" || window.__gradio_mode__ !== "app" && t !== !0)) {
2095
+ if (we.push(e), !Le)
2096
+ Le = !0;
2097
+ else
2098
+ return;
2099
+ yield Ul(), requestAnimationFrame(() => {
2100
+ let l = [0, 0];
2101
+ for (let i = 0; i < we.length; i++) {
2102
+ const o = we[i].getBoundingClientRect();
2103
+ (i === 0 || o.top + window.scrollY <= l[0]) && (l[0] = o.top + window.scrollY, l[1] = i);
2104
+ }
2105
+ window.scrollTo({ top: l[0] - 20, behavior: "smooth" }), Le = !1, we = [];
2106
+ });
2107
+ }
2108
+ });
2109
+ }
2110
+ function _n(n, e, t) {
2111
+ let l, { $$slots: i = {}, $$scope: s } = e;
2112
+ this && this.__awaiter;
2113
+ const o = Kl();
2114
+ let { i18n: a } = e, { eta: r = null } = e, { queue_position: f } = e, { queue_size: u } = e, { status: _ } = e, { scroll_to_output: k = !1 } = e, { timer: m = !0 } = e, { show_progress: p = "full" } = e, { message: C = null } = e, { progress: y = null } = e, { variant: L = "default" } = e, { loading_text: d = "Loading..." } = e, { absolute: c = !0 } = e, { translucent: q = !1 } = e, { border: z = !1 } = e, { autoscroll: h } = e, M, T = !1, ue = 0, G = 0, x = null, $ = null, Ee = 0, O = null, fe, X = null, je = !0;
2115
+ const Nt = () => {
2116
+ t(0, r = t(27, x = t(19, ce = null))), t(25, ue = performance.now()), t(26, G = 0), T = !0, Ie();
2117
+ };
2118
+ function Ie() {
2119
+ requestAnimationFrame(() => {
2120
+ t(26, G = (performance.now() - ue) / 1e3), T && Ie();
2121
+ });
2122
+ }
2123
+ function Ze() {
2124
+ t(26, G = 0), t(0, r = t(27, x = t(19, ce = null))), T && (T = !1);
2125
+ }
2126
+ Jl(() => {
2127
+ T && Ze();
2128
+ });
2129
+ let ce = null;
2130
+ function At(b) {
2131
+ Ge[b ? "unshift" : "push"](() => {
2132
+ X = b, t(16, X), t(7, y), t(14, O), t(15, fe);
2133
+ });
2134
+ }
2135
+ const Et = () => {
2136
+ o("clear_status");
2137
+ };
2138
+ function jt(b) {
2139
+ Ge[b ? "unshift" : "push"](() => {
2140
+ M = b, t(13, M);
2141
+ });
2142
+ }
2143
+ return n.$$set = (b) => {
2144
+ "i18n" in b && t(1, a = b.i18n), "eta" in b && t(0, r = b.eta), "queue_position" in b && t(2, f = b.queue_position), "queue_size" in b && t(3, u = b.queue_size), "status" in b && t(4, _ = b.status), "scroll_to_output" in b && t(22, k = b.scroll_to_output), "timer" in b && t(5, m = b.timer), "show_progress" in b && t(6, p = b.show_progress), "message" in b && t(23, C = b.message), "progress" in b && t(7, y = b.progress), "variant" in b && t(8, L = b.variant), "loading_text" in b && t(9, d = b.loading_text), "absolute" in b && t(10, c = b.absolute), "translucent" in b && t(11, q = b.translucent), "border" in b && t(12, z = b.border), "autoscroll" in b && t(24, h = b.autoscroll), "$$scope" in b && t(29, s = b.$$scope);
2145
+ }, n.$$.update = () => {
2146
+ n.$$.dirty[0] & /*eta, old_eta, timer_start, eta_from_start*/
2147
+ 436207617 && (r === null && t(0, r = x), r != null && x !== r && (t(28, $ = (performance.now() - ue) / 1e3 + r), t(19, ce = $.toFixed(1)), t(27, x = r))), n.$$.dirty[0] & /*eta_from_start, timer_diff*/
2148
+ 335544320 && t(17, Ee = $ === null || $ <= 0 || !G ? null : Math.min(G / $, 1)), n.$$.dirty[0] & /*progress*/
2149
+ 128 && y != null && t(18, je = !1), n.$$.dirty[0] & /*progress, progress_level, progress_bar, last_progress_level*/
2150
+ 114816 && (y != null ? t(14, O = y.map((b) => {
2151
+ if (b.index != null && b.length != null)
2152
+ return b.index / b.length;
2153
+ if (b.progress != null)
2154
+ return b.progress;
2155
+ })) : t(14, O = null), O ? (t(15, fe = O[O.length - 1]), X && (fe === 0 ? t(16, X.style.transition = "0", X) : t(16, X.style.transition = "150ms", X))) : t(15, fe = void 0)), n.$$.dirty[0] & /*status*/
2156
+ 16 && (_ === "pending" ? Nt() : Ze()), n.$$.dirty[0] & /*el, scroll_to_output, status, autoscroll*/
2157
+ 20979728 && M && k && (_ === "pending" || _ === "complete") && cn(M, h), n.$$.dirty[0] & /*status, message*/
2158
+ 8388624, n.$$.dirty[0] & /*timer_diff*/
2159
+ 67108864 && t(20, l = G.toFixed(1));
2160
+ }, [
2161
+ r,
2162
+ a,
2163
+ f,
2164
+ u,
2165
+ _,
2166
+ m,
2167
+ p,
2168
+ y,
2169
+ L,
2170
+ d,
2171
+ c,
2172
+ q,
2173
+ z,
2174
+ M,
2175
+ O,
2176
+ fe,
2177
+ X,
2178
+ Ee,
2179
+ je,
2180
+ ce,
2181
+ l,
2182
+ o,
2183
+ k,
2184
+ C,
2185
+ h,
2186
+ ue,
2187
+ G,
2188
+ x,
2189
+ $,
2190
+ s,
2191
+ i,
2192
+ At,
2193
+ Et,
2194
+ jt
2195
+ ];
2196
+ }
2197
+ class dn extends Hl {
2198
+ constructor(e) {
2199
+ super(), Yl(
2200
+ this,
2201
+ e,
2202
+ _n,
2203
+ an,
2204
+ Gl,
2205
+ {
2206
+ i18n: 1,
2207
+ eta: 0,
2208
+ queue_position: 2,
2209
+ queue_size: 3,
2210
+ status: 4,
2211
+ scroll_to_output: 22,
2212
+ timer: 5,
2213
+ show_progress: 6,
2214
+ message: 23,
2215
+ progress: 7,
2216
+ variant: 8,
2217
+ loading_text: 9,
2218
+ absolute: 10,
2219
+ translucent: 11,
2220
+ border: 12,
2221
+ autoscroll: 24
2222
+ },
2223
+ null,
2224
+ [-1, -1]
2225
+ );
2226
+ }
2227
+ }
2228
+ const {
2229
+ SvelteComponent: mn,
2230
+ append: bn,
2231
+ attr: re,
2232
+ detach: Lt,
2233
+ element: ot,
2234
+ empty: hn,
2235
+ init: gn,
2236
+ insert: St,
2237
+ noop: rt,
2238
+ safe_not_equal: wn,
2239
+ src_url_equal: at,
2240
+ toggle_class: le
2241
+ } = window.__gradio__svelte__internal;
2242
+ function ut(n) {
2243
+ let e, t, l;
2244
+ return {
2245
+ c() {
2246
+ e = ot("div"), t = ot("img"), at(t.src, l = /*value*/
2247
+ n[0].url) || re(t, "src", l), re(t, "alt", ""), re(t, "class", "svelte-giydt1"), re(e, "class", "container svelte-giydt1"), le(
2248
+ e,
2249
+ "table",
2250
+ /*type*/
2251
+ n[1] === "table"
2252
+ ), le(
2253
+ e,
2254
+ "gallery",
2255
+ /*type*/
2256
+ n[1] === "gallery"
2257
+ ), le(
2258
+ e,
2259
+ "selected",
2260
+ /*selected*/
2261
+ n[2]
2262
+ );
2263
+ },
2264
+ m(i, s) {
2265
+ St(i, e, s), bn(e, t);
2266
+ },
2267
+ p(i, s) {
2268
+ s & /*value*/
2269
+ 1 && !at(t.src, l = /*value*/
2270
+ i[0].url) && re(t, "src", l), s & /*type*/
2271
+ 2 && le(
2272
+ e,
2273
+ "table",
2274
+ /*type*/
2275
+ i[1] === "table"
2276
+ ), s & /*type*/
2277
+ 2 && le(
2278
+ e,
2279
+ "gallery",
2280
+ /*type*/
2281
+ i[1] === "gallery"
2282
+ ), s & /*selected*/
2283
+ 4 && le(
2284
+ e,
2285
+ "selected",
2286
+ /*selected*/
2287
+ i[2]
2288
+ );
2289
+ },
2290
+ d(i) {
2291
+ i && Lt(e);
2292
+ }
2293
+ };
2294
+ }
2295
+ function kn(n) {
2296
+ let e, t = (
2297
+ /*value*/
2298
+ n[0] && ut(n)
2299
+ );
2300
+ return {
2301
+ c() {
2302
+ t && t.c(), e = hn();
2303
+ },
2304
+ m(l, i) {
2305
+ t && t.m(l, i), St(l, e, i);
2306
+ },
2307
+ p(l, [i]) {
2308
+ /*value*/
2309
+ l[0] ? t ? t.p(l, i) : (t = ut(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
2310
+ },
2311
+ i: rt,
2312
+ o: rt,
2313
+ d(l) {
2314
+ l && Lt(e), t && t.d(l);
2315
+ }
2316
+ };
2317
+ }
2318
+ function pn(n, e, t) {
2319
+ let { value: l } = e, { type: i } = e, { selected: s = !1 } = e;
2320
+ return n.$$set = (o) => {
2321
+ "value" in o && t(0, l = o.value), "type" in o && t(1, i = o.type), "selected" in o && t(2, s = o.selected);
2322
+ }, [l, i, s];
2323
+ }
2324
+ class Wn extends mn {
2325
+ constructor(e) {
2326
+ super(), gn(this, e, pn, kn, wn, { value: 0, type: 1, selected: 2 });
2327
+ }
2328
+ }
2329
+ const {
2330
+ SvelteComponent: yn,
2331
+ assign: vn,
2332
+ attr: qn,
2333
+ binding_callbacks: Cn,
2334
+ check_outros: Fn,
2335
+ create_component: Mt,
2336
+ destroy_component: Vt,
2337
+ detach: Ne,
2338
+ element: Ln,
2339
+ empty: Sn,
2340
+ flush: Z,
2341
+ get_spread_object: Mn,
2342
+ get_spread_update: Vn,
2343
+ group_outros: zn,
2344
+ init: Nn,
2345
+ insert: Ae,
2346
+ mount_component: zt,
2347
+ safe_not_equal: An,
2348
+ set_style: ct,
2349
+ space: En,
2350
+ transition_in: ae,
2351
+ transition_out: ye
2352
+ } = window.__gradio__svelte__internal, { onMount: jn } = window.__gradio__svelte__internal;
2353
+ function _t(n) {
2354
+ let e, t;
2355
+ return e = new nl({
2356
+ props: {
2357
+ visible: (
2358
+ /*visible*/
2359
+ n[3]
2360
+ ),
2361
+ variant: "solid",
2362
+ border_mode: (
2363
+ /*dragging*/
2364
+ n[11] ? "focus" : "base"
2365
+ ),
2366
+ padding: !1,
2367
+ elem_id: (
2368
+ /*elem_id*/
2369
+ n[1]
2370
+ ),
2371
+ elem_classes: (
2372
+ /*elem_classes*/
2373
+ n[2]
2374
+ ),
2375
+ allow_overflow: !1,
2376
+ container: (
2377
+ /*container*/
2378
+ n[4]
2379
+ ),
2380
+ scale: (
2381
+ /*scale*/
2382
+ n[5]
2383
+ ),
2384
+ min_width: (
2385
+ /*min_width*/
2386
+ n[6]
2387
+ ),
2388
+ $$slots: { default: [In] },
2389
+ $$scope: { ctx: n }
2390
+ }
2391
+ }), {
2392
+ c() {
2393
+ Mt(e.$$.fragment);
2394
+ },
2395
+ m(l, i) {
2396
+ zt(e, l, i), t = !0;
2397
+ },
2398
+ p(l, i) {
2399
+ const s = {};
2400
+ i & /*visible*/
2401
+ 8 && (s.visible = /*visible*/
2402
+ l[3]), i & /*elem_id*/
2403
+ 2 && (s.elem_id = /*elem_id*/
2404
+ l[1]), i & /*elem_classes*/
2405
+ 4 && (s.elem_classes = /*elem_classes*/
2406
+ l[2]), i & /*container*/
2407
+ 16 && (s.container = /*container*/
2408
+ l[4]), i & /*scale*/
2409
+ 32 && (s.scale = /*scale*/
2410
+ l[5]), i & /*min_width*/
2411
+ 64 && (s.min_width = /*min_width*/
2412
+ l[6]), i & /*$$scope, ref, height, gradio, loading_status*/
2413
+ 67201 && (s.$$scope = { dirty: i, ctx: l }), e.$set(s);
2414
+ },
2415
+ i(l) {
2416
+ t || (ae(e.$$.fragment, l), t = !0);
2417
+ },
2418
+ o(l) {
2419
+ ye(e.$$.fragment, l), t = !1;
2420
+ },
2421
+ d(l) {
2422
+ Vt(e, l);
2423
+ }
2424
+ };
2425
+ }
2426
+ function In(n) {
2427
+ let e, t, l, i;
2428
+ const s = [
2429
+ { autoscroll: (
2430
+ /*gradio*/
2431
+ n[9].autoscroll
2432
+ ) },
2433
+ { i18n: (
2434
+ /*gradio*/
2435
+ n[9].i18n
2436
+ ) },
2437
+ /*loading_status*/
2438
+ n[7]
2439
+ ];
2440
+ let o = {};
2441
+ for (let a = 0; a < s.length; a += 1)
2442
+ o = vn(o, s[a]);
2443
+ return e = new dn({ props: o }), e.$on(
2444
+ "clear_status",
2445
+ /*clear_status_handler*/
2446
+ n[14]
2447
+ ), {
2448
+ c() {
2449
+ Mt(e.$$.fragment), t = En(), l = Ln("div"), qn(l, "class", "viewer svelte-gu2pck"), ct(
2450
+ l,
2451
+ "height",
2452
+ /*height*/
2453
+ n[0]
2454
+ );
2455
+ },
2456
+ m(a, r) {
2457
+ zt(e, a, r), Ae(a, t, r), Ae(a, l, r), n[15](l), i = !0;
2458
+ },
2459
+ p(a, r) {
2460
+ const f = r & /*gradio, loading_status*/
2461
+ 640 ? Vn(s, [
2462
+ r & /*gradio*/
2463
+ 512 && { autoscroll: (
2464
+ /*gradio*/
2465
+ a[9].autoscroll
2466
+ ) },
2467
+ r & /*gradio*/
2468
+ 512 && { i18n: (
2469
+ /*gradio*/
2470
+ a[9].i18n
2471
+ ) },
2472
+ r & /*loading_status*/
2473
+ 128 && Mn(
2474
+ /*loading_status*/
2475
+ a[7]
2476
+ )
2477
+ ]) : {};
2478
+ e.$set(f), r & /*height*/
2479
+ 1 && ct(
2480
+ l,
2481
+ "height",
2482
+ /*height*/
2483
+ a[0]
2484
+ );
2485
+ },
2486
+ i(a) {
2487
+ i || (ae(e.$$.fragment, a), i = !0);
2488
+ },
2489
+ o(a) {
2490
+ ye(e.$$.fragment, a), i = !1;
2491
+ },
2492
+ d(a) {
2493
+ a && (Ne(t), Ne(l)), Vt(e, a), n[15](null);
2494
+ }
2495
+ };
2496
+ }
2497
+ function Zn(n) {
2498
+ let e, t, l = !/*interactive*/
2499
+ n[8] && _t(n);
2500
+ return {
2501
+ c() {
2502
+ l && l.c(), e = Sn();
2503
+ },
2504
+ m(i, s) {
2505
+ l && l.m(i, s), Ae(i, e, s), t = !0;
2506
+ },
2507
+ p(i, [s]) {
2508
+ /*interactive*/
2509
+ i[8] ? l && (zn(), ye(l, 1, 1, () => {
2510
+ l = null;
2511
+ }), Fn()) : l ? (l.p(i, s), s & /*interactive*/
2512
+ 256 && ae(l, 1)) : (l = _t(i), l.c(), ae(l, 1), l.m(e.parentNode, e));
2513
+ },
2514
+ i(i) {
2515
+ t || (ae(l), t = !0);
2516
+ },
2517
+ o(i) {
2518
+ ye(l), t = !1;
2519
+ },
2520
+ d(i) {
2521
+ i && Ne(e), l && l.d(i);
2522
+ }
2523
+ };
2524
+ }
2525
+ function Pn(n, e, t) {
2526
+ let { elem_id: l = "" } = e, { elem_classes: i = [] } = e, { visible: s = !0 } = e, { height: o = 640 } = e, { value: a = null } = e, { container: r = !0 } = e, { scale: f = null } = e, { min_width: u = void 0 } = e, { loading_status: _ } = e, { interactive: k } = e, { gradio: m } = e, p, C, y;
2527
+ jn(() => (t(13, C = new Ht()), C.start(void 0, y), () => C.stop()));
2528
+ const L = () => m.dispatch("clear_status", _);
2529
+ function d(c) {
2530
+ Cn[c ? "unshift" : "push"](() => {
2531
+ y = c, t(10, y);
2532
+ });
2533
+ }
2534
+ return n.$$set = (c) => {
2535
+ "elem_id" in c && t(1, l = c.elem_id), "elem_classes" in c && t(2, i = c.elem_classes), "visible" in c && t(3, s = c.visible), "height" in c && t(0, o = c.height), "value" in c && t(12, a = c.value), "container" in c && t(4, r = c.container), "scale" in c && t(5, f = c.scale), "min_width" in c && t(6, u = c.min_width), "loading_status" in c && t(7, _ = c.loading_status), "interactive" in c && t(8, k = c.interactive), "gradio" in c && t(9, m = c.gradio);
2536
+ }, n.$$.update = () => {
2537
+ if (n.$$.dirty & /*height*/
2538
+ 1 && t(0, o = typeof o == "number" ? `${o}px` : o), n.$$.dirty & /*value, gradio*/
2539
+ 4608 && m.dispatch("change"), n.$$.dirty & /*value, rr*/
2540
+ 12288 && a !== null && Array.isArray(a))
2541
+ for (const c of a)
2542
+ typeof c != "string" ? c.url && C.open(c.url) : C.open(c);
2543
+ }, [
2544
+ o,
2545
+ l,
2546
+ i,
2547
+ s,
2548
+ r,
2549
+ f,
2550
+ u,
2551
+ _,
2552
+ k,
2553
+ m,
2554
+ y,
2555
+ p,
2556
+ a,
2557
+ C,
2558
+ L,
2559
+ d
2560
+ ];
2561
+ }
2562
+ class Bn extends yn {
2563
+ constructor(e) {
2564
+ super(), Nn(this, e, Pn, Zn, An, {
2565
+ elem_id: 1,
2566
+ elem_classes: 2,
2567
+ visible: 3,
2568
+ height: 0,
2569
+ value: 12,
2570
+ container: 4,
2571
+ scale: 5,
2572
+ min_width: 6,
2573
+ loading_status: 7,
2574
+ interactive: 8,
2575
+ gradio: 9
2576
+ });
2577
+ }
2578
+ get elem_id() {
2579
+ return this.$$.ctx[1];
2580
+ }
2581
+ set elem_id(e) {
2582
+ this.$$set({ elem_id: e }), Z();
2583
+ }
2584
+ get elem_classes() {
2585
+ return this.$$.ctx[2];
2586
+ }
2587
+ set elem_classes(e) {
2588
+ this.$$set({ elem_classes: e }), Z();
2589
+ }
2590
+ get visible() {
2591
+ return this.$$.ctx[3];
2592
+ }
2593
+ set visible(e) {
2594
+ this.$$set({ visible: e }), Z();
2595
+ }
2596
+ get height() {
2597
+ return this.$$.ctx[0];
2598
+ }
2599
+ set height(e) {
2600
+ this.$$set({ height: e }), Z();
2601
+ }
2602
+ get value() {
2603
+ return this.$$.ctx[12];
2604
+ }
2605
+ set value(e) {
2606
+ this.$$set({ value: e }), Z();
2607
+ }
2608
+ get container() {
2609
+ return this.$$.ctx[4];
2610
+ }
2611
+ set container(e) {
2612
+ this.$$set({ container: e }), Z();
2613
+ }
2614
+ get scale() {
2615
+ return this.$$.ctx[5];
2616
+ }
2617
+ set scale(e) {
2618
+ this.$$set({ scale: e }), Z();
2619
+ }
2620
+ get min_width() {
2621
+ return this.$$.ctx[6];
2622
+ }
2623
+ set min_width(e) {
2624
+ this.$$set({ min_width: e }), Z();
2625
+ }
2626
+ get loading_status() {
2627
+ return this.$$.ctx[7];
2628
+ }
2629
+ set loading_status(e) {
2630
+ this.$$set({ loading_status: e }), Z();
2631
+ }
2632
+ get interactive() {
2633
+ return this.$$.ctx[8];
2634
+ }
2635
+ set interactive(e) {
2636
+ this.$$set({ interactive: e }), Z();
2637
+ }
2638
+ get gradio() {
2639
+ return this.$$.ctx[9];
2640
+ }
2641
+ set gradio(e) {
2642
+ this.$$set({ gradio: e }), Z();
2643
+ }
2644
+ }
2645
+ export {
2646
+ Wn as BaseExample,
2647
+ Bn as default
2648
+ };
src/backend/gradio_rerun/templates/component/re_viewer-Ds4oCzjL.js ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:047f5433f4af85ce67eda895e55b573889a27e094a2c569b3089424a940e5783
3
+ size 28197645
src/backend/gradio_rerun/templates/component/style.css ADDED
@@ -0,0 +1 @@
 
 
1
+ /*! tailwindcss v4.0.0-alpha.14 | MIT License | https://tailwindcss.com */@layer theme{:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family-sans);--default-font-feature-settings:var(--font-family-sans--font-feature-settings);--default-font-variation-settings:var(--font-family-sans--font-variation-settings);--default-mono-font-family:var(--font-family-mono);--default-mono-font-feature-settings:var(--font-family-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-family-mono--font-variation-settings);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--color-black:#000;--color-white:#fff;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;--color-zinc-50:#fafafa;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-300:#d4d4d8;--color-zinc-400:#a1a1aa;--color-zinc-500:#71717a;--color-zinc-600:#52525b;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-zinc-950:#09090b;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-stone-950:#0c0a09;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-orange-200:#fed7aa;--color-orange-300:#fdba74;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-orange-800:#9a3412;--color-orange-900:#7c2d12;--color-orange-950:#431407;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;--color-lime-50:#f7fee7;--color-lime-100:#ecfccb;--color-lime-200:#d9f99d;--color-lime-300:#bef264;--color-lime-400:#a3e635;--color-lime-500:#84cc16;--color-lime-600:#65a30d;--color-lime-700:#4d7c0f;--color-lime-800:#3f6212;--color-lime-900:#365314;--color-lime-950:#1a2e05;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-green-800:#166534;--color-green-900:#14532d;--color-green-950:#052e16;--color-emerald-50:#ecfdf5;--color-emerald-100:#d1fae5;--color-emerald-200:#a7f3d0;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-emerald-800:#065f46;--color-emerald-900:#064e3b;--color-emerald-950:#022c22;--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#14b8a6;--color-teal-600:#0d9488;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-teal-950:#042f2e;--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-cyan-500:#06b6d4;--color-cyan-600:#0891b2;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-cyan-900:#164e63;--color-cyan-950:#083344;--color-sky-50:#f0f9ff;--color-sky-100:#e0f2fe;--color-sky-200:#bae6fd;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-sky-700:#0369a1;--color-sky-800:#075985;--color-sky-900:#0c4a6e;--color-sky-950:#082f49;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b;--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-200:#ddd6fe;--color-violet-300:#c4b5fd;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-violet-800:#5b21b6;--color-violet-900:#4c1d95;--color-violet-950:#2e1065;--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-300:#d8b4fe;--color-purple-400:#c084fc;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7e22ce;--color-purple-800:#6b21a8;--color-purple-900:#581c87;--color-purple-950:#3b0764;--color-fuchsia-50:#fdf4ff;--color-fuchsia-100:#fae8ff;--color-fuchsia-200:#f5d0fe;--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-fuchsia-500:#d946ef;--color-fuchsia-600:#c026d3;--color-fuchsia-700:#a21caf;--color-fuchsia-800:#86198f;--color-fuchsia-900:#701a75;--color-fuchsia-950:#4a044e;--color-pink-50:#fdf2f8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-300:#f9a8d4;--color-pink-400:#f472b6;--color-pink-500:#ec4899;--color-pink-600:#db2777;--color-pink-700:#be185d;--color-pink-800:#9d174d;--color-pink-900:#831843;--color-pink-950:#500724;--color-rose-50:#fff1f2;--color-rose-100:#ffe4e6;--color-rose-200:#fecdd3;--color-rose-300:#fda4af;--color-rose-400:#fb7185;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-700:#be123c;--color-rose-800:#9f1239;--color-rose-900:#881337;--color-rose-950:#4c0519;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur:8px;--blur-sm:4px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--radius:.25rem;--radius-sm:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-xs:0 1px #0000000d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--inset-shadow-xs:inset 0 1px #0000000d;--inset-shadow-sm:inset 0 1px 1px #0000000d;--inset-shadow:inset 0 2px 4px #0000000d;--drop-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f;--drop-shadow-sm:0 1px 1px #0000000d;--drop-shadow-md:0 4px 3px #00000012,0 2px 2px #0000000f;--drop-shadow-lg:0 10px 8px #0000000a,0 4px 3px #0000001a;--drop-shadow-xl:0 20px 13px #00000008,0 8px 5px #00000014;--drop-shadow-2xl:0 25px 25px #00000026;--spacing-px:1px;--spacing-0:0px;--spacing-0_5:.125rem;--spacing-1:.25rem;--spacing-1_5:.375rem;--spacing-2:.5rem;--spacing-2_5:.625rem;--spacing-3:.75rem;--spacing-3_5:.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--spacing-36:9rem;--spacing-40:10rem;--spacing-44:11rem;--spacing-48:12rem;--spacing-52:13rem;--spacing-56:14rem;--spacing-60:15rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--spacing-96:24rem;--width-3xs:16rem;--width-2xs:18rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--width-3xl:48rem;--width-4xl:56rem;--width-5xl:64rem;--width-6xl:72rem;--width-7xl:80rem;--width-prose:65ch;--font-family-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-xs--line-height:1rem;--font-size-sm:.875rem;--font-size-sm--line-height:1.25rem;--font-size-base:1rem;--font-size-base--line-height:1.5rem;--font-size-lg:1.125rem;--font-size-lg--line-height:1.75rem;--font-size-xl:1.25rem;--font-size-xl--line-height:1.75rem;--font-size-2xl:1.5rem;--font-size-2xl--line-height:2rem;--font-size-3xl:1.875rem;--font-size-3xl--line-height:2.25rem;--font-size-4xl:2.25rem;--font-size-4xl--line-height:2.5rem;--font-size-5xl:3rem;--font-size-5xl--line-height:1;--font-size-6xl:3.75rem;--font-size-6xl--line-height:1;--font-size-7xl:4.5rem;--font-size-7xl--line-height:1;--font-size-8xl:6rem;--font-size-8xl--line-height:1;--font-size-9xl:8rem;--font-size-9xl--line-height:1;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--line-height-3:.75rem;--line-height-4:1rem;--line-height-5:1.25rem;--line-height-6:1.5rem;--line-height-7:1.75rem;--line-height-8:2rem;--line-height-9:2.25rem;--line-height-10:2.5rem;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--transition-timing-function-linear:linear;--transition-timing-function-in:cubic-bezier(.4,0,1,1);--transition-timing-function-out:cubic-bezier(0,0,.2,1);--transition-timing-function-in-out:cubic-bezier(.4,0,.2,1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}input:where(:not([type=button],[type=reset],[type=submit])),select,textarea{border:1px solid}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}summary{display:list-item}ol,ul,menu{list-style:none}textarea{resize:vertical}::placeholder{opacity:1;color:color-mix(in srgb,currentColor 50%,transparent)}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static,.static\/Loader,.static\/Toast,.static\/index,.static\/types{position:static}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:var(--transition-timing-function-in-out,cubic-bezier(.4,0,.2,1))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-rotate-x{syntax:"<transform-function>";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"<transform-function>";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"<transform-function>";inherits:false;initial-value:rotate(0)}@property --tw-skew-x{syntax:"<transform-function>";inherits:false;initial-value:skew(0)}@property --tw-skew-y{syntax:"<transform-function>";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}.block.svelte-nl1om8{position:relative;margin:0;box-shadow:var(--block-shadow);border-width:var(--block-border-width);border-color:var(--block-border-color);border-radius:var(--block-radius);background:var(--block-background-fill);width:100%;line-height:var(--line-sm)}.block.border_focus.svelte-nl1om8{border-color:var(--color-accent)}.block.border_contrast.svelte-nl1om8{border-color:var(--body-text-color)}.padded.svelte-nl1om8{padding:var(--block-padding)}.hidden.svelte-nl1om8{display:none}.hide-container.svelte-nl1om8{margin:0;box-shadow:none;--block-border-width:0;background:transparent;padding:0;overflow:visible}div.svelte-1hnfib2{margin-bottom:var(--spacing-lg);color:var(--block-info-text-color);font-weight:var(--block-info-text-weight);font-size:var(--block-info-text-size);line-height:var(--line-sm)}span.has-info.svelte-22c38v{margin-bottom:var(--spacing-xs)}span.svelte-22c38v:not(.has-info){margin-bottom:var(--spacing-lg)}span.svelte-22c38v{display:inline-block;position:relative;z-index:var(--layer-4);border:solid var(--block-title-border-width) var(--block-title-border-color);border-radius:var(--block-title-radius);background:var(--block-title-background-fill);padding:var(--block-title-padding);color:var(--block-title-text-color);font-weight:var(--block-title-text-weight);font-size:var(--block-title-text-size);line-height:var(--line-sm)}.hide.svelte-22c38v{margin:0;height:0}label.svelte-9gxdi0{display:inline-flex;align-items:center;z-index:var(--layer-2);box-shadow:var(--block-label-shadow);border:var(--block-label-border-width) solid var(--border-color-primary);border-top:none;border-left:none;border-radius:var(--block-label-radius);background:var(--block-label-background-fill);padding:var(--block-label-padding);pointer-events:none;color:var(--block-label-text-color);font-weight:var(--block-label-text-weight);font-size:var(--block-label-text-size);line-height:var(--line-sm)}.gr-group label.svelte-9gxdi0{border-top-left-radius:0}label.float.svelte-9gxdi0{position:absolute;top:var(--block-label-margin);left:var(--block-label-margin)}label.svelte-9gxdi0:not(.float){position:static;margin-top:var(--block-label-margin);margin-left:var(--block-label-margin)}.hide.svelte-9gxdi0{height:0}span.svelte-9gxdi0{opacity:.8;margin-right:var(--size-2);width:calc(var(--block-label-text-size) - 1px);height:calc(var(--block-label-text-size) - 1px)}.hide-label.svelte-9gxdi0{box-shadow:none;border-width:0;background:transparent;overflow:visible}button.svelte-1lrphxw{display:flex;justify-content:center;align-items:center;gap:1px;z-index:var(--layer-2);border-radius:var(--radius-sm);color:var(--block-label-text-color);border:1px solid transparent}button[disabled].svelte-1lrphxw{opacity:.5;box-shadow:none}button[disabled].svelte-1lrphxw:hover{cursor:not-allowed}.padded.svelte-1lrphxw{padding:2px;background:var(--bg-color);box-shadow:var(--shadow-drop);border:1px solid var(--button-secondary-border-color)}button.svelte-1lrphxw:hover,button.highlight.svelte-1lrphxw{cursor:pointer;color:var(--color-accent)}.padded.svelte-1lrphxw:hover{border:2px solid var(--button-secondary-border-color-hover);padding:1px;color:var(--block-label-text-color)}span.svelte-1lrphxw{padding:0 1px;font-size:10px}div.svelte-1lrphxw{padding:2px;display:flex;align-items:flex-end}.small.svelte-1lrphxw{width:14px;height:14px}.medium.svelte-1lrphxw{width:20px;height:20px}.large.svelte-1lrphxw{width:22px;height:22px}.pending.svelte-1lrphxw{animation:svelte-1lrphxw-flash .5s infinite}@keyframes svelte-1lrphxw-flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.transparent.svelte-1lrphxw{background:transparent;border:none;box-shadow:none}.empty.svelte-3w3rth{display:flex;justify-content:center;align-items:center;margin-top:calc(0px - var(--size-6));height:var(--size-full)}.icon.svelte-3w3rth{opacity:.5;height:var(--size-5);color:var(--body-text-color)}.small.svelte-3w3rth{min-height:calc(var(--size-32) - 20px)}.large.svelte-3w3rth{min-height:calc(var(--size-64) - 20px)}.unpadded_box.svelte-3w3rth{margin-top:0}.small_parent.svelte-3w3rth{min-height:100%!important}.dropdown-arrow.svelte-145leq6{fill:currentColor}.wrap.svelte-kzcjhc{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:var(--size-60);color:var(--block-label-text-color);line-height:var(--line-md);height:100%;padding-top:var(--size-3)}.or.svelte-kzcjhc{color:var(--body-text-color-subdued);display:flex}.icon-wrap.svelte-kzcjhc{width:30px;margin-bottom:var(--spacing-lg)}@media (--screen-md){.wrap.svelte-kzcjhc{font-size:var(--text-lg)}}.hovered.svelte-kzcjhc{color:var(--color-accent)}div.svelte-q32hvf{border-top:1px solid transparent;display:flex;max-height:100%;justify-content:center;align-items:center;gap:var(--spacing-sm);height:auto;align-items:flex-end;color:var(--block-label-text-color);flex-shrink:0}.show_border.svelte-q32hvf{border-top:1px solid var(--block-border-color);margin-top:var(--spacing-xxl);box-shadow:var(--shadow-drop)}.source-selection.svelte-1jp3vgd{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-color-primary);width:95%;bottom:0;left:0;right:0;margin-left:auto;margin-right:auto}.icon.svelte-1jp3vgd{width:22px;height:22px;margin:var(--spacing-lg) var(--spacing-xs);padding:var(--spacing-xs);color:var(--neutral-400);border-radius:var(--radius-md)}.selected.svelte-1jp3vgd{color:var(--color-accent)}.icon.svelte-1jp3vgd:hover,.icon.svelte-1jp3vgd:focus{color:var(--color-accent)}svg.svelte-43sxxs.svelte-43sxxs{width:var(--size-20);height:var(--size-20)}svg.svelte-43sxxs path.svelte-43sxxs{fill:var(--loader-color)}div.svelte-43sxxs.svelte-43sxxs{z-index:var(--layer-2)}.margin.svelte-43sxxs.svelte-43sxxs{margin:var(--size-4)}.wrap.svelte-1yk38uw.svelte-1yk38uw{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--layer-top);transition:opacity .1s ease-in-out;border-radius:var(--block-radius);background:var(--block-background-fill);padding:0 var(--size-6);max-height:var(--size-screen-h);overflow:hidden}.wrap.center.svelte-1yk38uw.svelte-1yk38uw{top:0;right:0;left:0}.wrap.default.svelte-1yk38uw.svelte-1yk38uw{inset:0}.hide.svelte-1yk38uw.svelte-1yk38uw{opacity:0;pointer-events:none}.generating.svelte-1yk38uw.svelte-1yk38uw{animation:svelte-1yk38uw-pulse 2s cubic-bezier(.4,0,.6,1) infinite;border:2px solid var(--color-accent);background:transparent;z-index:var(--layer-1)}.translucent.svelte-1yk38uw.svelte-1yk38uw{background:none}@keyframes svelte-1yk38uw-pulse{0%,to{opacity:1}50%{opacity:.5}}.loading.svelte-1yk38uw.svelte-1yk38uw{z-index:var(--layer-2);color:var(--body-text-color)}.eta-bar.svelte-1yk38uw.svelte-1yk38uw{position:absolute;inset:0;transform-origin:left;opacity:.8;z-index:var(--layer-1);transition:10ms;background:var(--background-fill-secondary)}.progress-bar-wrap.svelte-1yk38uw.svelte-1yk38uw{border:1px solid var(--border-color-primary);background:var(--background-fill-primary);width:55.5%;height:var(--size-4)}.progress-bar.svelte-1yk38uw.svelte-1yk38uw{transform-origin:left;background-color:var(--loader-color);width:var(--size-full);height:var(--size-full)}.progress-level.svelte-1yk38uw.svelte-1yk38uw{display:flex;flex-direction:column;align-items:center;gap:1;z-index:var(--layer-2);width:var(--size-full)}.progress-level-inner.svelte-1yk38uw.svelte-1yk38uw{margin:var(--size-2) auto;color:var(--body-text-color);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text.svelte-1yk38uw.svelte-1yk38uw{position:absolute;top:0;right:0;z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text-center.svelte-1yk38uw.svelte-1yk38uw{display:flex;position:absolute;top:0;right:0;justify-content:center;align-items:center;transform:translateY(var(--size-6));z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center}.error.svelte-1yk38uw.svelte-1yk38uw{box-shadow:var(--shadow-drop);border:solid 1px var(--error-border-color);border-radius:var(--radius-full);background:var(--error-background-fill);padding-right:var(--size-4);padding-left:var(--size-4);color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font)}.minimal.svelte-1yk38uw .progress-text.svelte-1yk38uw{background:var(--block-background-fill)}.border.svelte-1yk38uw.svelte-1yk38uw{border:1px solid var(--border-color-primary)}.clear-status.svelte-1yk38uw.svelte-1yk38uw{position:absolute;display:flex;top:var(--size-2);right:var(--size-2);justify-content:flex-end;gap:var(--spacing-sm);z-index:var(--layer-1)}.toast-body.svelte-solcu7{display:flex;position:relative;right:0;left:0;align-items:center;margin:var(--size-6) var(--size-4);margin:auto;border-radius:var(--container-radius);overflow:hidden;pointer-events:auto}.toast-body.error.svelte-solcu7{border:1px solid var(--color-red-700);background:var(--color-red-50)}.dark .toast-body.error.svelte-solcu7{border:1px solid var(--color-red-500);background-color:var(--color-grey-950)}.toast-body.warning.svelte-solcu7{border:1px solid var(--color-yellow-700);background:var(--color-yellow-50)}.dark .toast-body.warning.svelte-solcu7{border:1px solid var(--color-yellow-500);background-color:var(--color-grey-950)}.toast-body.info.svelte-solcu7{border:1px solid var(--color-grey-700);background:var(--color-grey-50)}.dark .toast-body.info.svelte-solcu7{border:1px solid var(--color-grey-500);background-color:var(--color-grey-950)}.toast-title.svelte-solcu7{display:flex;align-items:center;font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--line-sm);text-transform:capitalize}.toast-title.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-title.error.svelte-solcu7{color:var(--color-red-50)}.toast-title.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-title.warning.svelte-solcu7{color:var(--color-yellow-50)}.toast-title.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-title.info.svelte-solcu7{color:var(--color-grey-50)}.toast-close.svelte-solcu7{margin:0 var(--size-3);border-radius:var(--size-3);padding:0px var(--size-1-5);font-size:var(--size-5);line-height:var(--size-5)}.toast-close.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-close.error.svelte-solcu7{color:var(--color-red-500)}.toast-close.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-close.warning.svelte-solcu7{color:var(--color-yellow-500)}.toast-close.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-close.info.svelte-solcu7{color:var(--color-grey-500)}.toast-text.svelte-solcu7{font-size:var(--text-lg)}.toast-text.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-text.error.svelte-solcu7{color:var(--color-red-50)}.toast-text.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-text.warning.svelte-solcu7{color:var(--color-yellow-50)}.toast-text.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-text.info.svelte-solcu7{color:var(--color-grey-50)}.toast-details.svelte-solcu7{margin:var(--size-3) var(--size-3) var(--size-3) 0;width:100%}.toast-icon.svelte-solcu7{display:flex;position:absolute;position:relative;flex-shrink:0;justify-content:center;align-items:center;margin:var(--size-2);border-radius:var(--radius-full);padding:var(--size-1);padding-left:calc(var(--size-1) - 1px);width:35px;height:35px}.toast-icon.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-icon.error.svelte-solcu7{color:var(--color-red-500)}.toast-icon.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-icon.warning.svelte-solcu7{color:var(--color-yellow-500)}.toast-icon.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-icon.info.svelte-solcu7{color:var(--color-grey-500)}@keyframes svelte-solcu7-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.timer.svelte-solcu7{position:absolute;bottom:0;left:0;transform-origin:0 0;animation:svelte-solcu7-countdown 10s linear forwards;width:100%;height:var(--size-1)}.timer.error.svelte-solcu7{background:var(--color-red-700)}.dark .timer.error.svelte-solcu7{background:var(--color-red-500)}.timer.warning.svelte-solcu7{background:var(--color-yellow-700)}.dark .timer.warning.svelte-solcu7{background:var(--color-yellow-500)}.timer.info.svelte-solcu7{background:var(--color-grey-700)}.dark .timer.info.svelte-solcu7{background:var(--color-grey-500)}.toast-wrap.svelte-gatr8h{display:flex;position:fixed;top:var(--size-4);right:var(--size-4);flex-direction:column;align-items:end;gap:var(--size-2);z-index:var(--layer-top);width:calc(100% - var(--size-8))}@media (--screen-sm){.toast-wrap.svelte-gatr8h{width:calc(var(--size-96) + var(--size-10))}}.container.svelte-giydt1 img{width:100%;height:100%}.container.selected.svelte-giydt1.svelte-giydt1{border-color:var(--border-color-accent)}.container.table.svelte-giydt1.svelte-giydt1{margin:0 auto;border:2px solid var(--border-color-primary);border-radius:var(--radius-lg);overflow:hidden;width:var(--size-20);height:var(--size-20);object-fit:cover}.container.gallery.svelte-giydt1.svelte-giydt1{height:var(--size-20);max-height:var(--size-20);object-fit:cover}.container.svelte-giydt1 img.svelte-giydt1{object-fit:cover}.viewer.svelte-gu2pck{width:100%}div.viewer>canvas{position:initial!important;top:unset!important}
src/backend/gradio_rerun/templates/example/index.js ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const {
2
+ SvelteComponent: g,
3
+ append: v,
4
+ attr: c,
5
+ detach: o,
6
+ element: r,
7
+ empty: y,
8
+ init: b,
9
+ insert: m,
10
+ noop: u,
11
+ safe_not_equal: k,
12
+ src_url_equal: _,
13
+ toggle_class: f
14
+ } = window.__gradio__svelte__internal;
15
+ function d(a) {
16
+ let l, e, t;
17
+ return {
18
+ c() {
19
+ l = r("div"), e = r("img"), _(e.src, t = /*value*/
20
+ a[0].url) || c(e, "src", t), c(e, "alt", ""), c(e, "class", "svelte-giydt1"), c(l, "class", "container svelte-giydt1"), f(
21
+ l,
22
+ "table",
23
+ /*type*/
24
+ a[1] === "table"
25
+ ), f(
26
+ l,
27
+ "gallery",
28
+ /*type*/
29
+ a[1] === "gallery"
30
+ ), f(
31
+ l,
32
+ "selected",
33
+ /*selected*/
34
+ a[2]
35
+ );
36
+ },
37
+ m(i, n) {
38
+ m(i, l, n), v(l, e);
39
+ },
40
+ p(i, n) {
41
+ n & /*value*/
42
+ 1 && !_(e.src, t = /*value*/
43
+ i[0].url) && c(e, "src", t), n & /*type*/
44
+ 2 && f(
45
+ l,
46
+ "table",
47
+ /*type*/
48
+ i[1] === "table"
49
+ ), n & /*type*/
50
+ 2 && f(
51
+ l,
52
+ "gallery",
53
+ /*type*/
54
+ i[1] === "gallery"
55
+ ), n & /*selected*/
56
+ 4 && f(
57
+ l,
58
+ "selected",
59
+ /*selected*/
60
+ i[2]
61
+ );
62
+ },
63
+ d(i) {
64
+ i && o(l);
65
+ }
66
+ };
67
+ }
68
+ function p(a) {
69
+ let l, e = (
70
+ /*value*/
71
+ a[0] && d(a)
72
+ );
73
+ return {
74
+ c() {
75
+ e && e.c(), l = y();
76
+ },
77
+ m(t, i) {
78
+ e && e.m(t, i), m(t, l, i);
79
+ },
80
+ p(t, [i]) {
81
+ /*value*/
82
+ t[0] ? e ? e.p(t, i) : (e = d(t), e.c(), e.m(l.parentNode, l)) : e && (e.d(1), e = null);
83
+ },
84
+ i: u,
85
+ o: u,
86
+ d(t) {
87
+ t && o(l), e && e.d(t);
88
+ }
89
+ };
90
+ }
91
+ function q(a, l, e) {
92
+ let { value: t } = l, { type: i } = l, { selected: n = !1 } = l;
93
+ return a.$$set = (s) => {
94
+ "value" in s && e(0, t = s.value), "type" in s && e(1, i = s.type), "selected" in s && e(2, n = s.selected);
95
+ }, [t, i, n];
96
+ }
97
+ class w extends g {
98
+ constructor(l) {
99
+ super(), b(this, l, q, p, k, { value: 0, type: 1, selected: 2 });
100
+ }
101
+ }
102
+ export {
103
+ w as default
104
+ };
src/backend/gradio_rerun/templates/example/style.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .container.svelte-giydt1 img{width:100%;height:100%}.container.selected.svelte-giydt1.svelte-giydt1{border-color:var(--border-color-accent)}.container.table.svelte-giydt1.svelte-giydt1{margin:0 auto;border:2px solid var(--border-color-primary);border-radius:var(--radius-lg);overflow:hidden;width:var(--size-20);height:var(--size-20);object-fit:cover}.container.gallery.svelte-giydt1.svelte-giydt1{height:var(--size-20);max-height:var(--size-20);object-fit:cover}.container.svelte-giydt1 img.svelte-giydt1{object-fit:cover}
src/demo/__init__.py ADDED
File without changes
src/demo/app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from gradio_rerun import Rerun
3
+
4
+
5
+ example = Rerun().example_value()
6
+
7
+
8
+ def predict(url: str, file_path: str | list[str] | None):
9
+ if url:
10
+ return url
11
+ return file_path
12
+
13
+
14
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
15
+ with gr.Row():
16
+ with gr.Column():
17
+ with gr.Group():
18
+ file_path = gr.File(file_count="multiple", type="filepath")
19
+ url = gr.Text(
20
+ info="Or use a URL",
21
+ label="URL",
22
+ )
23
+ with gr.Column():
24
+ pass
25
+ btn = gr.Button("Run", scale=0)
26
+ with gr.Row():
27
+ rerun_viewer = Rerun(height=900)
28
+
29
+ inputs = [file_path, url]
30
+ outputs = [rerun_viewer]
31
+
32
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
33
+
34
+ gr.Examples(
35
+ examples=[
36
+ [
37
+ None,
38
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
39
+ ],
40
+ [
41
+ ["./examples/rgbd.rrd"],
42
+ None,
43
+ ],
44
+ [
45
+ ["./examples/rrt-star.rrd"],
46
+ None,
47
+ ],
48
+ [
49
+ ["./examples/structure_from_motion.rrd"],
50
+ None,
51
+ ],
52
+ [
53
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
54
+ None,
55
+ ],
56
+ ],
57
+ fn=predict,
58
+ inputs=inputs,
59
+ outputs=outputs,
60
+ run_on_click=True,
61
+ )
62
+
63
+ if __name__ == "__main__":
64
+ demo.launch()
src/demo/css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
src/demo/requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio_rerun
src/demo/space.py ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Rerun': {'description': 'Creates an image component that can be used to upload images (as an input) or display images (as an output).', 'members': {'__init__': {'value': {'type': 'list[str] | None', 'default': 'None', 'description': 'A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'show_download_button': {'type': 'bool', 'default': 'True', 'description': 'If True, will display button to download image.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'height': {'type': 'int | str', 'default': '640', 'description': 'height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'list[gradio.data_classes.FileData]\n | gradio.data_classes.FileData\n | str\n | list[str]', 'description': 'Expects a `str` or `pathlib.Path` object containing the path to the image.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'A `str` containing the path to the image.'}, 'value': None}}, 'events': {'clear': {'type': None, 'default': None, 'description': 'This listener is triggered when the user clears the Rerun using the X button for the component.'}, 'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'upload': {'type': None, 'default': None, 'description': 'This listener is triggered when the user uploads a file into the Rerun.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'Rerun': []}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_rerun`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
25
+ </div>
26
+
27
+ Rerun viewer with Gradio
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_rerun
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+ import gradio as gr
42
+ from gradio_rerun import Rerun
43
+
44
+
45
+ example = Rerun().example_value()
46
+
47
+
48
+ def predict(url: str, file_path: str | list[str] | None):
49
+ if url:
50
+ return url
51
+ return file_path
52
+
53
+
54
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
55
+ with gr.Row():
56
+ with gr.Column():
57
+ with gr.Group():
58
+ file_path = gr.File(file_count="multiple", type="filepath")
59
+ url = gr.Text(
60
+ info="Or use a URL",
61
+ label="URL",
62
+ )
63
+ with gr.Column():
64
+ pass
65
+ btn = gr.Button("Run", scale=0)
66
+ with gr.Row():
67
+ rerun_viewer = Rerun(height=900)
68
+
69
+ inputs = [file_path, url]
70
+ outputs = [rerun_viewer]
71
+
72
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
73
+
74
+ gr.Examples(
75
+ examples=[
76
+ [
77
+ None,
78
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
79
+ ],
80
+ [
81
+ ["./examples/rgbd.rrd"],
82
+ None,
83
+ ],
84
+ [
85
+ ["./examples/rrt-star.rrd"],
86
+ None,
87
+ ],
88
+ [
89
+ ["./examples/structure_from_motion.rrd"],
90
+ None,
91
+ ],
92
+ [
93
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
94
+ None,
95
+ ],
96
+ ],
97
+ fn=predict,
98
+ inputs=inputs,
99
+ outputs=outputs,
100
+ run_on_click=True,
101
+ )
102
+
103
+ if __name__ == "__main__":
104
+ demo.launch()
105
+
106
+ ```
107
+ """, elem_classes=["md-custom"], header_links=True)
108
+
109
+
110
+ gr.Markdown("""
111
+ ## `Rerun`
112
+
113
+ ### Initialization
114
+ """, elem_classes=["md-custom"], header_links=True)
115
+
116
+ gr.ParamViewer(value=_docs["Rerun"]["members"]["__init__"], linkify=[])
117
+
118
+
119
+ gr.Markdown("### Events")
120
+ gr.ParamViewer(value=_docs["Rerun"]["events"], linkify=['Event'])
121
+
122
+
123
+
124
+
125
+ gr.Markdown("""
126
+
127
+ ### User function
128
+
129
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
130
+
131
+ - When used as an Input, the component only impacts the input signature of the user function.
132
+ - When used as an output, the component only impacts the return signature of the user function.
133
+
134
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
135
+
136
+ - **As input:** Is passed, a `str` containing the path to the image.
137
+ - **As output:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
138
+
139
+ ```python
140
+ def predict(
141
+ value: str | None
142
+ ) -> list[gradio.data_classes.FileData]
143
+ | gradio.data_classes.FileData
144
+ | str
145
+ | list[str]:
146
+ return value
147
+ ```
148
+ """, elem_classes=["md-custom", "Rerun-user-fn"], header_links=True)
149
+
150
+
151
+
152
+
153
+ demo.load(None, js=r"""function() {
154
+ const refs = {};
155
+ const user_fn_refs = {
156
+ Rerun: [], };
157
+ requestAnimationFrame(() => {
158
+
159
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
160
+ if (refs.length > 0) {
161
+ const el = document.querySelector(`.${key}-user-fn`);
162
+ if (!el) return;
163
+ refs.forEach(ref => {
164
+ el.innerHTML = el.innerHTML.replace(
165
+ new RegExp("\\b"+ref+"\\b", "g"),
166
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
167
+ );
168
+ })
169
+ }
170
+ })
171
+
172
+ Object.entries(refs).forEach(([key, refs]) => {
173
+ if (refs.length > 0) {
174
+ const el = document.querySelector(`.${key}`);
175
+ if (!el) return;
176
+ refs.forEach(ref => {
177
+ el.innerHTML = el.innerHTML.replace(
178
+ new RegExp("\\b"+ref+"\\b", "g"),
179
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
180
+ );
181
+ })
182
+ }
183
+ })
184
+ })
185
+ }
186
+
187
+ """)
188
+
189
+ demo.launch()
src/examples/rgbd.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23a374ab6f973424d2e6d40d54c90a5898c4ae4c3909987167fc4e349e9f7b35
3
+ size 38623309
src/examples/rrt-star.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d26f9f5343552292208d232f2480ac24a7a9cebb331ba8ce4fa8ef3a44f5c283
3
+ size 10487798
src/examples/structure_from_motion.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6b4aae56c08714b4aa230cb2c75682eef8e2e6de1c2ea636e15e4eca0f9e26f
3
+ size 7175301
src/frontend/Example.svelte ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import type { FileData } from "@gradio/client";
3
+
4
+ export let value: null | FileData;
5
+ export let type: "gallery" | "table";
6
+ export let selected = false;
7
+ </script>
8
+
9
+ {#if value}
10
+ <div
11
+ class="container"
12
+ class:table={type === "table"}
13
+ class:gallery={type === "gallery"}
14
+ class:selected
15
+ >
16
+ <img src={value.url} alt="" />
17
+ </div>
18
+ {/if}
19
+
20
+ <style>
21
+ .container :global(img) {
22
+ width: 100%;
23
+ height: 100%;
24
+ }
25
+
26
+ .container.selected {
27
+ border-color: var(--border-color-accent);
28
+ }
29
+
30
+ .container.table {
31
+ margin: 0 auto;
32
+ border: 2px solid var(--border-color-primary);
33
+ border-radius: var(--radius-lg);
34
+ overflow: hidden;
35
+ width: var(--size-20);
36
+ height: var(--size-20);
37
+ object-fit: cover;
38
+ }
39
+
40
+ .container.gallery {
41
+ height: var(--size-20);
42
+ max-height: var(--size-20);
43
+ object-fit: cover;
44
+ }
45
+ .container img {
46
+ object-fit: cover;
47
+ }
48
+ </style>
src/frontend/Index.svelte ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svelte:options accessors={true} />
2
+
3
+ <script context="module" lang="ts">
4
+ export { default as BaseExample } from "./Example.svelte";
5
+ </script>
6
+
7
+ <script lang="ts">
8
+ import "./app.css";
9
+ import type { Gradio } from "@gradio/utils";
10
+
11
+ import { WebViewer } from "@rerun-io/web-viewer";
12
+ import { onMount } from "svelte";
13
+
14
+ import { Block } from "@gradio/atoms";
15
+ import { StatusTracker } from "@gradio/statustracker";
16
+ import type { FileData } from "@gradio/client";
17
+ import type { LoadingStatus } from "@gradio/statustracker";
18
+
19
+ export let elem_id = "";
20
+ export let elem_classes: string[] = [];
21
+ export let visible = true;
22
+ export let height: number | string = 640;
23
+ export let value: null | FileData[] | string[] = null;
24
+ export let container = true;
25
+ export let scale: number | null = null;
26
+ export let min_width: number | undefined = undefined;
27
+ export let loading_status: LoadingStatus;
28
+ export let interactive: boolean;
29
+
30
+ export let gradio: Gradio<{
31
+ change: never;
32
+ upload: never;
33
+ clear: never;
34
+ clear_status: LoadingStatus;
35
+ }>;
36
+
37
+ $: height = typeof height === "number" ? `${height}px` : height;
38
+
39
+ $: value, gradio.dispatch("change");
40
+ let dragging: boolean;
41
+ let rr: WebViewer;
42
+ let ref: HTMLDivElement;
43
+
44
+ onMount(() => {
45
+ rr = new WebViewer();
46
+ rr.start(undefined, ref);
47
+ return () => rr.stop();
48
+ });
49
+
50
+ $: if (value !== null && Array.isArray(value)) {
51
+ for (const file of value) {
52
+ if (typeof file !== "string") {
53
+ if (file.url) {
54
+ rr.open(file.url);
55
+ }
56
+ } else {
57
+ rr.open(file);
58
+ }
59
+ }
60
+ }
61
+ </script>
62
+
63
+ {#if !interactive}
64
+ <Block
65
+ {visible}
66
+ variant={"solid"}
67
+ border_mode={dragging ? "focus" : "base"}
68
+ padding={false}
69
+ {elem_id}
70
+ {elem_classes}
71
+ allow_overflow={false}
72
+ {container}
73
+ {scale}
74
+ {min_width}
75
+ >
76
+ <StatusTracker
77
+ autoscroll={gradio.autoscroll}
78
+ i18n={gradio.i18n}
79
+ {...loading_status}
80
+ on:clear_status={() => gradio.dispatch("clear_status", loading_status)}
81
+ />
82
+ <div class="viewer" bind:this={ref} style:height />
83
+ </Block>
84
+ {/if}
85
+
86
+ <style>
87
+ .viewer {
88
+ width: 100%;
89
+ }
90
+
91
+ :global(div.viewer > canvas) {
92
+ position: initial !important;
93
+ top: unset !important;
94
+ }
95
+ </style>
src/frontend/app.css ADDED
@@ -0,0 +1 @@
 
 
1
+ @import "tailwindcss";
src/frontend/gradio.config.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import tailwindcss from "@tailwindcss/vite";
2
+ import wasm from "vite-plugin-wasm";
3
+
4
+ export default {
5
+ plugins: [wasm(), tailwindcss()],
6
+ svelte: {
7
+ preprocess: [],
8
+ },
9
+ };
src/frontend/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
src/frontend/package.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gradio_rerun",
3
+ "version": "0.4.0",
4
+ "description": "Gradio UI packages",
5
+ "type": "module",
6
+ "author": "",
7
+ "license": "ISC",
8
+ "private": false,
9
+ "dependencies": {
10
+ "@gradio/atoms": "0.7.1",
11
+ "@gradio/client": "0.17.0",
12
+ "@gradio/icons": "0.4.0",
13
+ "@gradio/statustracker": "0.5.0",
14
+ "@gradio/upload": "0.9.0",
15
+ "@gradio/utils": "0.4.0",
16
+ "@gradio/wasm": "0.10.0",
17
+ "@rerun-io/web-viewer": "^0.15.1",
18
+ "cropperjs": "^1.5.12",
19
+ "lazy-brush": "^1.0.1",
20
+ "resize-observer-polyfill": "^1.5.1",
21
+ "vite-plugin-wasm": "^3.3.0"
22
+ },
23
+ "devDependencies": {
24
+ "@gradio/preview": "0.8.3",
25
+ "@tailwindcss/vite": "^4.0.0-alpha.14",
26
+ "tailwindcss": "^4.0.0-alpha.14"
27
+ },
28
+ "main_changeset": true,
29
+ "main": "./Index.svelte",
30
+ "exports": {
31
+ ".": "./Index.svelte",
32
+ "./example": "./Example.svelte",
33
+ "./package.json": "./package.json"
34
+ }
35
+ }
src/frontend/pnpm-lock.yaml ADDED
@@ -0,0 +1,2769 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@gradio/atoms':
9
+ specifier: 0.7.1
10
+ version: 0.7.1([email protected])
11
+ '@gradio/client':
12
+ specifier: 0.17.0
13
+ version: 0.17.0
14
+ '@gradio/icons':
15
+ specifier: 0.4.0
16
+ version: 0.4.0
17
+ '@gradio/statustracker':
18
+ specifier: 0.5.0
19
+ version: 0.5.0([email protected])
20
+ '@gradio/upload':
21
+ specifier: 0.9.0
22
+ version: 0.9.0([email protected])
23
+ '@gradio/utils':
24
+ specifier: 0.4.0
25
+ version: 0.4.0([email protected])
26
+ '@gradio/wasm':
27
+ specifier: 0.10.0
28
+ version: 0.10.0
29
+ cropperjs:
30
+ specifier: ^1.5.12
31
+ version: 1.6.2
32
+ lazy-brush:
33
+ specifier: ^1.0.1
34
+ version: 1.0.1
35
+ resize-observer-polyfill:
36
+ specifier: ^1.5.1
37
+ version: 1.5.1
38
+
39
+ devDependencies:
40
+ '@gradio/preview':
41
+ specifier: 0.8.3
42
43
+ '@tailwindcss/vite':
44
+ specifier: 4.0.0-alpha.14
45
+ version: 4.0.0-alpha.14([email protected])
46
+ tailwindcss:
47
+ specifier: 4.0.0-alpha.14
48
+ version: 4.0.0-alpha.14
49
+
50
+ packages:
51
+
52
+ /@adobe/[email protected]:
53
+ resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
54
+ dev: true
55
+
56
+ /@ampproject/[email protected]:
57
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
58
+ engines: {node: '>=6.0.0'}
59
+ dependencies:
60
+ '@jridgewell/gen-mapping': 0.3.5
61
+ '@jridgewell/trace-mapping': 0.3.25
62
+
63
+ /@babel/[email protected]:
64
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
65
+ engines: {node: '>=6.9.0'}
66
+ dev: true
67
+
68
+ /@babel/[email protected]:
69
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
70
+ engines: {node: '>=6.9.0'}
71
+ dev: true
72
+
73
+ /@babel/[email protected]:
74
+ resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
75
+ engines: {node: '>=6.0.0'}
76
+ hasBin: true
77
+ dependencies:
78
+ '@babel/types': 7.24.0
79
+ dev: true
80
+
81
+ /@babel/[email protected]:
82
+ resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
83
+ engines: {node: '>=6.9.0'}
84
+ dependencies:
85
+ '@babel/helper-string-parser': 7.24.1
86
+ '@babel/helper-validator-identifier': 7.22.20
87
+ to-fast-properties: 2.0.0
88
+ dev: true
89
+
90
+ /@esbuild/[email protected]:
91
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
92
+ engines: {node: '>=12'}
93
+ cpu: [ppc64]
94
+ os: [aix]
95
+ requiresBuild: true
96
+ dev: false
97
+ optional: true
98
+
99
+ /@esbuild/[email protected]:
100
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
101
+ engines: {node: '>=12'}
102
+ cpu: [ppc64]
103
+ os: [aix]
104
+ requiresBuild: true
105
+ dev: true
106
+ optional: true
107
+
108
+ /@esbuild/[email protected]:
109
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
110
+ engines: {node: '>=12'}
111
+ cpu: [arm64]
112
+ os: [android]
113
+ requiresBuild: true
114
+ dev: false
115
+ optional: true
116
+
117
+ /@esbuild/[email protected]:
118
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
119
+ engines: {node: '>=12'}
120
+ cpu: [arm64]
121
+ os: [android]
122
+ requiresBuild: true
123
+ dev: true
124
+ optional: true
125
+
126
+ /@esbuild/[email protected]:
127
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
128
+ engines: {node: '>=12'}
129
+ cpu: [arm]
130
+ os: [android]
131
+ requiresBuild: true
132
+ dev: false
133
+ optional: true
134
+
135
+ /@esbuild/[email protected]:
136
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
137
+ engines: {node: '>=12'}
138
+ cpu: [arm]
139
+ os: [android]
140
+ requiresBuild: true
141
+ dev: true
142
+ optional: true
143
+
144
+ /@esbuild/[email protected]:
145
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
146
+ engines: {node: '>=12'}
147
+ cpu: [x64]
148
+ os: [android]
149
+ requiresBuild: true
150
+ dev: false
151
+ optional: true
152
+
153
+ /@esbuild/[email protected]:
154
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
155
+ engines: {node: '>=12'}
156
+ cpu: [x64]
157
+ os: [android]
158
+ requiresBuild: true
159
+ dev: true
160
+ optional: true
161
+
162
+ /@esbuild/[email protected]:
163
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
164
+ engines: {node: '>=12'}
165
+ cpu: [arm64]
166
+ os: [darwin]
167
+ requiresBuild: true
168
+ dev: false
169
+ optional: true
170
+
171
+ /@esbuild/[email protected]:
172
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
173
+ engines: {node: '>=12'}
174
+ cpu: [arm64]
175
+ os: [darwin]
176
+ requiresBuild: true
177
+ dev: true
178
+ optional: true
179
+
180
+ /@esbuild/[email protected]:
181
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
182
+ engines: {node: '>=12'}
183
+ cpu: [x64]
184
+ os: [darwin]
185
+ requiresBuild: true
186
+ dev: false
187
+ optional: true
188
+
189
+ /@esbuild/[email protected]:
190
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
191
+ engines: {node: '>=12'}
192
+ cpu: [x64]
193
+ os: [darwin]
194
+ requiresBuild: true
195
+ dev: true
196
+ optional: true
197
+
198
+ /@esbuild/[email protected]:
199
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
200
+ engines: {node: '>=12'}
201
+ cpu: [arm64]
202
+ os: [freebsd]
203
+ requiresBuild: true
204
+ dev: false
205
+ optional: true
206
+
207
+ /@esbuild/[email protected]:
208
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
209
+ engines: {node: '>=12'}
210
+ cpu: [arm64]
211
+ os: [freebsd]
212
+ requiresBuild: true
213
+ dev: true
214
+ optional: true
215
+
216
+ /@esbuild/[email protected]:
217
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
218
+ engines: {node: '>=12'}
219
+ cpu: [x64]
220
+ os: [freebsd]
221
+ requiresBuild: true
222
+ dev: false
223
+ optional: true
224
+
225
+ /@esbuild/[email protected]:
226
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
227
+ engines: {node: '>=12'}
228
+ cpu: [x64]
229
+ os: [freebsd]
230
+ requiresBuild: true
231
+ dev: true
232
+ optional: true
233
+
234
+ /@esbuild/[email protected]:
235
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
236
+ engines: {node: '>=12'}
237
+ cpu: [arm64]
238
+ os: [linux]
239
+ requiresBuild: true
240
+ dev: false
241
+ optional: true
242
+
243
+ /@esbuild/[email protected]:
244
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
245
+ engines: {node: '>=12'}
246
+ cpu: [arm64]
247
+ os: [linux]
248
+ requiresBuild: true
249
+ dev: true
250
+ optional: true
251
+
252
+ /@esbuild/[email protected]:
253
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
254
+ engines: {node: '>=12'}
255
+ cpu: [arm]
256
+ os: [linux]
257
+ requiresBuild: true
258
+ dev: false
259
+ optional: true
260
+
261
+ /@esbuild/[email protected]:
262
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
263
+ engines: {node: '>=12'}
264
+ cpu: [arm]
265
+ os: [linux]
266
+ requiresBuild: true
267
+ dev: true
268
+ optional: true
269
+
270
+ /@esbuild/[email protected]:
271
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
272
+ engines: {node: '>=12'}
273
+ cpu: [ia32]
274
+ os: [linux]
275
+ requiresBuild: true
276
+ dev: false
277
+ optional: true
278
+
279
+ /@esbuild/[email protected]:
280
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
281
+ engines: {node: '>=12'}
282
+ cpu: [ia32]
283
+ os: [linux]
284
+ requiresBuild: true
285
+ dev: true
286
+ optional: true
287
+
288
+ /@esbuild/[email protected]:
289
+ resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
290
+ engines: {node: '>=12'}
291
+ cpu: [loong64]
292
+ os: [linux]
293
+ requiresBuild: true
294
+ dev: true
295
+ optional: true
296
+
297
+ /@esbuild/[email protected]:
298
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
299
+ engines: {node: '>=12'}
300
+ cpu: [loong64]
301
+ os: [linux]
302
+ requiresBuild: true
303
+ dev: false
304
+ optional: true
305
+
306
+ /@esbuild/[email protected]:
307
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
308
+ engines: {node: '>=12'}
309
+ cpu: [loong64]
310
+ os: [linux]
311
+ requiresBuild: true
312
+ dev: true
313
+ optional: true
314
+
315
+ /@esbuild/[email protected]:
316
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
317
+ engines: {node: '>=12'}
318
+ cpu: [mips64el]
319
+ os: [linux]
320
+ requiresBuild: true
321
+ dev: false
322
+ optional: true
323
+
324
+ /@esbuild/[email protected]:
325
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
326
+ engines: {node: '>=12'}
327
+ cpu: [mips64el]
328
+ os: [linux]
329
+ requiresBuild: true
330
+ dev: true
331
+ optional: true
332
+
333
+ /@esbuild/[email protected]:
334
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
335
+ engines: {node: '>=12'}
336
+ cpu: [ppc64]
337
+ os: [linux]
338
+ requiresBuild: true
339
+ dev: false
340
+ optional: true
341
+
342
+ /@esbuild/[email protected]:
343
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
344
+ engines: {node: '>=12'}
345
+ cpu: [ppc64]
346
+ os: [linux]
347
+ requiresBuild: true
348
+ dev: true
349
+ optional: true
350
+
351
+ /@esbuild/[email protected]:
352
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
353
+ engines: {node: '>=12'}
354
+ cpu: [riscv64]
355
+ os: [linux]
356
+ requiresBuild: true
357
+ dev: false
358
+ optional: true
359
+
360
+ /@esbuild/[email protected]:
361
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
362
+ engines: {node: '>=12'}
363
+ cpu: [riscv64]
364
+ os: [linux]
365
+ requiresBuild: true
366
+ dev: true
367
+ optional: true
368
+
369
+ /@esbuild/[email protected]:
370
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
371
+ engines: {node: '>=12'}
372
+ cpu: [s390x]
373
+ os: [linux]
374
+ requiresBuild: true
375
+ dev: false
376
+ optional: true
377
+
378
+ /@esbuild/[email protected]:
379
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
380
+ engines: {node: '>=12'}
381
+ cpu: [s390x]
382
+ os: [linux]
383
+ requiresBuild: true
384
+ dev: true
385
+ optional: true
386
+
387
+ /@esbuild/[email protected]:
388
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
389
+ engines: {node: '>=12'}
390
+ cpu: [x64]
391
+ os: [linux]
392
+ requiresBuild: true
393
+ dev: false
394
+ optional: true
395
+
396
+ /@esbuild/[email protected]:
397
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
398
+ engines: {node: '>=12'}
399
+ cpu: [x64]
400
+ os: [linux]
401
+ requiresBuild: true
402
+ dev: true
403
+ optional: true
404
+
405
+ /@esbuild/[email protected]:
406
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
407
+ engines: {node: '>=12'}
408
+ cpu: [x64]
409
+ os: [netbsd]
410
+ requiresBuild: true
411
+ dev: false
412
+ optional: true
413
+
414
+ /@esbuild/[email protected]:
415
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
416
+ engines: {node: '>=12'}
417
+ cpu: [x64]
418
+ os: [netbsd]
419
+ requiresBuild: true
420
+ dev: true
421
+ optional: true
422
+
423
+ /@esbuild/[email protected]:
424
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
425
+ engines: {node: '>=12'}
426
+ cpu: [x64]
427
+ os: [openbsd]
428
+ requiresBuild: true
429
+ dev: false
430
+ optional: true
431
+
432
+ /@esbuild/[email protected]:
433
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
434
+ engines: {node: '>=12'}
435
+ cpu: [x64]
436
+ os: [openbsd]
437
+ requiresBuild: true
438
+ dev: true
439
+ optional: true
440
+
441
+ /@esbuild/[email protected]:
442
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
443
+ engines: {node: '>=12'}
444
+ cpu: [x64]
445
+ os: [sunos]
446
+ requiresBuild: true
447
+ dev: false
448
+ optional: true
449
+
450
+ /@esbuild/[email protected]:
451
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
452
+ engines: {node: '>=12'}
453
+ cpu: [x64]
454
+ os: [sunos]
455
+ requiresBuild: true
456
+ dev: true
457
+ optional: true
458
+
459
+ /@esbuild/[email protected]:
460
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
461
+ engines: {node: '>=12'}
462
+ cpu: [arm64]
463
+ os: [win32]
464
+ requiresBuild: true
465
+ dev: false
466
+ optional: true
467
+
468
+ /@esbuild/[email protected]:
469
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
470
+ engines: {node: '>=12'}
471
+ cpu: [arm64]
472
+ os: [win32]
473
+ requiresBuild: true
474
+ dev: true
475
+ optional: true
476
+
477
+ /@esbuild/[email protected]:
478
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
479
+ engines: {node: '>=12'}
480
+ cpu: [ia32]
481
+ os: [win32]
482
+ requiresBuild: true
483
+ dev: false
484
+ optional: true
485
+
486
+ /@esbuild/[email protected]:
487
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
488
+ engines: {node: '>=12'}
489
+ cpu: [ia32]
490
+ os: [win32]
491
+ requiresBuild: true
492
+ dev: true
493
+ optional: true
494
+
495
+ /@esbuild/[email protected]:
496
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
497
+ engines: {node: '>=12'}
498
+ cpu: [x64]
499
+ os: [win32]
500
+ requiresBuild: true
501
+ dev: false
502
+ optional: true
503
+
504
+ /@esbuild/[email protected]:
505
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
506
+ engines: {node: '>=12'}
507
+ cpu: [x64]
508
+ os: [win32]
509
+ requiresBuild: true
510
+ dev: true
511
+ optional: true
512
+
513
+ /@formatjs/[email protected]:
514
+ resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
515
+ dependencies:
516
+ '@formatjs/intl-localematcher': 0.2.25
517
+ tslib: 2.6.2
518
+ dev: false
519
+
520
+ /@formatjs/[email protected]:
521
+ resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==}
522
+ dependencies:
523
+ tslib: 2.6.2
524
+ dev: false
525
+
526
+ /@formatjs/[email protected]:
527
+ resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==}
528
+ dependencies:
529
+ '@formatjs/ecma402-abstract': 1.11.4
530
+ '@formatjs/icu-skeleton-parser': 1.3.6
531
+ tslib: 2.6.2
532
+ dev: false
533
+
534
+ /@formatjs/[email protected]:
535
+ resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==}
536
+ dependencies:
537
+ '@formatjs/ecma402-abstract': 1.11.4
538
+ tslib: 2.6.2
539
+ dev: false
540
+
541
+ /@formatjs/[email protected]:
542
+ resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==}
543
+ dependencies:
544
+ tslib: 2.6.2
545
+ dev: false
546
+
547
548
+ resolution: {integrity: sha512-tdQ1B9CYCNBodj1jKRG9aiNdzsQ2w8EszqsMcMxaoMrUNVU3OvBCxGXPNba86mXveP/bDnVoDfk/I9ef+ZYb1Q==}
549
+ dependencies:
550
+ '@gradio/icons': 0.4.0
551
+ '@gradio/utils': 0.4.0([email protected])
552
+ transitivePeerDependencies:
553
+ - svelte
554
+ dev: false
555
+
556
+ /@gradio/[email protected]:
557
+ resolution: {integrity: sha512-1f00UtwOLzj+pfHzyA8Avp+xR3/7O5I/YXgseq3gHRxjeY1kjwXQ4eXi9Ks8f6IguHSb7hFOW2SnFLjBbaz5bQ==}
558
+ engines: {node: '>=18.0.0'}
559
+ dependencies:
560
+ bufferutil: 4.0.8
561
+ semiver: 1.1.0
562
+ typescript: 5.4.5
563
+ ws: 8.16.0([email protected])
564
+ transitivePeerDependencies:
565
+ - utf-8-validate
566
+ dev: false
567
+
568
+ /@gradio/[email protected]:
569
+ resolution: {integrity: sha512-0+7Nf/PGmbaz4jQ5cxIxneqv7V+iknT17sknL7w1a5pB6B8aqzogkwe8GdACRkq1MjWQb8wZiaJFFJZKnioLhg==}
570
+ dev: false
571
+
572
+ /@gradio/[email protected]:
573
+ resolution: {integrity: sha512-yQqmgNql1HzN/+NG6EfRBWTyXA7zxKwtKYfP8jiVo1LZXlfd+oUt8pSrUfLGiGgqTsoMUXsbmdQpifVVg9U6yA==}
574
+ dev: false
575
+
576
577
+ resolution: {integrity: sha512-HY6hMzfkvo4lL2C2nyiQDfCtFSOWLTjjhFFlT168t57MCsHKAEJlc96s3vK2O3KsCQbFYp9HGdkFr+Z8f2PYIQ==}
578
+ dependencies:
579
+ '@originjs/vite-plugin-commonjs': 1.0.3
580
+ '@rollup/plugin-sucrase': 5.0.2
581
+ '@sveltejs/vite-plugin-svelte': 3.1.0([email protected])([email protected])
582
+ '@types/which': 3.0.3
583
+ coffeescript: 2.7.0
584
+ lightningcss: 1.24.1
585
+ pug: 3.0.2
586
+ sass: 1.75.0
587
+ stylus: 0.63.0
588
+ sucrase: 3.35.0
589
+ sugarss: 4.0.1([email protected])
590
+ svelte-hmr: 0.16.0([email protected])
591
592
+ typescript: 5.4.5
593
594
+ which: 4.0.0
595
+ yootils: 0.3.1
596
+ transitivePeerDependencies:
597
+ - '@babel/core'
598
+ - '@types/node'
599
+ - less
600
+ - postcss
601
+ - postcss-load-config
602
+ - rollup
603
+ - supports-color
604
+ - svelte
605
+ - terser
606
+ dev: true
607
+
608
609
+ resolution: {integrity: sha512-qjnEDWc1snf7ExNJMa/qcpAK6FBu64YFA815vV0THAcdvuFSCQa/nocC/+K7QF07r7Nl4ThsBtK68TiC4V4XbA==}
610
+ dependencies:
611
+ '@gradio/atoms': 0.7.1([email protected])
612
+ '@gradio/column': 0.1.1
613
+ '@gradio/icons': 0.4.0
614
+ '@gradio/utils': 0.4.0([email protected])
615
+ transitivePeerDependencies:
616
+ - svelte
617
+ dev: false
618
+
619
+ /@gradio/[email protected]:
620
+ resolution: {integrity: sha512-aOjh7+BWK8WRpQBC2leFZBLyek6D0GO9KkWjystoZRwH1r+l6eBli2BDPPO/ljpJChO3HsOFpJsWA97JjQNe2g==}
621
+ dev: false
622
+
623
624
+ resolution: {integrity: sha512-OBvpb1vQWRNHOrxjxDuJhwx4GqVfETJchqiMGio/tW2bLuN/cricp0uttanG6TJTvPVb9Y5QcXc7adbDhQVauQ==}
625
+ dependencies:
626
+ '@gradio/atoms': 0.7.1([email protected])
627
+ '@gradio/client': 0.17.0
628
+ '@gradio/icons': 0.4.0
629
+ '@gradio/utils': 0.4.0([email protected])
630
+ '@gradio/wasm': 0.10.0
631
+ transitivePeerDependencies:
632
+ - svelte
633
+ - utf-8-validate
634
+ dev: false
635
+
636
637
+ resolution: {integrity: sha512-YTxuxQiKnHuTD90yybB+0mOnbE9gNZYLA7cNePP71pMuxWcdQrZdd7Zz1z3vzfpJ86C5cIx3K+rH3P+8weZlfg==}
638
+ dependencies:
639
+ '@gradio/theme': 0.2.2
640
+ svelte-i18n: 3.7.4([email protected])
641
+ transitivePeerDependencies:
642
+ - svelte
643
+ dev: false
644
+
645
+ /@gradio/[email protected]:
646
+ resolution: {integrity: sha512-ephuiuimvMad6KzNPz/3OdnjgE5wsJdVfAAqu+J0qloetbH42LfeRLsVe5WqGo2WpjzXq5MC8I8MJ7lpQMhUpw==}
647
+ dependencies:
648
+ '@types/path-browserify': 1.0.2
649
+ path-browserify: 1.0.1
650
+ dev: false
651
+
652
+ /@isaacs/[email protected]:
653
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
654
+ engines: {node: '>=12'}
655
+ dependencies:
656
+ string-width: 5.1.2
657
+ string-width-cjs: /[email protected]
658
+ strip-ansi: 7.1.0
659
+ strip-ansi-cjs: /[email protected]
660
+ wrap-ansi: 8.1.0
661
+ wrap-ansi-cjs: /[email protected]
662
+ dev: true
663
+
664
+ /@jridgewell/[email protected]:
665
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
666
+ engines: {node: '>=6.0.0'}
667
+ dependencies:
668
+ '@jridgewell/set-array': 1.2.1
669
+ '@jridgewell/sourcemap-codec': 1.4.15
670
+ '@jridgewell/trace-mapping': 0.3.25
671
+
672
+ /@jridgewell/[email protected]:
673
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
674
+ engines: {node: '>=6.0.0'}
675
+
676
+ /@jridgewell/[email protected]:
677
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
678
+ engines: {node: '>=6.0.0'}
679
+
680
+ /@jridgewell/[email protected]:
681
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
682
+
683
+ /@jridgewell/[email protected]:
684
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
685
+ dependencies:
686
+ '@jridgewell/resolve-uri': 3.1.2
687
+ '@jridgewell/sourcemap-codec': 1.4.15
688
+
689
+ /@originjs/[email protected]:
690
+ resolution: {integrity: sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==}
691
+ dependencies:
692
+ esbuild: 0.14.54
693
+ dev: true
694
+
695
+ /@pkgjs/[email protected]:
696
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
697
+ engines: {node: '>=14'}
698
+ requiresBuild: true
699
+ dev: true
700
+ optional: true
701
+
702
+ /@rollup/[email protected]:
703
+ resolution: {integrity: sha512-4MhIVH9Dy2Hwose1/x5QMs0XF7yn9jDd/yozHqzdIrMWIolgFpGnrnVhQkqTaK1RALY/fpyrEKmwH/04vr1THA==}
704
+ engines: {node: '>=14.0.0'}
705
+ peerDependencies:
706
+ rollup: ^2.53.1||^3.0.0||^4.0.0
707
+ peerDependenciesMeta:
708
+ rollup:
709
+ optional: true
710
+ dependencies:
711
+ '@rollup/pluginutils': 5.1.0
712
+ sucrase: 3.35.0
713
+ dev: true
714
+
715
+ /@rollup/[email protected]:
716
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
717
+ engines: {node: '>=14.0.0'}
718
+ peerDependencies:
719
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
720
+ peerDependenciesMeta:
721
+ rollup:
722
+ optional: true
723
+ dependencies:
724
+ '@types/estree': 1.0.5
725
+ estree-walker: 2.0.2
726
+ picomatch: 2.3.1
727
+ dev: true
728
+
729
+ /@rollup/[email protected]:
730
+ resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==}
731
+ cpu: [arm]
732
+ os: [android]
733
+ requiresBuild: true
734
+ dev: true
735
+ optional: true
736
+
737
+ /@rollup/[email protected]:
738
+ resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==}
739
+ cpu: [arm64]
740
+ os: [android]
741
+ requiresBuild: true
742
+ dev: true
743
+ optional: true
744
+
745
+ /@rollup/[email protected]:
746
+ resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==}
747
+ cpu: [arm64]
748
+ os: [darwin]
749
+ requiresBuild: true
750
+ dev: true
751
+ optional: true
752
+
753
+ /@rollup/[email protected]:
754
+ resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==}
755
+ cpu: [x64]
756
+ os: [darwin]
757
+ requiresBuild: true
758
+ dev: true
759
+ optional: true
760
+
761
+ /@rollup/[email protected]:
762
+ resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==}
763
+ cpu: [arm]
764
+ os: [linux]
765
+ requiresBuild: true
766
+ dev: true
767
+ optional: true
768
+
769
+ /@rollup/[email protected]:
770
+ resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==}
771
+ cpu: [arm]
772
+ os: [linux]
773
+ requiresBuild: true
774
+ dev: true
775
+ optional: true
776
+
777
+ /@rollup/[email protected]:
778
+ resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==}
779
+ cpu: [arm64]
780
+ os: [linux]
781
+ requiresBuild: true
782
+ dev: true
783
+ optional: true
784
+
785
+ /@rollup/[email protected]:
786
+ resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==}
787
+ cpu: [arm64]
788
+ os: [linux]
789
+ requiresBuild: true
790
+ dev: true
791
+ optional: true
792
+
793
+ /@rollup/[email protected]:
794
+ resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==}
795
+ cpu: [ppc64]
796
+ os: [linux]
797
+ requiresBuild: true
798
+ dev: true
799
+ optional: true
800
+
801
+ /@rollup/[email protected]:
802
+ resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==}
803
+ cpu: [riscv64]
804
+ os: [linux]
805
+ requiresBuild: true
806
+ dev: true
807
+ optional: true
808
+
809
+ /@rollup/[email protected]:
810
+ resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==}
811
+ cpu: [s390x]
812
+ os: [linux]
813
+ requiresBuild: true
814
+ dev: true
815
+ optional: true
816
+
817
+ /@rollup/[email protected]:
818
+ resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==}
819
+ cpu: [x64]
820
+ os: [linux]
821
+ requiresBuild: true
822
+ dev: true
823
+ optional: true
824
+
825
+ /@rollup/[email protected]:
826
+ resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==}
827
+ cpu: [x64]
828
+ os: [linux]
829
+ requiresBuild: true
830
+ dev: true
831
+ optional: true
832
+
833
+ /@rollup/[email protected]:
834
+ resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==}
835
+ cpu: [arm64]
836
+ os: [win32]
837
+ requiresBuild: true
838
+ dev: true
839
+ optional: true
840
+
841
+ /@rollup/[email protected]:
842
+ resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==}
843
+ cpu: [ia32]
844
+ os: [win32]
845
+ requiresBuild: true
846
+ dev: true
847
+ optional: true
848
+
849
+ /@rollup/[email protected]:
850
+ resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==}
851
+ cpu: [x64]
852
+ os: [win32]
853
+ requiresBuild: true
854
+ dev: true
855
+ optional: true
856
+
857
858
+ resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==}
859
+ engines: {node: ^18.0.0 || >=20}
860
+ peerDependencies:
861
+ '@sveltejs/vite-plugin-svelte': ^3.0.0
862
+ svelte: ^4.0.0 || ^5.0.0-next.0
863
+ vite: ^5.0.0
864
+ dependencies:
865
+ '@sveltejs/vite-plugin-svelte': 3.1.0([email protected])([email protected])
866
+ debug: 4.3.4
867
+ svelte: 4.2.15
868
869
+ transitivePeerDependencies:
870
+ - supports-color
871
+ dev: true
872
+
873
874
+ resolution: {integrity: sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==}
875
+ engines: {node: ^18.0.0 || >=20}
876
+ peerDependencies:
877
+ svelte: ^4.0.0 || ^5.0.0-next.0
878
+ vite: ^5.0.0
879
+ dependencies:
880
+ '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/[email protected])([email protected])([email protected])
881
+ debug: 4.3.4
882
+ deepmerge: 4.3.1
883
+ kleur: 4.1.5
884
+ magic-string: 0.30.10
885
+ svelte: 4.2.15
886
+ svelte-hmr: 0.16.0([email protected])
887
888
+ vitefu: 0.2.5([email protected])
889
+ transitivePeerDependencies:
890
+ - supports-color
891
+ dev: true
892
+
893
+ /@tailwindcss/[email protected]:
894
+ resolution: {integrity: sha512-9ssgbWrn0VwcEtni5aBVrP/QXPWhpryXs4HJlqTz1HQTdjWHBF8bObBKxeixq3vVACLvjHm922jHirpvejiUYQ==}
895
+ engines: {node: '>= 10'}
896
+ cpu: [arm64]
897
+ os: [android]
898
+ requiresBuild: true
899
+ dev: true
900
+ optional: true
901
+
902
+ /@tailwindcss/[email protected]:
903
+ resolution: {integrity: sha512-TMbwZb2Jg5Xf0KtYRp0CoVzNdTrOGZkhPcdIPbqkHouzhtvynyd/iD6e4aCpm0RqPICg3MLguPu81kO3lEJu9g==}
904
+ engines: {node: '>= 10'}
905
+ cpu: [arm64]
906
+ os: [darwin]
907
+ requiresBuild: true
908
+ dev: true
909
+ optional: true
910
+
911
+ /@tailwindcss/[email protected]:
912
+ resolution: {integrity: sha512-aOPlkpptgDmCRbbqqYYhotnFvVDMQ8x6VjRp2kDVNdEtzoCLClAjDutERIC7CGUusX796RvGPLgkKd8YWNi+8w==}
913
+ engines: {node: '>= 10'}
914
+ cpu: [x64]
915
+ os: [darwin]
916
+ requiresBuild: true
917
+ dev: true
918
+ optional: true
919
+
920
+ /@tailwindcss/[email protected]:
921
+ resolution: {integrity: sha512-YVgGduxowoA0qqTvsMZLfTAVm7mwwixlyuTTDyoQiQc4gXm3HhIamFTEiAY9xafUZysbdPMs+ITxXFb22SxIUg==}
922
+ engines: {node: '>= 10'}
923
+ cpu: [x64]
924
+ os: [freebsd]
925
+ requiresBuild: true
926
+ dev: true
927
+ optional: true
928
+
929
+ /@tailwindcss/[email protected]:
930
+ resolution: {integrity: sha512-avhbIj1rsXX5VSGlv29wdbNumPjPz86IBmbTRbAbXV6PRqGIDPika/0TZGo3IDAaevsXU2xc1HkVqBeZ/Hj5AQ==}
931
+ engines: {node: '>= 10'}
932
+ cpu: [arm]
933
+ os: [linux]
934
+ requiresBuild: true
935
+ dev: true
936
+ optional: true
937
+
938
+ /@tailwindcss/[email protected]:
939
+ resolution: {integrity: sha512-NQKcFIb3xii3CSusisWR/0EH1sJfvF6I90XGi+geTdHXv77bU/McpMshrtPMcMHkbQqVlJbnJ2ttDN+zae3lcA==}
940
+ engines: {node: '>= 10'}
941
+ cpu: [arm64]
942
+ os: [linux]
943
+ requiresBuild: true
944
+ dev: true
945
+ optional: true
946
+
947
+ /@tailwindcss/[email protected]:
948
+ resolution: {integrity: sha512-bUYWc/jA5Kx2pESuGO7gRA5L1Hy/Jo8/ERbs/Pq5aXdNN+lllh4OEKCCjb02GSQvj7jsmPt8OAJifcur7sYUdg==}
949
+ engines: {node: '>= 10'}
950
+ cpu: [arm64]
951
+ os: [linux]
952
+ requiresBuild: true
953
+ dev: true
954
+ optional: true
955
+
956
+ /@tailwindcss/[email protected]:
957
+ resolution: {integrity: sha512-+FCUYOLBU9KTCxAY2NNfVgsvJ1dbNfTuhV13iIsrXTuEvu/P69H8YJzoiNB5oTPPgrKnClVj/KWw9n+GycHvEQ==}
958
+ engines: {node: '>= 10'}
959
+ cpu: [x64]
960
+ os: [linux]
961
+ requiresBuild: true
962
+ dev: true
963
+ optional: true
964
+
965
+ /@tailwindcss/[email protected]:
966
+ resolution: {integrity: sha512-zl3iXwC1of+7pCyByIvYpQ88JZrwfWT0dETfJHuWYSuO8NSjU93oQHFV79UZTYqD9XkUevrQBNQCd5s5/7QS8g==}
967
+ engines: {node: '>= 10'}
968
+ cpu: [x64]
969
+ os: [linux]
970
+ requiresBuild: true
971
+ dev: true
972
+ optional: true
973
+
974
+ /@tailwindcss/[email protected]:
975
+ resolution: {integrity: sha512-IKaiQO/XxpuCv7ZpVngMaJEoswCqM7ncByHY68YRXkNH1tBVJl1H2Hz/jej7ziBlvEDvBY4qFgeJJAhh/tOiMQ==}
976
+ engines: {node: '>= 10'}
977
+ cpu: [x64]
978
+ os: [win32]
979
+ requiresBuild: true
980
+ dev: true
981
+ optional: true
982
+
983
+ /@tailwindcss/[email protected]:
984
+ resolution: {integrity: sha512-KpYsgwFd1I9UeqoCtBF62KXYKkp1RuxJm26M0EGTHVvUV+Cln0KZaouKJ1/7mqH8hD/TrzIwX5cGVMb2ShM4Qg==}
985
+ engines: {node: '>= 10'}
986
+ optionalDependencies:
987
+ '@tailwindcss/oxide-android-arm64': 4.0.0-alpha.14
988
+ '@tailwindcss/oxide-darwin-arm64': 4.0.0-alpha.14
989
+ '@tailwindcss/oxide-darwin-x64': 4.0.0-alpha.14
990
+ '@tailwindcss/oxide-freebsd-x64': 4.0.0-alpha.14
991
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0-alpha.14
992
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0-alpha.14
993
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.0-alpha.14
994
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.0-alpha.14
995
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.0-alpha.14
996
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.0-alpha.14
997
+ dev: true
998
+
999
1000
+ resolution: {integrity: sha512-tvKPP948JrgSR1Ig5ogLYEn1h4FW36W3p0eCGFGJV++NF7QsBh0j98HydrhvQDxsC9jZ037yGWUOc4VPMbt22g==}
1001
+ peerDependencies:
1002
+ vite: ^5.2.0
1003
+ dependencies:
1004
+ '@tailwindcss/oxide': 4.0.0-alpha.14
1005
+ lightningcss: 1.24.1
1006
+ tailwindcss: 4.0.0-alpha.14
1007
1008
+ dev: true
1009
+
1010
+ /@types/[email protected]:
1011
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
1012
+
1013
+ /@types/[email protected]:
1014
+ resolution: {integrity: sha512-ZkC5IUqqIFPXx3ASTTybTzmQdwHwe2C0u3eL75ldQ6T9E9IWFJodn6hIfbZGab73DfyiHN4Xw15gNxUq2FbvBA==}
1015
+ dev: false
1016
+
1017
+ /@types/[email protected]:
1018
+ resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
1019
+ dev: true
1020
+
1021
+ /@types/[email protected]:
1022
+ resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==}
1023
+ dev: true
1024
+
1025
1026
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
1027
+ engines: {node: '>=0.4.0'}
1028
+ hasBin: true
1029
+ dev: true
1030
+
1031
1032
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
1033
+ engines: {node: '>=0.4.0'}
1034
+ hasBin: true
1035
+
1036
1037
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1038
+ engines: {node: '>=8'}
1039
+ dev: true
1040
+
1041
1042
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
1043
+ engines: {node: '>=12'}
1044
+ dev: true
1045
+
1046
1047
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1048
+ engines: {node: '>=8'}
1049
+ dependencies:
1050
+ color-convert: 2.0.1
1051
+ dev: true
1052
+
1053
1054
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
1055
+ engines: {node: '>=12'}
1056
+ dev: true
1057
+
1058
1059
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
1060
+ dev: true
1061
+
1062
1063
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
1064
+ engines: {node: '>= 8'}
1065
+ dependencies:
1066
+ normalize-path: 3.0.0
1067
+ picomatch: 2.3.1
1068
+ dev: true
1069
+
1070
1071
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
1072
+ dependencies:
1073
+ dequal: 2.0.3
1074
+
1075
1076
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
1077
+ dev: true
1078
+
1079
1080
+ resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==}
1081
+ dev: true
1082
+
1083
1084
+ resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
1085
+ dependencies:
1086
+ dequal: 2.0.3
1087
+
1088
1089
+ resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
1090
+ engines: {node: '>= 10.0.0'}
1091
+ dependencies:
1092
+ '@babel/types': 7.24.0
1093
+ dev: true
1094
+
1095
1096
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1097
+ dev: true
1098
+
1099
1100
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
1101
+ engines: {node: '>=8'}
1102
+ dev: true
1103
+
1104
1105
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1106
+ dependencies:
1107
+ balanced-match: 1.0.2
1108
+ concat-map: 0.0.1
1109
+ dev: true
1110
+
1111
1112
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
1113
+ dependencies:
1114
+ balanced-match: 1.0.2
1115
+ dev: true
1116
+
1117
1118
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1119
+ engines: {node: '>=8'}
1120
+ dependencies:
1121
+ fill-range: 7.0.1
1122
+ dev: true
1123
+
1124
1125
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
1126
+ dev: true
1127
+
1128
1129
+ resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
1130
+ engines: {node: '>=6.14.2'}
1131
+ requiresBuild: true
1132
+ dependencies:
1133
+ node-gyp-build: 4.8.0
1134
+ dev: false
1135
+
1136
1137
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
1138
+ engines: {node: '>= 0.4'}
1139
+ dependencies:
1140
+ es-define-property: 1.0.0
1141
+ es-errors: 1.3.0
1142
+ function-bind: 1.1.2
1143
+ get-intrinsic: 1.2.4
1144
+ set-function-length: 1.2.2
1145
+ dev: true
1146
+
1147
1148
+ resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==}
1149
+ dependencies:
1150
+ is-regex: 1.1.4
1151
+ dev: true
1152
+
1153
1154
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
1155
+ engines: {node: '>= 8.10.0'}
1156
+ dependencies:
1157
+ anymatch: 3.1.3
1158
+ braces: 3.0.2
1159
+ glob-parent: 5.1.2
1160
+ is-binary-path: 2.1.0
1161
+ is-glob: 4.0.3
1162
+ normalize-path: 3.0.0
1163
+ readdirp: 3.6.0
1164
+ optionalDependencies:
1165
+ fsevents: 2.3.3
1166
+ dev: true
1167
+
1168
1169
+ resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
1170
+ engines: {node: '>=0.10'}
1171
+ dependencies:
1172
+ d: 1.0.2
1173
+ es5-ext: 0.10.64
1174
+ es6-iterator: 2.0.3
1175
+ memoizee: 0.4.15
1176
+ timers-ext: 0.1.7
1177
+ dev: false
1178
+
1179
1180
+ resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
1181
+ dependencies:
1182
+ '@jridgewell/sourcemap-codec': 1.4.15
1183
+ '@types/estree': 1.0.5
1184
+ acorn: 8.11.3
1185
+ estree-walker: 3.0.3
1186
+ periscopic: 3.1.0
1187
+
1188
1189
+ resolution: {integrity: sha512-hzWp6TUE2d/jCcN67LrW1eh5b/rSDKQK6oD6VMLlggYVUUFexgTH9z3dNYihzX4RMhze5FTUsUmOXViJKFQR/A==}
1190
+ engines: {node: '>=6'}
1191
+ hasBin: true
1192
+ dev: true
1193
+
1194
1195
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1196
+ engines: {node: '>=7.0.0'}
1197
+ dependencies:
1198
+ color-name: 1.1.4
1199
+ dev: true
1200
+
1201
1202
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1203
+ dev: true
1204
+
1205
1206
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1207
+ engines: {node: '>= 6'}
1208
+ dev: true
1209
+
1210
1211
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1212
+ dev: true
1213
+
1214
1215
+ resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
1216
+ dependencies:
1217
+ '@babel/parser': 7.24.4
1218
+ '@babel/types': 7.24.0
1219
+ dev: true
1220
+
1221
1222
+ resolution: {integrity: sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA==}
1223
+ dev: false
1224
+
1225
1226
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1227
+ engines: {node: '>= 8'}
1228
+ dependencies:
1229
+ path-key: 3.1.1
1230
+ shebang-command: 2.0.0
1231
+ which: 2.0.2
1232
+ dev: true
1233
+
1234
1235
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
1236
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
1237
+ dependencies:
1238
+ mdn-data: 2.0.30
1239
+ source-map-js: 1.2.0
1240
+
1241
1242
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
1243
+ engines: {node: '>=0.12'}
1244
+ dependencies:
1245
+ es5-ext: 0.10.64
1246
+ type: 2.7.2
1247
+ dev: false
1248
+
1249
1250
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1251
+ engines: {node: '>=6.0'}
1252
+ peerDependencies:
1253
+ supports-color: '*'
1254
+ peerDependenciesMeta:
1255
+ supports-color:
1256
+ optional: true
1257
+ dependencies:
1258
+ ms: 2.1.2
1259
+ dev: true
1260
+
1261
1262
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
1263
+ engines: {node: '>=0.10.0'}
1264
+
1265
1266
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
1267
+ engines: {node: '>= 0.4'}
1268
+ dependencies:
1269
+ es-define-property: 1.0.0
1270
+ es-errors: 1.3.0
1271
+ gopd: 1.0.1
1272
+ dev: true
1273
+
1274
1275
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1276
+ engines: {node: '>=6'}
1277
+
1278
1279
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
1280
+ engines: {node: '>=8'}
1281
+ dev: true
1282
+
1283
1284
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
1285
+ engines: {node: '>=0.10'}
1286
+ hasBin: true
1287
+ dev: true
1288
+
1289
1290
+ resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==}
1291
+ dev: true
1292
+
1293
1294
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
1295
+ dev: true
1296
+
1297
1298
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1299
+ dev: true
1300
+
1301
1302
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1303
+ dev: true
1304
+
1305
1306
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
1307
+ engines: {node: '>= 0.4'}
1308
+ dependencies:
1309
+ get-intrinsic: 1.2.4
1310
+ dev: true
1311
+
1312
1313
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
1314
+ engines: {node: '>= 0.4'}
1315
+ dev: true
1316
+
1317
1318
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
1319
+ engines: {node: '>=0.10'}
1320
+ requiresBuild: true
1321
+ dependencies:
1322
+ es6-iterator: 2.0.3
1323
+ es6-symbol: 3.1.4
1324
+ esniff: 2.0.1
1325
+ next-tick: 1.1.0
1326
+ dev: false
1327
+
1328
1329
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
1330
+ dependencies:
1331
+ d: 1.0.2
1332
+ es5-ext: 0.10.64
1333
+ es6-symbol: 3.1.4
1334
+ dev: false
1335
+
1336
1337
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
1338
+ dev: true
1339
+
1340
1341
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
1342
+ engines: {node: '>=0.12'}
1343
+ dependencies:
1344
+ d: 1.0.2
1345
+ ext: 1.7.0
1346
+ dev: false
1347
+
1348
1349
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
1350
+ dependencies:
1351
+ d: 1.0.2
1352
+ es5-ext: 0.10.64
1353
+ es6-iterator: 2.0.3
1354
+ es6-symbol: 3.1.4
1355
+ dev: false
1356
+
1357
1358
+ resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
1359
+ engines: {node: '>=12'}
1360
+ cpu: [x64]
1361
+ os: [android]
1362
+ requiresBuild: true
1363
+ dev: true
1364
+ optional: true
1365
+
1366
1367
+ resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
1368
+ engines: {node: '>=12'}
1369
+ cpu: [arm64]
1370
+ os: [android]
1371
+ requiresBuild: true
1372
+ dev: true
1373
+ optional: true
1374
+
1375
1376
+ resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
1377
+ engines: {node: '>=12'}
1378
+ cpu: [x64]
1379
+ os: [darwin]
1380
+ requiresBuild: true
1381
+ dev: true
1382
+ optional: true
1383
+
1384
1385
+ resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
1386
+ engines: {node: '>=12'}
1387
+ cpu: [arm64]
1388
+ os: [darwin]
1389
+ requiresBuild: true
1390
+ dev: true
1391
+ optional: true
1392
+
1393
1394
+ resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
1395
+ engines: {node: '>=12'}
1396
+ cpu: [x64]
1397
+ os: [freebsd]
1398
+ requiresBuild: true
1399
+ dev: true
1400
+ optional: true
1401
+
1402
1403
+ resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
1404
+ engines: {node: '>=12'}
1405
+ cpu: [arm64]
1406
+ os: [freebsd]
1407
+ requiresBuild: true
1408
+ dev: true
1409
+ optional: true
1410
+
1411
1412
+ resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
1413
+ engines: {node: '>=12'}
1414
+ cpu: [ia32]
1415
+ os: [linux]
1416
+ requiresBuild: true
1417
+ dev: true
1418
+ optional: true
1419
+
1420
1421
+ resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
1422
+ engines: {node: '>=12'}
1423
+ cpu: [x64]
1424
+ os: [linux]
1425
+ requiresBuild: true
1426
+ dev: true
1427
+ optional: true
1428
+
1429
1430
+ resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
1431
+ engines: {node: '>=12'}
1432
+ cpu: [arm64]
1433
+ os: [linux]
1434
+ requiresBuild: true
1435
+ dev: true
1436
+ optional: true
1437
+
1438
1439
+ resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
1440
+ engines: {node: '>=12'}
1441
+ cpu: [arm]
1442
+ os: [linux]
1443
+ requiresBuild: true
1444
+ dev: true
1445
+ optional: true
1446
+
1447
1448
+ resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
1449
+ engines: {node: '>=12'}
1450
+ cpu: [mips64el]
1451
+ os: [linux]
1452
+ requiresBuild: true
1453
+ dev: true
1454
+ optional: true
1455
+
1456
1457
+ resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
1458
+ engines: {node: '>=12'}
1459
+ cpu: [ppc64]
1460
+ os: [linux]
1461
+ requiresBuild: true
1462
+ dev: true
1463
+ optional: true
1464
+
1465
1466
+ resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
1467
+ engines: {node: '>=12'}
1468
+ cpu: [riscv64]
1469
+ os: [linux]
1470
+ requiresBuild: true
1471
+ dev: true
1472
+ optional: true
1473
+
1474
1475
+ resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
1476
+ engines: {node: '>=12'}
1477
+ cpu: [s390x]
1478
+ os: [linux]
1479
+ requiresBuild: true
1480
+ dev: true
1481
+ optional: true
1482
+
1483
1484
+ resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
1485
+ engines: {node: '>=12'}
1486
+ cpu: [x64]
1487
+ os: [netbsd]
1488
+ requiresBuild: true
1489
+ dev: true
1490
+ optional: true
1491
+
1492
1493
+ resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
1494
+ engines: {node: '>=12'}
1495
+ cpu: [x64]
1496
+ os: [openbsd]
1497
+ requiresBuild: true
1498
+ dev: true
1499
+ optional: true
1500
+
1501
1502
+ resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
1503
+ engines: {node: '>=12'}
1504
+ cpu: [x64]
1505
+ os: [sunos]
1506
+ requiresBuild: true
1507
+ dev: true
1508
+ optional: true
1509
+
1510
1511
+ resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
1512
+ engines: {node: '>=12'}
1513
+ cpu: [ia32]
1514
+ os: [win32]
1515
+ requiresBuild: true
1516
+ dev: true
1517
+ optional: true
1518
+
1519
1520
+ resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
1521
+ engines: {node: '>=12'}
1522
+ cpu: [x64]
1523
+ os: [win32]
1524
+ requiresBuild: true
1525
+ dev: true
1526
+ optional: true
1527
+
1528
1529
+ resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
1530
+ engines: {node: '>=12'}
1531
+ cpu: [arm64]
1532
+ os: [win32]
1533
+ requiresBuild: true
1534
+ dev: true
1535
+ optional: true
1536
+
1537
1538
+ resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
1539
+ engines: {node: '>=12'}
1540
+ hasBin: true
1541
+ requiresBuild: true
1542
+ optionalDependencies:
1543
+ '@esbuild/linux-loong64': 0.14.54
1544
+ esbuild-android-64: 0.14.54
1545
+ esbuild-android-arm64: 0.14.54
1546
+ esbuild-darwin-64: 0.14.54
1547
+ esbuild-darwin-arm64: 0.14.54
1548
+ esbuild-freebsd-64: 0.14.54
1549
+ esbuild-freebsd-arm64: 0.14.54
1550
+ esbuild-linux-32: 0.14.54
1551
+ esbuild-linux-64: 0.14.54
1552
+ esbuild-linux-arm: 0.14.54
1553
+ esbuild-linux-arm64: 0.14.54
1554
+ esbuild-linux-mips64le: 0.14.54
1555
+ esbuild-linux-ppc64le: 0.14.54
1556
+ esbuild-linux-riscv64: 0.14.54
1557
+ esbuild-linux-s390x: 0.14.54
1558
+ esbuild-netbsd-64: 0.14.54
1559
+ esbuild-openbsd-64: 0.14.54
1560
+ esbuild-sunos-64: 0.14.54
1561
+ esbuild-windows-32: 0.14.54
1562
+ esbuild-windows-64: 0.14.54
1563
+ esbuild-windows-arm64: 0.14.54
1564
+ dev: true
1565
+
1566
1567
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
1568
+ engines: {node: '>=12'}
1569
+ hasBin: true
1570
+ requiresBuild: true
1571
+ optionalDependencies:
1572
+ '@esbuild/aix-ppc64': 0.19.12
1573
+ '@esbuild/android-arm': 0.19.12
1574
+ '@esbuild/android-arm64': 0.19.12
1575
+ '@esbuild/android-x64': 0.19.12
1576
+ '@esbuild/darwin-arm64': 0.19.12
1577
+ '@esbuild/darwin-x64': 0.19.12
1578
+ '@esbuild/freebsd-arm64': 0.19.12
1579
+ '@esbuild/freebsd-x64': 0.19.12
1580
+ '@esbuild/linux-arm': 0.19.12
1581
+ '@esbuild/linux-arm64': 0.19.12
1582
+ '@esbuild/linux-ia32': 0.19.12
1583
+ '@esbuild/linux-loong64': 0.19.12
1584
+ '@esbuild/linux-mips64el': 0.19.12
1585
+ '@esbuild/linux-ppc64': 0.19.12
1586
+ '@esbuild/linux-riscv64': 0.19.12
1587
+ '@esbuild/linux-s390x': 0.19.12
1588
+ '@esbuild/linux-x64': 0.19.12
1589
+ '@esbuild/netbsd-x64': 0.19.12
1590
+ '@esbuild/openbsd-x64': 0.19.12
1591
+ '@esbuild/sunos-x64': 0.19.12
1592
+ '@esbuild/win32-arm64': 0.19.12
1593
+ '@esbuild/win32-ia32': 0.19.12
1594
+ '@esbuild/win32-x64': 0.19.12
1595
+ dev: false
1596
+
1597
1598
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
1599
+ engines: {node: '>=12'}
1600
+ hasBin: true
1601
+ requiresBuild: true
1602
+ optionalDependencies:
1603
+ '@esbuild/aix-ppc64': 0.20.2
1604
+ '@esbuild/android-arm': 0.20.2
1605
+ '@esbuild/android-arm64': 0.20.2
1606
+ '@esbuild/android-x64': 0.20.2
1607
+ '@esbuild/darwin-arm64': 0.20.2
1608
+ '@esbuild/darwin-x64': 0.20.2
1609
+ '@esbuild/freebsd-arm64': 0.20.2
1610
+ '@esbuild/freebsd-x64': 0.20.2
1611
+ '@esbuild/linux-arm': 0.20.2
1612
+ '@esbuild/linux-arm64': 0.20.2
1613
+ '@esbuild/linux-ia32': 0.20.2
1614
+ '@esbuild/linux-loong64': 0.20.2
1615
+ '@esbuild/linux-mips64el': 0.20.2
1616
+ '@esbuild/linux-ppc64': 0.20.2
1617
+ '@esbuild/linux-riscv64': 0.20.2
1618
+ '@esbuild/linux-s390x': 0.20.2
1619
+ '@esbuild/linux-x64': 0.20.2
1620
+ '@esbuild/netbsd-x64': 0.20.2
1621
+ '@esbuild/openbsd-x64': 0.20.2
1622
+ '@esbuild/sunos-x64': 0.20.2
1623
+ '@esbuild/win32-arm64': 0.20.2
1624
+ '@esbuild/win32-ia32': 0.20.2
1625
+ '@esbuild/win32-x64': 0.20.2
1626
+ dev: true
1627
+
1628
1629
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
1630
+ engines: {node: '>=0.10'}
1631
+ dependencies:
1632
+ d: 1.0.2
1633
+ es5-ext: 0.10.64
1634
+ event-emitter: 0.3.5
1635
+ type: 2.7.2
1636
+ dev: false
1637
+
1638
1639
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1640
+
1641
1642
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1643
+ dependencies:
1644
+ '@types/estree': 1.0.5
1645
+
1646
1647
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
1648
+ dependencies:
1649
+ d: 1.0.2
1650
+ es5-ext: 0.10.64
1651
+ dev: false
1652
+
1653
1654
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
1655
+ dependencies:
1656
+ type: 2.7.2
1657
+ dev: false
1658
+
1659
1660
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1661
+ engines: {node: '>=8'}
1662
+ dependencies:
1663
+ to-regex-range: 5.0.1
1664
+ dev: true
1665
+
1666
1667
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
1668
+ engines: {node: '>=14'}
1669
+ dependencies:
1670
+ cross-spawn: 7.0.3
1671
+ signal-exit: 4.1.0
1672
+ dev: true
1673
+
1674
1675
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1676
+ dev: true
1677
+
1678
1679
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1680
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1681
+ os: [darwin]
1682
+ requiresBuild: true
1683
+ dev: true
1684
+ optional: true
1685
+
1686
1687
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1688
+ dev: true
1689
+
1690
1691
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
1692
+ engines: {node: '>= 0.4'}
1693
+ dependencies:
1694
+ es-errors: 1.3.0
1695
+ function-bind: 1.1.2
1696
+ has-proto: 1.0.3
1697
+ has-symbols: 1.0.3
1698
+ hasown: 2.0.2
1699
+ dev: true
1700
+
1701
1702
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1703
+ engines: {node: '>= 6'}
1704
+ dependencies:
1705
+ is-glob: 4.0.3
1706
+ dev: true
1707
+
1708
1709
+ resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
1710
+ engines: {node: '>=16 || 14 >=14.17'}
1711
+ hasBin: true
1712
+ dependencies:
1713
+ foreground-child: 3.1.1
1714
+ jackspeak: 2.3.6
1715
+ minimatch: 9.0.4
1716
+ minipass: 7.0.4
1717
+ path-scurry: 1.10.2
1718
+ dev: true
1719
+
1720
1721
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1722
+ dependencies:
1723
+ fs.realpath: 1.0.0
1724
+ inflight: 1.0.6
1725
+ inherits: 2.0.4
1726
+ minimatch: 3.1.2
1727
+ once: 1.4.0
1728
+ path-is-absolute: 1.0.1
1729
+ dev: true
1730
+
1731
1732
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
1733
+ dev: false
1734
+
1735
1736
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1737
+ dev: false
1738
+
1739
1740
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1741
+ dependencies:
1742
+ get-intrinsic: 1.2.4
1743
+ dev: true
1744
+
1745
1746
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1747
+ dev: true
1748
+
1749
1750
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1751
+ dependencies:
1752
+ es-define-property: 1.0.0
1753
+ dev: true
1754
+
1755
1756
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
1757
+ engines: {node: '>= 0.4'}
1758
+ dev: true
1759
+
1760
1761
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1762
+ engines: {node: '>= 0.4'}
1763
+ dev: true
1764
+
1765
1766
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1767
+ engines: {node: '>= 0.4'}
1768
+ dependencies:
1769
+ has-symbols: 1.0.3
1770
+ dev: true
1771
+
1772
1773
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1774
+ engines: {node: '>= 0.4'}
1775
+ dependencies:
1776
+ function-bind: 1.1.2
1777
+ dev: true
1778
+
1779
1780
+ resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
1781
+ dev: true
1782
+
1783
1784
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1785
+ dependencies:
1786
+ once: 1.4.0
1787
+ wrappy: 1.0.2
1788
+ dev: true
1789
+
1790
1791
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1792
+ dev: true
1793
+
1794
1795
+ resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==}
1796
+ dependencies:
1797
+ '@formatjs/ecma402-abstract': 1.11.4
1798
+ '@formatjs/fast-memoize': 1.2.1
1799
+ '@formatjs/icu-messageformat-parser': 2.1.0
1800
+ tslib: 2.6.2
1801
+ dev: false
1802
+
1803
1804
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1805
+ engines: {node: '>=8'}
1806
+ dependencies:
1807
+ binary-extensions: 2.3.0
1808
+ dev: true
1809
+
1810
1811
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1812
+ dependencies:
1813
+ hasown: 2.0.2
1814
+ dev: true
1815
+
1816
1817
+ resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==}
1818
+ dependencies:
1819
+ acorn: 7.4.1
1820
+ object-assign: 4.1.1
1821
+ dev: true
1822
+
1823
1824
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1825
+ engines: {node: '>=0.10.0'}
1826
+ dev: true
1827
+
1828
1829
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1830
+ engines: {node: '>=8'}
1831
+ dev: true
1832
+
1833
1834
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1835
+ engines: {node: '>=0.10.0'}
1836
+ dependencies:
1837
+ is-extglob: 2.1.1
1838
+ dev: true
1839
+
1840
1841
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1842
+ engines: {node: '>=0.12.0'}
1843
+ dev: true
1844
+
1845
1846
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
1847
+
1848
1849
+ resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
1850
+ dependencies:
1851
+ '@types/estree': 1.0.5
1852
+
1853
1854
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1855
+ engines: {node: '>= 0.4'}
1856
+ dependencies:
1857
+ call-bind: 1.0.7
1858
+ has-tostringtag: 1.0.2
1859
+ dev: true
1860
+
1861
1862
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1863
+ dev: true
1864
+
1865
1866
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
1867
+ engines: {node: '>=16'}
1868
+ dev: true
1869
+
1870
1871
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
1872
+ engines: {node: '>=14'}
1873
+ dependencies:
1874
+ '@isaacs/cliui': 8.0.2
1875
+ optionalDependencies:
1876
+ '@pkgjs/parseargs': 0.11.0
1877
+ dev: true
1878
+
1879
1880
+ resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==}
1881
+ dev: true
1882
+
1883
1884
+ resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==}
1885
+ dependencies:
1886
+ is-promise: 2.2.2
1887
+ promise: 7.3.1
1888
+ dev: true
1889
+
1890
1891
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1892
+ engines: {node: '>=6'}
1893
+ dev: true
1894
+
1895
1896
+ resolution: {integrity: sha512-xT/iSClTVi7vLoF8dCWTBhCuOWqsLXCMPa6ucVmVAk6hyNCM5JeS1NLhXqIrJktUg+caEYKlqSOUU4u3cpXzKg==}
1897
+ dev: false
1898
+
1899
1900
+ resolution: {integrity: sha512-1jQ12jBy+AE/73uGQWGSafK5GoWgmSiIQOGhSEXiFJSZxzV+OXIx+a9h2EYHxdJfX864M+2TAxWPWb0Vv+8y4w==}
1901
+ engines: {node: '>= 12.0.0'}
1902
+ cpu: [arm64]
1903
+ os: [darwin]
1904
+ requiresBuild: true
1905
+ dev: true
1906
+ optional: true
1907
+
1908
1909
+ resolution: {integrity: sha512-R4R1d7VVdq2mG4igMU+Di8GPf0b64ZLnYVkubYnGG0Qxq1KaXQtAzcLI43EkpnoWvB/kUg8JKCWH4S13NfiLcQ==}
1910
+ engines: {node: '>= 12.0.0'}
1911
+ cpu: [x64]
1912
+ os: [darwin]
1913
+ requiresBuild: true
1914
+ dev: true
1915
+ optional: true
1916
+
1917
1918
+ resolution: {integrity: sha512-z6NberUUw5ALES6Ixn2shmjRRrM1cmEn1ZQPiM5IrZ6xHHL5a1lPin9pRv+w6eWfcrEo+qGG6R9XfJrpuY3e4g==}
1919
+ engines: {node: '>= 12.0.0'}
1920
+ cpu: [x64]
1921
+ os: [freebsd]
1922
+ requiresBuild: true
1923
+ dev: true
1924
+ optional: true
1925
+
1926
1927
+ resolution: {integrity: sha512-NLQLnBQW/0sSg74qLNI8F8QKQXkNg4/ukSTa+XhtkO7v3BnK19TS1MfCbDHt+TTdSgNEBv0tubRuapcKho2EWw==}
1928
+ engines: {node: '>= 12.0.0'}
1929
+ cpu: [arm]
1930
+ os: [linux]
1931
+ requiresBuild: true
1932
+ dev: true
1933
+ optional: true
1934
+
1935
1936
+ resolution: {integrity: sha512-AQxWU8c9E9JAjAi4Qw9CvX2tDIPjgzCTrZCSXKELfs4mCwzxRkHh2RCxX8sFK19RyJoJAjA/Kw8+LMNRHS5qEg==}
1937
+ engines: {node: '>= 12.0.0'}
1938
+ cpu: [arm64]
1939
+ os: [linux]
1940
+ requiresBuild: true
1941
+ dev: true
1942
+ optional: true
1943
+
1944
1945
+ resolution: {integrity: sha512-JCgH/SrNrhqsguUA0uJUM1PvN5+dVuzPIlXcoWDHSv2OU/BWlj2dUYr3XNzEw748SmNZPfl2NjQrAdzaPOn1lA==}
1946
+ engines: {node: '>= 12.0.0'}
1947
+ cpu: [arm64]
1948
+ os: [linux]
1949
+ requiresBuild: true
1950
+ dev: true
1951
+ optional: true
1952
+
1953
1954
+ resolution: {integrity: sha512-TYdEsC63bHV0h47aNRGN3RiK7aIeco3/keN4NkoSQ5T8xk09KHuBdySltWAvKLgT8JvR+ayzq8ZHnL1wKWY0rw==}
1955
+ engines: {node: '>= 12.0.0'}
1956
+ cpu: [x64]
1957
+ os: [linux]
1958
+ requiresBuild: true
1959
+ dev: true
1960
+ optional: true
1961
+
1962
1963
+ resolution: {integrity: sha512-HLfzVik3RToot6pQ2Rgc3JhfZkGi01hFetHt40HrUMoeKitLoqUUT5owM6yTZPTytTUW9ukLBJ1pc3XNMSvlLw==}
1964
+ engines: {node: '>= 12.0.0'}
1965
+ cpu: [x64]
1966
+ os: [linux]
1967
+ requiresBuild: true
1968
+ dev: true
1969
+ optional: true
1970
+
1971
1972
+ resolution: {integrity: sha512-joEupPjYJ7PjZtDsS5lzALtlAudAbgIBMGJPNeFe5HfdmJXFd13ECmEM+5rXNxYVMRHua2w8132R6ab5Z6K9Ow==}
1973
+ engines: {node: '>= 12.0.0'}
1974
+ cpu: [x64]
1975
+ os: [win32]
1976
+ requiresBuild: true
1977
+ dev: true
1978
+ optional: true
1979
+
1980
1981
+ resolution: {integrity: sha512-kUpHOLiH5GB0ERSv4pxqlL0RYKnOXtgGtVe7shDGfhS0AZ4D1ouKFYAcLcZhql8aMspDNzaUCumGHZ78tb2fTg==}
1982
+ engines: {node: '>= 12.0.0'}
1983
+ dependencies:
1984
+ detect-libc: 1.0.3
1985
+ optionalDependencies:
1986
+ lightningcss-darwin-arm64: 1.24.1
1987
+ lightningcss-darwin-x64: 1.24.1
1988
+ lightningcss-freebsd-x64: 1.24.1
1989
+ lightningcss-linux-arm-gnueabihf: 1.24.1
1990
+ lightningcss-linux-arm64-gnu: 1.24.1
1991
+ lightningcss-linux-arm64-musl: 1.24.1
1992
+ lightningcss-linux-x64-gnu: 1.24.1
1993
+ lightningcss-linux-x64-musl: 1.24.1
1994
+ lightningcss-win32-x64-msvc: 1.24.1
1995
+ dev: true
1996
+
1997
1998
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1999
+ dev: true
2000
+
2001
2002
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
2003
+
2004
2005
+ resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
2006
+ engines: {node: 14 || >=16.14}
2007
+ dev: true
2008
+
2009
2010
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
2011
+ dependencies:
2012
+ es5-ext: 0.10.64
2013
+ dev: false
2014
+
2015
2016
+ resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
2017
+ dependencies:
2018
+ '@jridgewell/sourcemap-codec': 1.4.15
2019
+
2020
2021
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
2022
+
2023
2024
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
2025
+ dependencies:
2026
+ d: 1.0.2
2027
+ es5-ext: 0.10.64
2028
+ es6-weak-map: 2.0.3
2029
+ event-emitter: 0.3.5
2030
+ is-promise: 2.2.2
2031
+ lru-queue: 0.1.0
2032
+ next-tick: 1.1.0
2033
+ timers-ext: 0.1.7
2034
+ dev: false
2035
+
2036
2037
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
2038
+ engines: {node: '>=4'}
2039
+ dev: true
2040
+
2041
2042
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2043
+ dependencies:
2044
+ brace-expansion: 1.1.11
2045
+ dev: true
2046
+
2047
2048
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
2049
+ engines: {node: '>=16 || 14 >=14.17'}
2050
+ dependencies:
2051
+ brace-expansion: 2.0.1
2052
+ dev: true
2053
+
2054
2055
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
2056
+ dev: true
2057
+
2058
2059
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
2060
+ engines: {node: '>=16 || 14 >=14.17'}
2061
+ dev: true
2062
+
2063
2064
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
2065
+ hasBin: true
2066
+ dependencies:
2067
+ minimist: 1.2.8
2068
+ dev: true
2069
+
2070
2071
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
2072
+ engines: {node: '>=4'}
2073
+ dev: false
2074
+
2075
2076
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2077
+ dev: true
2078
+
2079
2080
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
2081
+ dependencies:
2082
+ any-promise: 1.3.0
2083
+ object-assign: 4.1.1
2084
+ thenify-all: 1.6.0
2085
+ dev: true
2086
+
2087
2088
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
2089
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2090
+ hasBin: true
2091
+ dev: true
2092
+
2093
2094
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
2095
+ dev: false
2096
+
2097
2098
+ resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
2099
+ hasBin: true
2100
+ dev: false
2101
+
2102
2103
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2104
+ engines: {node: '>=0.10.0'}
2105
+ dev: true
2106
+
2107
2108
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2109
+ engines: {node: '>=0.10.0'}
2110
+ dev: true
2111
+
2112
2113
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2114
+ dependencies:
2115
+ wrappy: 1.0.2
2116
+ dev: true
2117
+
2118
2119
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
2120
+ dev: false
2121
+
2122
2123
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2124
+ engines: {node: '>=0.10.0'}
2125
+ dev: true
2126
+
2127
2128
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2129
+ engines: {node: '>=8'}
2130
+ dev: true
2131
+
2132
2133
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2134
+ dev: true
2135
+
2136
2137
+ resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
2138
+ engines: {node: '>=16 || 14 >=14.17'}
2139
+ dependencies:
2140
+ lru-cache: 10.2.1
2141
+ minipass: 7.0.4
2142
+ dev: true
2143
+
2144
2145
+ resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
2146
+ dependencies:
2147
+ '@types/estree': 1.0.5
2148
+ estree-walker: 3.0.3
2149
+ is-reference: 3.0.2
2150
+
2151
2152
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2153
+ dev: true
2154
+
2155
2156
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2157
+ engines: {node: '>=8.6'}
2158
+ dev: true
2159
+
2160
2161
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
2162
+ engines: {node: '>= 6'}
2163
+ dev: true
2164
+
2165
2166
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
2167
+ engines: {node: ^10 || ^12 || >=14}
2168
+ dependencies:
2169
+ nanoid: 3.3.7
2170
+ picocolors: 1.0.0
2171
+ source-map-js: 1.2.0
2172
+ dev: true
2173
+
2174
2175
+ resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
2176
+ dependencies:
2177
+ asap: 2.0.6
2178
+ dev: true
2179
+
2180
2181
+ resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==}
2182
+ dependencies:
2183
+ constantinople: 4.0.1
2184
+ js-stringify: 1.0.2
2185
+ pug-runtime: 3.0.1
2186
+ dev: true
2187
+
2188
2189
+ resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==}
2190
+ dependencies:
2191
+ constantinople: 4.0.1
2192
+ doctypes: 1.1.0
2193
+ js-stringify: 1.0.2
2194
+ pug-attrs: 3.0.0
2195
+ pug-error: 2.0.0
2196
+ pug-runtime: 3.0.1
2197
+ void-elements: 3.1.0
2198
+ with: 7.0.2
2199
+ dev: true
2200
+
2201
2202
+ resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==}
2203
+ dev: true
2204
+
2205
2206
+ resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==}
2207
+ dependencies:
2208
+ constantinople: 4.0.1
2209
+ jstransformer: 1.0.0
2210
+ pug-error: 2.0.0
2211
+ pug-walk: 2.0.0
2212
+ resolve: 1.22.8
2213
+ dev: true
2214
+
2215
2216
+ resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==}
2217
+ dependencies:
2218
+ character-parser: 2.2.0
2219
+ is-expression: 4.0.0
2220
+ pug-error: 2.0.0
2221
+ dev: true
2222
+
2223
2224
+ resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==}
2225
+ dependencies:
2226
+ pug-error: 2.0.0
2227
+ pug-walk: 2.0.0
2228
+ dev: true
2229
+
2230
2231
+ resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==}
2232
+ dependencies:
2233
+ object-assign: 4.1.1
2234
+ pug-walk: 2.0.0
2235
+ dev: true
2236
+
2237
2238
+ resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==}
2239
+ dependencies:
2240
+ pug-error: 2.0.0
2241
+ token-stream: 1.0.0
2242
+ dev: true
2243
+
2244
2245
+ resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==}
2246
+ dev: true
2247
+
2248
2249
+ resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==}
2250
+ dependencies:
2251
+ pug-error: 2.0.0
2252
+ dev: true
2253
+
2254
2255
+ resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==}
2256
+ dev: true
2257
+
2258
2259
+ resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==}
2260
+ dependencies:
2261
+ pug-code-gen: 3.0.2
2262
+ pug-filters: 4.0.0
2263
+ pug-lexer: 5.0.1
2264
+ pug-linker: 4.0.0
2265
+ pug-load: 3.0.0
2266
+ pug-parser: 6.0.0
2267
+ pug-runtime: 3.0.1
2268
+ pug-strip-comments: 2.0.0
2269
+ dev: true
2270
+
2271
2272
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2273
+ engines: {node: '>=8.10.0'}
2274
+ dependencies:
2275
+ picomatch: 2.3.1
2276
+ dev: true
2277
+
2278
2279
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
2280
+ dev: false
2281
+
2282
2283
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2284
+ hasBin: true
2285
+ dependencies:
2286
+ is-core-module: 2.13.1
2287
+ path-parse: 1.0.7
2288
+ supports-preserve-symlinks-flag: 1.0.0
2289
+ dev: true
2290
+
2291
2292
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
2293
+ hasBin: true
2294
+ dependencies:
2295
+ glob: 7.2.3
2296
+ dev: true
2297
+
2298
2299
+ resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==}
2300
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2301
+ hasBin: true
2302
+ dependencies:
2303
+ '@types/estree': 1.0.5
2304
+ optionalDependencies:
2305
+ '@rollup/rollup-android-arm-eabi': 4.16.4
2306
+ '@rollup/rollup-android-arm64': 4.16.4
2307
+ '@rollup/rollup-darwin-arm64': 4.16.4
2308
+ '@rollup/rollup-darwin-x64': 4.16.4
2309
+ '@rollup/rollup-linux-arm-gnueabihf': 4.16.4
2310
+ '@rollup/rollup-linux-arm-musleabihf': 4.16.4
2311
+ '@rollup/rollup-linux-arm64-gnu': 4.16.4
2312
+ '@rollup/rollup-linux-arm64-musl': 4.16.4
2313
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4
2314
+ '@rollup/rollup-linux-riscv64-gnu': 4.16.4
2315
+ '@rollup/rollup-linux-s390x-gnu': 4.16.4
2316
+ '@rollup/rollup-linux-x64-gnu': 4.16.4
2317
+ '@rollup/rollup-linux-x64-musl': 4.16.4
2318
+ '@rollup/rollup-win32-arm64-msvc': 4.16.4
2319
+ '@rollup/rollup-win32-ia32-msvc': 4.16.4
2320
+ '@rollup/rollup-win32-x64-msvc': 4.16.4
2321
+ fsevents: 2.3.3
2322
+ dev: true
2323
+
2324
2325
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
2326
+ engines: {node: '>=6'}
2327
+ dependencies:
2328
+ mri: 1.2.0
2329
+ dev: false
2330
+
2331
2332
+ resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
2333
+ dependencies:
2334
+ es6-promise: 3.3.1
2335
+ graceful-fs: 4.2.11
2336
+ mkdirp: 0.5.6
2337
+ rimraf: 2.7.1
2338
+ dev: true
2339
+
2340
2341
+ resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==}
2342
+ engines: {node: '>=14.0.0'}
2343
+ hasBin: true
2344
+ dependencies:
2345
+ chokidar: 3.6.0
2346
+ immutable: 4.3.5
2347
+ source-map-js: 1.2.0
2348
+ dev: true
2349
+
2350
2351
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
2352
+ dev: true
2353
+
2354
2355
+ resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==}
2356
+ engines: {node: '>=6'}
2357
+ dev: false
2358
+
2359
2360
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
2361
+ engines: {node: '>= 0.4'}
2362
+ dependencies:
2363
+ define-data-property: 1.1.4
2364
+ es-errors: 1.3.0
2365
+ function-bind: 1.1.2
2366
+ get-intrinsic: 1.2.4
2367
+ gopd: 1.0.1
2368
+ has-property-descriptors: 1.0.2
2369
+ dev: true
2370
+
2371
2372
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2373
+ engines: {node: '>=8'}
2374
+ dependencies:
2375
+ shebang-regex: 3.0.0
2376
+ dev: true
2377
+
2378
2379
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2380
+ engines: {node: '>=8'}
2381
+ dev: true
2382
+
2383
2384
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
2385
+ engines: {node: '>=14'}
2386
+ dev: true
2387
+
2388
2389
+ resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
2390
+ hasBin: true
2391
+ dependencies:
2392
+ '@jridgewell/sourcemap-codec': 1.4.15
2393
+ buffer-crc32: 0.2.13
2394
+ minimist: 1.2.8
2395
+ sander: 0.5.1
2396
+ dev: true
2397
+
2398
2399
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
2400
+ engines: {node: '>=0.10.0'}
2401
+
2402
2403
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
2404
+ engines: {node: '>= 8'}
2405
+ dev: true
2406
+
2407
2408
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2409
+ engines: {node: '>=8'}
2410
+ dependencies:
2411
+ emoji-regex: 8.0.0
2412
+ is-fullwidth-code-point: 3.0.0
2413
+ strip-ansi: 6.0.1
2414
+ dev: true
2415
+
2416
2417
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
2418
+ engines: {node: '>=12'}
2419
+ dependencies:
2420
+ eastasianwidth: 0.2.0
2421
+ emoji-regex: 9.2.2
2422
+ strip-ansi: 7.1.0
2423
+ dev: true
2424
+
2425
2426
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2427
+ engines: {node: '>=8'}
2428
+ dependencies:
2429
+ ansi-regex: 5.0.1
2430
+ dev: true
2431
+
2432
2433
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
2434
+ engines: {node: '>=12'}
2435
+ dependencies:
2436
+ ansi-regex: 6.0.1
2437
+ dev: true
2438
+
2439
2440
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
2441
+ engines: {node: '>=8'}
2442
+ dependencies:
2443
+ min-indent: 1.0.1
2444
+ dev: true
2445
+
2446
2447
+ resolution: {integrity: sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw==}
2448
+ hasBin: true
2449
+ dependencies:
2450
+ '@adobe/css-tools': 4.3.3
2451
+ debug: 4.3.4
2452
+ glob: 7.2.3
2453
+ sax: 1.3.0
2454
+ source-map: 0.7.4
2455
+ transitivePeerDependencies:
2456
+ - supports-color
2457
+ dev: true
2458
+
2459
2460
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
2461
+ engines: {node: '>=16 || 14 >=14.17'}
2462
+ hasBin: true
2463
+ dependencies:
2464
+ '@jridgewell/gen-mapping': 0.3.5
2465
+ commander: 4.1.1
2466
+ glob: 10.3.12
2467
+ lines-and-columns: 1.2.4
2468
+ mz: 2.7.0
2469
+ pirates: 4.0.6
2470
+ ts-interface-checker: 0.1.13
2471
+ dev: true
2472
+
2473
2474
+ resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==}
2475
+ engines: {node: '>=12.0'}
2476
+ peerDependencies:
2477
+ postcss: ^8.3.3
2478
+ dependencies:
2479
+ postcss: 8.4.38
2480
+ dev: true
2481
+
2482
2483
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2484
+ engines: {node: '>= 0.4'}
2485
+ dev: true
2486
+
2487
2488
+ resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==}
2489
+ engines: {node: ^12.20 || ^14.13.1 || >= 16}
2490
+ peerDependencies:
2491
+ svelte: ^3.19.0 || ^4.0.0
2492
+ dependencies:
2493
+ svelte: 4.2.15
2494
+ dev: true
2495
+
2496
2497
+ resolution: {integrity: sha512-yGRCNo+eBT4cPuU7IVsYTYjxB7I2V8qgUZPlHnNctJj5IgbJgV78flsRzpjZ/8iUYZrS49oCt7uxlU3AZv/N5Q==}
2498
+ engines: {node: '>= 16'}
2499
+ hasBin: true
2500
+ peerDependencies:
2501
+ svelte: ^3 || ^4
2502
+ dependencies:
2503
+ cli-color: 2.0.4
2504
+ deepmerge: 4.3.1
2505
+ esbuild: 0.19.12
2506
+ estree-walker: 2.0.2
2507
+ intl-messageformat: 9.13.0
2508
+ sade: 1.8.1
2509
+ svelte: 4.2.15
2510
+ tiny-glob: 0.2.9
2511
+ dev: false
2512
+
2513
2514
+ resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
2515
+ engines: {node: '>= 16.0.0'}
2516
+ requiresBuild: true
2517
+ peerDependencies:
2518
+ '@babel/core': ^7.10.2
2519
+ coffeescript: ^2.5.1
2520
+ less: ^3.11.3 || ^4.0.0
2521
+ postcss: ^7 || ^8
2522
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
2523
+ pug: ^3.0.0
2524
+ sass: ^1.26.8
2525
+ stylus: ^0.55.0
2526
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
2527
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
2528
+ typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
2529
+ peerDependenciesMeta:
2530
+ '@babel/core':
2531
+ optional: true
2532
+ coffeescript:
2533
+ optional: true
2534
+ less:
2535
+ optional: true
2536
+ postcss:
2537
+ optional: true
2538
+ postcss-load-config:
2539
+ optional: true
2540
+ pug:
2541
+ optional: true
2542
+ sass:
2543
+ optional: true
2544
+ stylus:
2545
+ optional: true
2546
+ sugarss:
2547
+ optional: true
2548
+ typescript:
2549
+ optional: true
2550
+ dependencies:
2551
+ '@types/pug': 2.0.10
2552
+ coffeescript: 2.7.0
2553
+ detect-indent: 6.1.0
2554
+ magic-string: 0.30.10
2555
+ postcss: 8.4.38
2556
+ pug: 3.0.2
2557
+ sass: 1.75.0
2558
+ sorcery: 0.11.0
2559
+ strip-indent: 3.0.0
2560
+ stylus: 0.63.0
2561
+ sugarss: 4.0.1([email protected])
2562
+ svelte: 4.2.15
2563
+ typescript: 5.4.5
2564
+ dev: true
2565
+
2566
2567
+ resolution: {integrity: sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==}
2568
+ engines: {node: '>=16'}
2569
+ dependencies:
2570
+ '@ampproject/remapping': 2.3.0
2571
+ '@jridgewell/sourcemap-codec': 1.4.15
2572
+ '@jridgewell/trace-mapping': 0.3.25
2573
+ '@types/estree': 1.0.5
2574
+ acorn: 8.11.3
2575
+ aria-query: 5.3.0
2576
+ axobject-query: 4.0.0
2577
+ code-red: 1.0.4
2578
+ css-tree: 2.3.1
2579
+ estree-walker: 3.0.3
2580
+ is-reference: 3.0.2
2581
+ locate-character: 3.0.0
2582
+ magic-string: 0.30.10
2583
+ periscopic: 3.1.0
2584
+
2585
2586
+ resolution: {integrity: sha512-7qAhQPrsWyaaDk0IjOEhTEdgDWsN0MjB3kk38DxK5vXqPJ7C57FYlARA6vrE36WL0K/mYdAA54vWJbWbDfoVcQ==}
2587
+ dev: true
2588
+
2589
2590
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2591
+ engines: {node: '>=0.8'}
2592
+ dependencies:
2593
+ thenify: 3.3.1
2594
+ dev: true
2595
+
2596
2597
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2598
+ dependencies:
2599
+ any-promise: 1.3.0
2600
+ dev: true
2601
+
2602
2603
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
2604
+ dependencies:
2605
+ es5-ext: 0.10.64
2606
+ next-tick: 1.1.0
2607
+ dev: false
2608
+
2609
2610
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
2611
+ dependencies:
2612
+ globalyzer: 0.1.0
2613
+ globrex: 0.1.2
2614
+ dev: false
2615
+
2616
2617
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2618
+ engines: {node: '>=4'}
2619
+ dev: true
2620
+
2621
2622
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2623
+ engines: {node: '>=8.0'}
2624
+ dependencies:
2625
+ is-number: 7.0.0
2626
+ dev: true
2627
+
2628
2629
+ resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==}
2630
+ dev: true
2631
+
2632
2633
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2634
+ dev: true
2635
+
2636
2637
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
2638
+ dev: false
2639
+
2640
2641
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
2642
+ dev: false
2643
+
2644
2645
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
2646
+ engines: {node: '>=14.17'}
2647
+ hasBin: true
2648
+
2649
2650
+ resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
2651
+ engines: {node: ^18.0.0 || >=20.0.0}
2652
+ hasBin: true
2653
+ peerDependencies:
2654
+ '@types/node': ^18.0.0 || >=20.0.0
2655
+ less: '*'
2656
+ lightningcss: ^1.21.0
2657
+ sass: '*'
2658
+ stylus: '*'
2659
+ sugarss: '*'
2660
+ terser: ^5.4.0
2661
+ peerDependenciesMeta:
2662
+ '@types/node':
2663
+ optional: true
2664
+ less:
2665
+ optional: true
2666
+ lightningcss:
2667
+ optional: true
2668
+ sass:
2669
+ optional: true
2670
+ stylus:
2671
+ optional: true
2672
+ sugarss:
2673
+ optional: true
2674
+ terser:
2675
+ optional: true
2676
+ dependencies:
2677
+ esbuild: 0.20.2
2678
+ lightningcss: 1.24.1
2679
+ postcss: 8.4.38
2680
+ rollup: 4.16.4
2681
+ sass: 1.75.0
2682
+ stylus: 0.63.0
2683
+ sugarss: 4.0.1([email protected])
2684
+ optionalDependencies:
2685
+ fsevents: 2.3.3
2686
+ dev: true
2687
+
2688
2689
+ resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
2690
+ peerDependencies:
2691
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
2692
+ peerDependenciesMeta:
2693
+ vite:
2694
+ optional: true
2695
+ dependencies:
2696
2697
+ dev: true
2698
+
2699
2700
+ resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
2701
+ engines: {node: '>=0.10.0'}
2702
+ dev: true
2703
+
2704
2705
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2706
+ engines: {node: '>= 8'}
2707
+ hasBin: true
2708
+ dependencies:
2709
+ isexe: 2.0.0
2710
+ dev: true
2711
+
2712
2713
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
2714
+ engines: {node: ^16.13.0 || >=18.0.0}
2715
+ hasBin: true
2716
+ dependencies:
2717
+ isexe: 3.1.1
2718
+ dev: true
2719
+
2720
2721
+ resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
2722
+ engines: {node: '>= 10.0.0'}
2723
+ dependencies:
2724
+ '@babel/parser': 7.24.4
2725
+ '@babel/types': 7.24.0
2726
+ assert-never: 1.2.1
2727
+ babel-walk: 3.0.0-canary-5
2728
+ dev: true
2729
+
2730
2731
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2732
+ engines: {node: '>=10'}
2733
+ dependencies:
2734
+ ansi-styles: 4.3.0
2735
+ string-width: 4.2.3
2736
+ strip-ansi: 6.0.1
2737
+ dev: true
2738
+
2739
2740
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2741
+ engines: {node: '>=12'}
2742
+ dependencies:
2743
+ ansi-styles: 6.2.1
2744
+ string-width: 5.1.2
2745
+ strip-ansi: 7.1.0
2746
+ dev: true
2747
+
2748
2749
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2750
+ dev: true
2751
+
2752
2753
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
2754
+ engines: {node: '>=10.0.0'}
2755
+ peerDependencies:
2756
+ bufferutil: ^4.0.1
2757
+ utf-8-validate: '>=5.0.2'
2758
+ peerDependenciesMeta:
2759
+ bufferutil:
2760
+ optional: true
2761
+ utf-8-validate:
2762
+ optional: true
2763
+ dependencies:
2764
+ bufferutil: 4.0.8
2765
+ dev: false
2766
+
2767
2768
+ resolution: {integrity: sha512-A7AMeJfGefk317I/3tBoUYRcDcNavKEkpiPN/nQsBz/viI2GvT7BtrqdPD6rGqBFN8Ax7v4obf+Cl32JF9DDVw==}
2769
+ dev: true
src/pyproject.toml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = [
3
+ "hatchling",
4
+ "hatch-requirements-txt",
5
+ "hatch-fancy-pypi-readme>=22.5.0",
6
+ ]
7
+ build-backend = "hatchling.build"
8
+
9
+ [project]
10
+ name = "gradio_rerun"
11
+ version = "0.0.1"
12
+ description = "Rerun viewer with Gradio"
13
+ readme = "README.md"
14
+ license = "apache-2.0"
15
+ requires-python = ">=3.8"
16
+ authors = [{ name = "Radamés Ajna", email = "[email protected]" }]
17
+ keywords = ["gradio-custom-component", "multimodal data", "visualization", "machine learning", "robotics", "Rerun", "rerun-viewer"]
18
+ # Add dependencies here
19
+ dependencies = ["gradio>=4.0,<5.0"]
20
+ classifiers = [
21
+ 'Development Status :: 3 - Alpha',
22
+ 'Operating System :: OS Independent',
23
+ 'Programming Language :: Python :: 3',
24
+ 'Programming Language :: Python :: 3 :: Only',
25
+ 'Programming Language :: Python :: 3.8',
26
+ 'Programming Language :: Python :: 3.9',
27
+ 'Programming Language :: Python :: 3.10',
28
+ 'Programming Language :: Python :: 3.11',
29
+ 'Topic :: Scientific/Engineering',
30
+ 'Topic :: Scientific/Engineering :: Artificial Intelligence',
31
+ 'Topic :: Scientific/Engineering :: Visualization',
32
+ ]
33
+
34
+ # The repository and space URLs are optional, but recommended.
35
+ # Adding a repository URL will create a badge in the auto-generated README that links to the repository.
36
+ # Adding a space URL will create a badge in the auto-generated README that links to the space.
37
+ # This will make it easy for people to find your deployed demo or source code when they
38
+ # encounter your project in the wild.
39
+
40
+ [project.urls]
41
+ repository = "https://github.com/radames/gradio-rerun-viewer"
42
+ # space = "your space url"
43
+
44
+ [project.optional-dependencies]
45
+ dev = ["build", "twine"]
46
+
47
+ [tool.hatch.build]
48
+ artifacts = ["/backend/gradio_rerun/templates", "*.pyi"]
49
+
50
+ [tool.hatch.build.targets.wheel]
51
+ packages = ["/backend/gradio_rerun"]