@jupyterlab/settingeditor 3.3.0-alpha.9 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/style/base.css CHANGED
@@ -10,20 +10,24 @@
10
10
  --jp-private-settingeditor-row-height: 16px;
11
11
  --jp-private-settingeditor-toolbar-height: 28px;
12
12
  --jp-private-settingeditor-type-width: 75px;
13
+ --jp-private-settingeditor-modifier-indent: 5px;
13
14
  }
14
15
 
15
- #setting-editor {
16
+ .jp-SettingsPanel,
17
+ #json-setting-editor {
16
18
  min-width: 360px;
17
19
  min-height: 240px;
18
20
  background-color: var(--jp-layout-color0);
19
21
  margin-top: -1px;
20
22
  outline: none;
23
+ color: var(--jp-content-font-color1) !important;
21
24
  /* This is needed so that all font sizing of children done in ems is
22
25
  * relative to this base size */
23
26
  font-size: var(--jp-ui-font-size1);
24
27
  }
25
28
 
26
- #setting-editor > .lm-Widget {
29
+ #setting-editor > .lm-Widget,
30
+ #json-setting-editor > .lm-Widget {
27
31
  position: absolute;
28
32
  top: 0;
29
33
  bottom: 0;
@@ -31,22 +35,23 @@
31
35
  right: 0;
32
36
  }
33
37
 
34
- #setting-editor .lm-SplitPanel-handle {
38
+ #setting-editor .lm-SplitPanel-handle,
39
+ #json-setting-editor .lm-SplitPanel-handle {
35
40
  background-color: var(--jp-border-color2);
36
41
  }
37
42
 
38
- #setting-editor .jp-SettingEditorInstructions {
43
+ #json-setting-editor .jp-SettingEditorInstructions {
39
44
  text-align: center;
40
45
  }
41
46
 
42
- #setting-editor .jp-SettingEditorInstructions-icon {
47
+ #json-setting-editor .jp-SettingEditorInstructions-icon {
43
48
  display: inline-block;
44
49
  height: 78px;
45
50
  margin: 2px 5px 2px 8px;
46
51
  width: 60px;
47
52
  }
48
53
 
49
- #setting-editor .jp-SettingEditorInstructions-title {
54
+ #json-setting-editor .jp-SettingEditorInstructions-title {
50
55
  color: var(--jp-ui-font-color0);
51
56
  font-size: 32px;
52
57
  font-weight: 200;
@@ -54,88 +59,136 @@
54
59
  vertical-align: top;
55
60
  }
56
61
 
57
- #setting-editor .jp-SettingEditorInstructions-text {
62
+ #json-setting-editor .jp-SettingEditorInstructions-text {
58
63
  color: var(--jp-ui-font-color0);
59
64
  font-size: var(--jp-ui-font-size2);
60
65
  }
61
66
 
62
- #setting-editor .jp-PluginList {
67
+ .jp-PluginList {
63
68
  min-width: 175px;
64
69
  max-width: 275px;
70
+ background-color: var(--jp-layout-color2);
71
+ }
72
+
73
+ .jp-PluginList-wrapper {
74
+ overflow-y: auto;
75
+ height: 100%;
65
76
  }
66
77
 
67
- #setting-editor .jp-PluginList ul {
68
- background-color: var(--jp-layout-color1);
78
+ .jp-PluginList ul {
69
79
  color: var(--jp-ui-font-color1);
70
80
  font-size: var(--jp-ui-font-size1);
71
81
  list-style-type: none;
72
82
  margin: 0;
73
83
  padding: 0;
74
84
  overflow-y: auto;
75
- position: absolute;
85
+ position: relative;
76
86
  top: 0;
77
87
  bottom: 0;
78
88
  left: 0;
79
89
  right: 0;
80
90
  }
81
91
 
82
- #setting-editor .jp-PluginList li {
92
+ .jp-PluginList .jp-SettingsHeader {
83
93
  display: flex;
84
- flex-direction: row;
85
- border: 1px solid transparent;
86
- overflow: hidden;
87
- padding: 4px 0 4px 4px;
88
- text-overflow: ellipsis;
94
+ flex-basis: 100%;
95
+ }
96
+
97
+ .jp-PluginList .jp-SettingsHeader button {
98
+ color: var(--jp-private-notebook-selected-color);
89
99
  white-space: nowrap;
90
100
  }
91
101
 
92
- #setting-editor .jp-PluginList li:hover {
93
- background-color: var(--jp-layout-color2);
94
- border: 1px solid var(--jp-border-color2);
102
+ .jp-PluginList .jp-PluginList-header {
103
+ flex: 0 0 auto;
104
+ font-weight: 600;
105
+ text-transform: uppercase;
106
+ letter-spacing: 1px;
107
+ font-size: var(--jp-ui-font-size0);
108
+ padding: 8px 8px 8px 12px;
109
+ margin: 10px;
110
+ border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
111
+ border-top: var(--jp-border-width) solid var(--jp-border-color2);
112
+ color: var(--jp-content-font-color1);
95
113
  }
96
114
 
97
- #setting-editor .jp-PluginList li.jp-mod-selected {
115
+ .jp-PluginList .jp-SelectedIndicator {
116
+ width: 3px;
98
117
  background-color: var(--jp-brand-color1);
99
- color: white;
100
- border: 1px solid var(--jp-brand-color1);
118
+ height: var(--jp-cell-collapser-min-height);
119
+ }
120
+
121
+ .jp-PluginList .jp-ErrorPlugin .jp-SelectedIndicator {
122
+ background-color: var(--jp-error-color0);
123
+ }
124
+
125
+ .jp-PluginList button.jp-mod-selected.jp-ErrorPlugin span {
126
+ color: var(--jp-error-color0);
127
+ }
128
+
129
+ .jp-PluginList button:not(.jp-mod-selected) {
130
+ margin-left: 3px;
101
131
  }
102
132
 
103
- #setting-editor
104
- ul.jp-PluginList
105
- li.jp-mod-selected
106
- span.jp-PluginList-icon.jp-FileIcon {
133
+ .jp-PluginList button.jp-mod-selected span {
134
+ font-weight: var(--jp-content-heading-font-weight);
135
+ color: var(--jp-brand-color1);
136
+ }
137
+
138
+ .jp-PluginList button span {
139
+ color: var(--jp-content-font-color1);
140
+ line-height: var(--jp-cell-collapser-min-height);
141
+ }
142
+
143
+ .jp-FormComponent li span {
144
+ overflow: hidden;
145
+ }
146
+
147
+ .jp-SettingEditor-header {
148
+ font-size: var(--jp-content-font-size4);
149
+ font-weight: var(--jp-content-heading-font-weight);
150
+ color: var(--jp-ui-font-color0);
151
+ padding: 20px 0 10px 20px;
152
+ border-bottom: 1px solid var(--jp-border-color2);
153
+ position: sticky;
154
+ top: 0;
155
+ z-index: 999;
156
+ background-color: var(--jp-layout-color0);
157
+ }
158
+
159
+ .jp-PluginList-Searcher {
160
+ margin: 5px;
161
+ }
162
+
163
+ ul.jp-PluginList li.jp-mod-selected span.jp-PluginList-icon.jp-FileIcon {
107
164
  background-image: var(--jp-icon-file-selected);
108
165
  }
109
166
 
110
- #setting-editor .jp-PluginList-icon {
111
- display: inline-block;
167
+ .jp-PluginList-icon {
168
+ display: flex;
112
169
  height: 20px;
113
170
  width: 20px;
114
171
  margin-right: 3px;
115
172
  position: relative;
116
173
  }
117
174
 
118
- #setting-editor .jp-SettingsRawEditor .jp-Toolbar {
175
+ .jp-SettingsRawEditor .jp-Toolbar {
119
176
  color: var(--jp-ui-font-color0);
120
177
  font-size: var(--jp-ui-font-size1);
121
178
  height: var(--jp-private-settingeditor-toolbar-height);
122
179
  max-height: var(--jp-private-settingeditor-toolbar-height);
123
180
  }
124
181
 
125
- #setting-editor
126
- .jp-SettingsRawEditor
127
- .jp-Toolbar
128
- .jp-ToolbarButtonComponent-label {
182
+ .jp-SettingsRawEditor .jp-Toolbar .jp-ToolbarButtonComponent-label {
129
183
  display: none;
130
184
  }
131
185
 
132
- #setting-editor .jp-SettingsRawEditor .jp-Toolbar-item {
186
+ .jp-SettingsRawEditor .jp-Toolbar-item {
133
187
  margin-top: 1px;
134
188
  align-items: center;
135
189
  }
136
190
 
137
191
  .jp-ToolbarButtonComponent-label
138
- #setting-editor
139
192
  .jp-SettingsRawEditor.jp-mod-error
140
193
  .jp-Toolbar-item.jp-BugIcon::after {
141
194
  color: red;
@@ -148,96 +201,320 @@
148
201
  left: 6px;
149
202
  }
150
203
 
151
- #setting-editor .jp-SettingsRawEditor .jp-Inspector {
204
+ .jp-SettingsRawEditor .jp-Inspector {
152
205
  border-top: 2px solid var(--jp-layout-color2);
153
206
  min-height: var(--jp-private-settingeditor-debug-height);
154
207
  max-height: var(--jp-private-settingeditor-debug-height);
155
208
  }
156
209
 
157
- #setting-editor
158
- .jp-SettingsRawEditor
159
- .jp-Inspector.jp-SettingsDebug
160
- .jp-RenderedHTMLCommon {
210
+ .jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon {
161
211
  padding: 2px 5px 2px 0;
162
212
  width: 100%;
163
213
  }
164
214
 
165
- #setting-editor
166
- .jp-SettingsRawEditor
167
- .jp-Inspector.jp-SettingsDebug
168
- .jp-RenderedHTMLCommon
169
- p {
215
+ .jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon p {
170
216
  text-align: right;
171
217
  }
172
218
 
173
- #setting-editor .jp-SettingsTableEditor {
174
- border: 1px solid var(--jp-brand-color1);
175
- margin: 0;
219
+ .jp-SettingsPanel fieldset input,
220
+ .jp-SettingsPanel fieldset select,
221
+ .jp-SettingsPanel fieldset textarea {
222
+ font-size: var(--jp-content-font-size2);
223
+ border-color: var(--jp-input-border-color);
224
+ border-style: solid;
225
+ border-radius: 5px;
226
+ border-width: 1px;
227
+ padding: 6px 8px;
228
+ background: none;
229
+ color: var(--jp-content-font-color0);
230
+ height: inherit;
231
+ }
232
+
233
+ .jp-SettingsPanel fieldset input[type='checkbox'] {
234
+ position: relative;
235
+ top: 2px;
236
+ margin-left: 0;
237
+ }
238
+
239
+ /** copy of `input.jp-mod-styled:focus` style */
240
+ .jp-SettingsPanel fieldset input:focus {
241
+ border: var(--jp-border-width) solid var(--md-blue-500);
242
+ box-shadow: inset 0 0 4px var(--md-blue-300);
243
+ }
244
+
245
+ .jp-SettingsPanel .checkbox label {
246
+ cursor: pointer;
247
+ }
248
+
249
+ .jp-SettingsPanel .checkbox .field-description {
250
+ /* Disable default description field for checkbox:
251
+ because other widgets do not have description fields,
252
+ we add descriptions to each widget on the field level.
253
+ */
254
+ display: none;
255
+ }
256
+
257
+ .jp-SettingsPanel button[type='submit'] {
258
+ display: none;
259
+ }
260
+
261
+ .jp-SettingsPanel .form-group {
262
+ display: flex;
263
+ padding: 4px 8px 4px var(--jp-private-settingeditor-modifier-indent);
264
+ margin-top: 5px;
265
+ }
266
+
267
+ .jp-SettingsPanel .jp-objectFieldWrapper .form-group {
268
+ padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
269
+ margin-top: 2px;
270
+ }
271
+
272
+ .jp-ArrayOperations {
273
+ margin-left: 8px;
274
+ }
275
+
276
+ .jp-SettingsPanel .jp-FormGroup-content {
277
+ display: flex;
278
+ align-items: center;
279
+ flex-wrap: wrap;
280
+ }
281
+
282
+ .jp-SettingsPanel .jp-FormGroup-contentItem {
283
+ margin-left: 7px;
284
+ }
285
+
286
+ .jp-SettingsPanel .jp-FormGroup-description {
287
+ flex-basis: 100%;
288
+ padding: 4px 7px;
289
+ }
290
+
291
+ .jp-SettingsPanel #root__description {
292
+ display: none;
293
+ }
294
+
295
+ .jp-SettingsPanel fieldset {
296
+ border: none;
176
297
  padding: 0;
177
298
  }
178
299
 
179
- #setting-editor .jp-SettingsTableEditor legend {
300
+ .jp-SettingsPanel fieldset:not(:first-child) {
301
+ margin-left: 7px;
302
+ }
303
+
304
+ .jp-SettingsPanel .jp-SaveSettingsBanner {
305
+ position: absolute;
306
+ bottom: 0;
307
+ padding: 20px;
308
+ width: 100%;
309
+ background: var(--jp-border-color3);
310
+ }
311
+
312
+ .jp-SettingsPanel .jp-SaveSettingsBanner button {
313
+ box-shadow: none;
314
+ outline: none;
315
+ border: none;
180
316
  color: var(--jp-brand-color1);
181
- font-size: 70%;
182
- font-weight: bold;
183
- margin-left: 15px;
184
- height: var(--jp-private-settingeditor-legend-height);
317
+ font-size: var(--jp-ui-font-size1);
318
+ cursor: pointer;
319
+ }
320
+
321
+ .jp-SettingsPanel .jp-SaveSettingsBanner button:hover {
322
+ color: var(--jp-brand-color0);
323
+ }
324
+
325
+ .jp-SettingsPanel .form-group.small-field:hover {
326
+ background: var(--jp-border-color3);
185
327
  }
186
328
 
187
- #setting-editor .jp-SettingsTableEditor-wrapper {
329
+ .jp-SettingsPanel button.jp-mod-styled {
330
+ cursor: pointer;
331
+ }
332
+
333
+ .jp-SettingsPanel button.jp-mod-styled:disabled {
334
+ cursor: not-allowed;
335
+ opacity: 0.5;
336
+ }
337
+
338
+ .jp-SettingsPanel .array-item button {
339
+ margin: 2px;
340
+ }
341
+
342
+ .jp-openJSONSettingsEditor {
188
343
  position: absolute;
189
- top: var(--jp-private-settingeditor-legend-height);
190
344
  bottom: 0;
191
- overflow-y: auto;
345
+ left: 0;
346
+ }
347
+
348
+ .jp-openJSONSettingsEditor button {
349
+ border: 1px solid var(--jp-border-color1);
350
+ color: var(--jp-ui-font-color0);
351
+ padding: 5px;
352
+ margin: 5px;
353
+ cursor: pointer;
354
+ background-color: var(--jp-border-color2);
355
+ display: flex;
356
+ align-items: center;
357
+ }
358
+
359
+ .jp-openJSONSettingsEditor button > div {
360
+ display: flex;
361
+ }
362
+
363
+ .jp-openJSONSettingsEditor svg#icon {
364
+ height: 1.5em;
365
+ }
366
+
367
+ .jp-SettingsPanel .array-item {
368
+ border: 1px solid var(--jp-border-color2);
369
+ border-radius: 4px;
370
+ margin: 4px;
192
371
  }
193
372
 
194
- #setting-editor .jp-SettingsTableEditor table {
195
- table-layout: fixed;
373
+ .jp-SettingsPanel .field-array-of-string .array-item {
374
+ /* Display `jp-ArrayOperations` buttons side-by-side with content except
375
+ for small screens where flex-wrap will place them one below the other.
376
+ */
377
+ display: flex;
378
+ align-items: center;
379
+ flex-wrap: wrap;
380
+ }
381
+
382
+ .jp-SettingsPanel .jp-root > fieldset > legend {
383
+ display: none;
384
+ }
385
+
386
+ .jp-SettingsPanel .jp-root > fieldset > p {
387
+ display: none;
388
+ }
389
+
390
+ .jp-SettingsPanel .jp-SettingsHeader h2 {
391
+ font-size: var(--jp-content-font-size3);
392
+ color: var(--jp-ui-font-color0);
393
+ font-weight: 300;
394
+ margin: 1em;
395
+ }
396
+
397
+ .jp-SettingsPanel .jp-SettingsHeader-description {
398
+ font-size: var(--jp-content-font-size2);
196
399
  color: var(--jp-ui-font-color1);
197
- font-size: var(--jp-ui-font-size1);
198
- padding: 2px;
199
- width: calc(100% - 4px);
200
- overflow: hidden;
400
+ font-weight: 200;
401
+ margin: 1em;
402
+ line-height: var(--jp-content-font-size3);
201
403
  }
202
404
 
203
- #setting-editor .jp-SettingsTableEditor tr {
204
- color: var(--jp-ui-font-color2);
205
- height: var(--jp-private-settingeditor-row-height);
206
- overflow: hidden;
405
+ .jp-SettingsPanel legend {
406
+ font-size: var(--jp-content-font-size2);
407
+ color: var(--jp-ui-font-color0);
408
+ flex-basis: 100%;
409
+ padding: 4px 0;
410
+ font-weight: var(--jp-content-header-font-weight);
411
+ border-bottom: 1px solid var(--jp-border-color2);
207
412
  }
208
413
 
209
- #setting-editor .jp-SettingsTableEditor th {
210
- background-color: var(--jp-layout-color3);
211
- border: 1px solid transparent;
212
- font-weight: bold;
213
- height: var(--jp-private-settingeditor-row-height);
414
+ .jp-SettingsPanel .field-description {
415
+ padding: 4px 0;
416
+ white-space: pre-wrap;
214
417
  }
215
418
 
216
- #setting-editor .jp-SettingsTableEditor td {
217
- border: 1px solid transparent;
218
- height: var(--jp-private-settingeditor-row-height);
419
+ .jp-SettingsPanel .jp-SettingsTitle {
420
+ display: flex;
421
+ align-items: center;
422
+ padding-left: 1em;
423
+ }
424
+
425
+ .jp-SettingsPanel .jp-SettingsTitle-caret {
426
+ width: 2em;
427
+ flex-shrink: 0;
219
428
  }
220
429
 
221
- #setting-editor .jp-SettingsTableEditor th.jp-SettingsTableEditor-key {
222
- width: var(--jp-private-settingeditor-key-width);
430
+ .jp-SettingsForm {
431
+ position: relative;
223
432
  }
224
433
 
225
- #setting-editor .jp-SettingsTableEditor th.jp-SettingsTableEditor-type {
226
- width: var(--jp-private-settingeditor-type-width);
434
+ .jp-SettingsPanel .jp-SettingsHeader {
435
+ display: flex;
436
+ flex: auto;
437
+ justify-content: space-between;
438
+ cursor: pointer;
439
+ border: 1px solid var(--jp-border-color2);
227
440
  }
228
441
 
229
- #setting-editor .jp-SettingsTableEditor td.jp-SettingsTableEditor-key {
442
+ .jp-PluginList .jp-FilterBox {
443
+ margin: 8px 12px 0px 12px;
444
+ }
445
+
446
+ .jp-PluginList-entry {
447
+ display: flex;
448
+ flex-direction: row;
449
+ border: 1px solid transparent;
450
+ background: transparent;
230
451
  overflow: hidden;
231
- white-space: nowrap;
452
+ padding: 4px 0 4px 4px;
232
453
  text-overflow: ellipsis;
454
+ white-space: nowrap;
455
+ width: -webkit-fill-available;
233
456
  }
234
457
 
235
- #setting-editor .jp-SettingsTableEditor td.jp-SettingsTableEditor-value {
236
- overflow: hidden;
458
+ .jp-SettingsPanel .jp-SettingsHeader-Name {
459
+ text-transform: inherit;
460
+ font-size: var(--jp-content-font-size3);
461
+ }
462
+
463
+ .jp-SettingsPanel .jp-modifiedIndicator {
464
+ width: 5px;
465
+ background-color: var(--jp-brand-color2);
466
+ margin-top: 0;
467
+ margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
468
+ flex-shrink: 0;
469
+ }
470
+
471
+ .jp-SettingsPanel .jp-FormGroup-fieldLabel {
472
+ font-size: var(--jp-content-font-size1);
473
+ font-weight: normal;
474
+ min-width: 120px;
475
+ }
476
+
477
+ .jp-SettingsPanel .jp-modifiedIndicator.jp-errorIndicator {
478
+ background-color: var(--jp-error-color0);
479
+ }
480
+
481
+ .jp-SettingsPanel .validationErrors {
482
+ color: var(--jp-error-color0);
483
+ }
484
+
485
+ .jp-SettingsPanel .panel.errors {
486
+ display: none;
487
+ }
488
+
489
+ .jp-SettingsPanel .jp-SettingsEditor {
490
+ padding: 20px;
491
+ }
492
+
493
+ .jp-SettingsPanel .jp-SettingEditor-Switch .jp-switch {
494
+ position: absolute;
495
+ bottom: 0;
496
+ z-index: 999;
497
+ background-color: var(--jp-border-color3);
498
+ border: 1px solid var(--jp-border-color1);
499
+ }
500
+
501
+ .jp-SettingsPanel {
502
+ overflow-y: auto;
503
+ height: 100%;
504
+ }
505
+
506
+ .jp-SettingsForm button.jp-RestoreButton {
237
507
  white-space: nowrap;
238
- text-overflow: ellipsis;
508
+ background: none;
509
+ border: none;
510
+ outline: none;
511
+ box-shadow: none;
512
+ font-size: var(--jp-content-font-size2);
513
+ color: var(--jp-brand-color1);
514
+ cursor: pointer;
515
+ margin-right: 5px;
239
516
  }
240
517
 
241
- #setting-editor .jp-SettingsTableEditor td.jp-SettingsTableEditor-type {
242
- text-align: right;
518
+ .jp-PluginEditor {
519
+ overflow: auto;
243
520
  }
package/style/index.css CHANGED
@@ -9,6 +9,7 @@
9
9
  @import url('~@jupyterlab/apputils/style/index.css');
10
10
  @import url('~@jupyterlab/codeeditor/style/index.css');
11
11
  @import url('~@jupyterlab/rendermime/style/index.css');
12
+ @import url('~@jupyterlab/application/style/index.css');
12
13
  @import url('~@jupyterlab/inspector/style/index.css');
13
14
 
14
15
  @import url('./base.css');
package/style/index.js CHANGED
@@ -9,6 +9,7 @@ import '@jupyterlab/ui-components/style/index.js';
9
9
  import '@jupyterlab/apputils/style/index.js';
10
10
  import '@jupyterlab/codeeditor/style/index.js';
11
11
  import '@jupyterlab/rendermime/style/index.js';
12
+ import '@jupyterlab/application/style/index.js';
12
13
  import '@jupyterlab/inspector/style/index.js';
13
14
 
14
15
  import './base.css';
@@ -1 +0,0 @@
1
- {"version":3,"file":"settingeditor.js","sourceRoot":"","sources":["../src/settingeditor.tsx"],"names":[],"mappings":"AAAA;;;+EAG+E;AAM/E,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAyB,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,cAAc,GAA+B;IACjD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,SAAS,EAAE;QACT,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACd;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IACvC;;OAEG;IACH,YAAY,OAA+B;QACzC,KAAK,EAAE,CAAC;QAwRF,cAAS,GAAyB,IAAI,CAAC;QAIvC,YAAO,GAAG,KAAK,CAAC;QAChB,WAAM,GAA+B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QA5R5E,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE3B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1C,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,UAAU,CAAC,eAAe;YACpC,OAAO,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC;YAC9C,QAAQ;YACR,aAAa;YACb,QAAQ;YACR,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC;YACxC,OAAO;YACP,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,YAAY,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QACtD,OAAO,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC7D;QAED,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE9B,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACvC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAiBD;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,GAAY;QAClC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE;aACf,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,GAAY;QACnC,IAAI,CAAC,OAAO;aACT,OAAO,EAAE;aACT,IAAI,CAAC,GAAG,EAAE;YACT,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,WAAW;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACpD,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SACzB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAE/B,0EAA0E;QAC1E,yDAAyD;QACzD,qBAAqB,CAAC,GAAG,EAAE;YACzB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;SACR;QAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE;YAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,CAAC,QAAQ;aACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACtB,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,IAAI,YAAY,CAAC,UAAU,EAAE;gBAC3B,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;aAC5B;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACtB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzB;YACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,MAAM,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;YACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;CAWF;AA6FD;;GAEG;AACH,IAAU,OAAO,CA6EhB;AA7ED,WAAU,OAAO;IACf;;OAEG;IACH,SAAgB,wBAAwB,CACtC,IAAiB,EACjB,UAAwB;QAExB,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,QAAQ,CAAC,MAAM,CACb,oBAAC,KAAK,CAAC,QAAQ;YACb;gBACE,oBAAC,WAAW,CAAC,KAAK,IAChB,SAAS,EAAC,mCAAmC,EAC7C,GAAG,EAAC,MAAM,EACV,eAAe,EAAC,QAAQ,EACxB,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,GACZ;gBACF,8BAAM,SAAS,EAAC,oCAAoC,eAAgB,CACjE;YACL,8BAAM,SAAS,EAAC,mCAAmC,IAChD,KAAK,CAAC,EAAE,CACP,iEAAiE,CAClE,CACI,CACQ,EACjB,IAAI,CACL,CAAC;IACJ,CAAC;IA1Be,gCAAwB,2BA0BvC,CAAA;IAED;;OAEG;IACH,SAAgB,cAAc,CAC5B,KAAwB,EACxB,OAAmC;QAEnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACpD,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACtD;QACD,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE;YAC3B,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC7D,OAAO,KAAmC,CAAC;SAC5C;QAED,MAAM,SAAS,GACb,WAAW,IAAI,KAAK;YACpB,KAAK,CAAC,SAAS;YACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACjC,CAAC,CAAE,KAAK,CAAC,SAAwB;YACjC,CAAC,CAAC,EAAE,CAAC;QAET,KAAK,CAAC,SAAS,GAAG;YAChB,MAAM,EACJ,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;gBAClC,CAAC,CAAC,SAAS,CAAC,MAAM;gBAClB,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM;YACrC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC,KAAK;gBACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;SACrD,CAAC;QAEF,OAAO,KAAmC,CAAC;IAC7C,CAAC;IAlCe,sBAAc,iBAkC7B,CAAA;IAED;;OAEG;IACH,SAAS,WAAW,CAAC,KAAgB;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,EA7ES,OAAO,KAAP,OAAO,QA6EhB"}