polite-media 0.4.2 → 0.5.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/CHANGELOG.md +66 -0
- package/README.md +77 -38
- package/dist/coordinator.d.ts +4 -2
- package/dist/coordinator.d.ts.map +1 -1
- package/dist/coordinator.js +52 -26
- package/dist/coordinator.js.map +1 -1
- package/dist/events.d.ts +8 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +6 -0
- package/dist/events.js.map +1 -1
- package/dist/image.css +1 -1
- package/dist/image.d.ts +6 -13
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +43 -16
- package/dist/image.js.map +1 -1
- package/dist/layer.css +1 -1
- package/dist/video.css +1 -1
- package/dist/video.d.ts +1 -1
- package/dist/video.d.ts.map +1 -1
- package/dist/video.js +1 -1
- package/dist/video.js.map +1 -1
- package/package.json +1 -1
- package/src/coordinator.ts +74 -42
- package/src/events.ts +9 -0
- package/src/image.css +10 -5
- package/src/image.ts +52 -27
- package/src/layer.css +3 -2
- package/src/video.css +19 -13
- package/src/video.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,72 @@
|
|
|
3
3
|
Notable changes, newest first. Versions follow [semver](https://semver.org); while
|
|
4
4
|
this is `0.x`, a minor bump may still break things and will say so here.
|
|
5
5
|
|
|
6
|
+
## 0.5.0 (2026-09-12)
|
|
7
|
+
|
|
8
|
+
### Breaking
|
|
9
|
+
|
|
10
|
+
- **`data-polite-media` no longer has to be the video's direct parent.** The library writes its
|
|
11
|
+
state to the nearest `[data-polite-media]` ancestor, and `video.css` and `layer.css` match the
|
|
12
|
+
video as a descendant of the box rather than a child. The poster rules are unchanged: a poster is
|
|
13
|
+
still a direct child, so a logo deeper in the box is still left alone. One box holds one video, and
|
|
14
|
+
boxes must not nest, because the box's ready state reveals every video inside it. If your CSS
|
|
15
|
+
extended `[data-polite-media] > video`, drop the `>`.
|
|
16
|
+
|
|
17
|
+
- **`image.css` hides only lazy images.** An eager image may be the LCP element, and a deferred
|
|
18
|
+
module cannot reveal it before first paint, so the stylesheet now leaves `loading="eager"` (and
|
|
19
|
+
images with no `loading`) alone. To fade one anyway, write `data-polite-reveal="eager"` on it.
|
|
20
|
+
`revealImages()`'s `allowEager` option is ignored and warns, because the opt-in has to be where
|
|
21
|
+
the stylesheet can see it.
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **`registerAll()` and `revealImages()` take no argument** and default to
|
|
26
|
+
`'[data-polite-media] video'` and `'img[data-polite-reveal]'`, which is what both known consumers
|
|
27
|
+
had written out.
|
|
28
|
+
|
|
29
|
+
- **`polite-video:blocked`, and `data-polite-blocked` on the box**, while the browser refuses
|
|
30
|
+
`play()` until a gesture. The retry was already there; what was missing was any way for a host to
|
|
31
|
+
know it was waiting, so a play affordance could not be shown. Fires once per refusal, not on every
|
|
32
|
+
retried attempt, and the attribute is removed once playback starts.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- **A pause was lost from `<html>` on a client-side navigation.** A router such as Astro's
|
|
37
|
+
`<ClientRouter />` replaces the root element's attributes with the next document's, and the pause
|
|
38
|
+
state was only written on the first registration of a page load. The videos stayed paused, but
|
|
39
|
+
`data-polite-paused` and a declared `aria-pressed` said otherwise. Both are now re-asserted on
|
|
40
|
+
every `register()`.
|
|
41
|
+
|
|
42
|
+
- **`polite-video:ready` fired again each time a video scrolled back into view.** The frame was
|
|
43
|
+
still on screen, so nothing had been revealed. It now fires once per reveal; a retraction (reduced
|
|
44
|
+
motion, Save-Data, a source fallback) still announces the re-reveal.
|
|
45
|
+
|
|
46
|
+
### Documentation
|
|
47
|
+
|
|
48
|
+
- The README now lists all four places the library changes an element you authored: `preload`
|
|
49
|
+
(twice), `muted`, and `src` plus `load()` when a `<source>` list is resolved.
|
|
50
|
+
|
|
51
|
+
## 0.4.3 (2026-09-06)
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- **An image below the fold arrived without its fade.** The stylesheet's failsafe reveals a marked
|
|
56
|
+
image after `--polite-failsafe` (default `5s`) whatever JavaScript does, and it was firing on
|
|
57
|
+
images `revealImages()` had already claimed. A lazy image that had not loaded yet reached
|
|
58
|
+
`opacity: 1` while still in flight, so when the picture finally arrived there was nothing left to
|
|
59
|
+
fade. Measured on a live page: eleven images revealed that way five seconds in, none of them
|
|
60
|
+
loaded.
|
|
61
|
+
|
|
62
|
+
The library now marks an image it owns with `data-polite-managed` and the stylesheet stands down
|
|
63
|
+
for those. A claimed image is safe without the failsafe because the module always resolves one, on
|
|
64
|
+
`decode()` and failing that on `load` or `error`; if a teardown gives up on a claim, the mark is
|
|
65
|
+
removed and the stylesheet takes the image back.
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
|
|
69
|
+
- **`data-polite-managed` on an `<img>`**, for as long as `revealImages()` owns its reveal. Part of
|
|
70
|
+
the public CSS API like the other attributes the library writes.
|
|
71
|
+
|
|
6
72
|
## 0.4.2 (2026-09-06)
|
|
7
73
|
|
|
8
74
|
### Fixed
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ npm install polite-media
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
```html
|
|
14
|
-
<!-- data-polite-media goes on the
|
|
14
|
+
<!-- data-polite-media goes on the box that holds poster and video -->
|
|
15
15
|
<div class="your-own-box" data-polite-media>
|
|
16
16
|
<img src="poster.avif" alt="" />
|
|
17
17
|
<!-- decorative: the video is not in the tab order, the poster's alt carries any meaning -->
|
|
@@ -122,7 +122,7 @@ one before it arrives.
|
|
|
122
122
|
import { revealImages } from 'polite-media/image';
|
|
123
123
|
import 'polite-media/image.css';
|
|
124
124
|
|
|
125
|
-
revealImages(
|
|
125
|
+
revealImages(); // every img[data-polite-reveal] on the page
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
### Warming the next page's hero
|
|
@@ -143,7 +143,7 @@ warmOnIntent('a[data-hero]', (link) => ({
|
|
|
143
143
|
|
|
144
144
|
## The attributes
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
Nine in total. The distinction that catches people is the middle column: two of
|
|
147
147
|
the ones you write are live on their own, and one is inert until you call
|
|
148
148
|
something.
|
|
149
149
|
|
|
@@ -154,14 +154,17 @@ something.
|
|
|
154
154
|
| `data-polite-pause-control` | your `<button>` | **yes**, no call anywhere on the page |
|
|
155
155
|
| `data-polite-ready` | the box, or the image | written by the library |
|
|
156
156
|
| `data-polite-failed` | the box | written by the library |
|
|
157
|
+
| `data-polite-blocked` | the box | written by the library |
|
|
157
158
|
| `data-polite-paused` | `<html>` | written by the library |
|
|
158
159
|
| `data-polite-active` | `<html>` | written by the library |
|
|
160
|
+
| `data-polite-managed` | the `<img>` | written by the library |
|
|
159
161
|
|
|
160
162
|
`data-polite-reveal` is the one to be careful with. `image.css` hides a marked
|
|
161
|
-
image immediately, so marking one you never pass to `revealImages()` leaves
|
|
162
|
-
hidden until the failsafe shows it, five seconds later and without a fade. The
|
|
163
|
+
lazy image immediately, so marking one you never pass to `revealImages()` leaves
|
|
164
|
+
it hidden until the failsafe shows it, five seconds later and without a fade. The
|
|
163
165
|
console names any image in that state, so widen the selector or drop the
|
|
164
|
-
attribute.
|
|
166
|
+
attribute. An eager image is never hidden; give the attribute the value `eager`
|
|
167
|
+
to opt one into the fade anyway.
|
|
165
168
|
|
|
166
169
|
`data-polite-active` is on `<html>` for as long as at least one video is
|
|
167
170
|
registered. A pause control is markup on every page, but it must not offer to
|
|
@@ -176,9 +179,14 @@ stop something that was never registered, and nothing else lets CSS answer that:
|
|
|
176
179
|
}
|
|
177
180
|
```
|
|
178
181
|
|
|
179
|
-
The bottom
|
|
182
|
+
The bottom six are yours to style against and never to write yourself. They are
|
|
180
183
|
the public CSS API, along with `--polite-fade` and `--polite-failsafe`.
|
|
181
184
|
|
|
185
|
+
`data-polite-blocked` is on the box while the browser refuses `play()` until a
|
|
186
|
+
gesture, which MDN reports as `NotAllowedError`. The library keeps retrying on its
|
|
187
|
+
own; the attribute is there so your CSS can show a play affordance in the
|
|
188
|
+
meantime, and it is removed once playback starts.
|
|
189
|
+
|
|
182
190
|
### Composing your own animation with the reveal
|
|
183
191
|
|
|
184
192
|
Gating an animation of your own on `data-polite-ready` works, and needs one thing
|
|
@@ -212,21 +220,20 @@ it could have mattered.
|
|
|
212
220
|
arrived once JS ran, a page whose bundle failed would stack that over the
|
|
213
221
|
poster. Authored, the safe state is the default.
|
|
214
222
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
it can detect this.
|
|
223
|
+
The video may sit anywhere inside that box: the library writes its state to
|
|
224
|
+
the nearest `[data-polite-media]` ancestor, and the stylesheet matches the
|
|
225
|
+
video as a descendant. One box holds one video, and boxes must not nest,
|
|
226
|
+
because the box's ready state reveals every video inside it: a second one
|
|
227
|
+
would appear before it had painted. With no box above the video at all,
|
|
228
|
+
nothing hides it and the library warns on the console.
|
|
222
229
|
|
|
223
230
|
3. The poster is ideally the video's **frame 0**, which is what makes the handoff
|
|
224
231
|
invisible, but only together with cutting rather than fading. See
|
|
225
232
|
[The fade](#the-fade).
|
|
226
|
-
4.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
233
|
+
4. The poster is a direct child of the box. The box may hold anything else it
|
|
234
|
+
likes, a scrim, a caption, a pause control, and those are left alone. But
|
|
235
|
+
**every** direct-child `img` or `picture` is treated as the poster and hidden
|
|
236
|
+
on reveal, so a logo or badge belongs deeper, not beside the video.
|
|
230
237
|
5. Order several `<source>` elements narrowest first: the first one that claims
|
|
231
238
|
the viewport wins. **You do not need an unconditional fallback.** Two queries
|
|
232
239
|
meant to partition the viewport often do not quite meet, and
|
|
@@ -249,14 +256,14 @@ it could have mattered.
|
|
|
249
256
|
```js
|
|
250
257
|
// polite-media/video
|
|
251
258
|
register(video, { until, observe, startWhen }); // manage a video
|
|
252
|
-
registerAll(target
|
|
259
|
+
registerAll(target?, { until, startWhen }); // every [data-polite-media] video by default
|
|
253
260
|
unregister(video); // stop managing it, release everything
|
|
254
261
|
unregisterAll(); // tear down the whole page
|
|
255
262
|
configure({ ... }); // before the first register, or it throws
|
|
256
263
|
pauseAll(); resumeAll(); // WCAG 2.2.2 control, emits pausechange
|
|
257
264
|
|
|
258
265
|
// polite-media/image
|
|
259
|
-
const stop = revealImages(target
|
|
266
|
+
const stop = revealImages(target?); // reveal on decode; every marked image by default
|
|
260
267
|
stop(); // cancel anything pending
|
|
261
268
|
|
|
262
269
|
// polite-media/warm
|
|
@@ -272,9 +279,15 @@ Types: `ConfigureOptions`, `RegisterOptions`, `RevealImagesOptions`,
|
|
|
272
279
|
`WarmOptions`, `WarmSource`, `VideoTarget`, `ImageTarget`, `AtOnce`,
|
|
273
280
|
`PoliteVideoEventDetail`, `PoliteImageEventDetail`, `PolitePauseEventDetail`.
|
|
274
281
|
Event names ship as constants
|
|
275
|
-
(`POLITE_VIDEO_READY`, `POLITE_VIDEO_FAILED`, `
|
|
276
|
-
`POLITE_VIDEO_PAUSECHANGE`), because a mistyped event
|
|
277
|
-
against lib.dom's `type: string` overload.
|
|
282
|
+
(`POLITE_VIDEO_READY`, `POLITE_VIDEO_FAILED`, `POLITE_VIDEO_BLOCKED`,
|
|
283
|
+
`POLITE_IMAGE_READY`, `POLITE_VIDEO_PAUSECHANGE`), because a mistyped event
|
|
284
|
+
string still compiles against lib.dom's `type: string` overload.
|
|
285
|
+
|
|
286
|
+
`polite-video:ready` fires once per reveal. A video that scrolls away and back
|
|
287
|
+
keeps its last frame on screen, so it is not announced again; one whose reveal
|
|
288
|
+
was retracted, by reduced motion, Save-Data or a source fallback, is announced
|
|
289
|
+
again when it re-reveals. `polite-video:blocked` fires once when the browser
|
|
290
|
+
refuses `play()` until a gesture, and not again on each refused retry.
|
|
278
291
|
|
|
279
292
|
`polite-video:pausechange` is the odd one out: a user pause is page-wide rather
|
|
280
293
|
than about one video, so it is dispatched on `document` with
|
|
@@ -353,7 +366,9 @@ register(video, {
|
|
|
353
366
|
when the video is `inset: 0` inside the element that carries the layout.
|
|
354
367
|
|
|
355
368
|
`registerAll(target)` takes the same shapes `revealImages` does (a selector, an
|
|
356
|
-
element, or any collection) and registers each
|
|
369
|
+
element, or any collection) and registers each; called with nothing it takes
|
|
370
|
+
`'[data-polite-media] video'`, which is what every known caller had written out.
|
|
371
|
+
It does not accept `observe`:
|
|
357
372
|
each observed element maps to exactly one video, and `register` refuses a second
|
|
358
373
|
video on a target it already watches, with a warning.
|
|
359
374
|
|
|
@@ -400,10 +415,14 @@ with `'interaction'`, so "wait for the visitor, and also wait for the buffer"
|
|
|
400
415
|
could not be expressed at all.
|
|
401
416
|
|
|
402
417
|
Two consequences. A page whose `load` never fires never starts its videos, and
|
|
403
|
-
`requireBuffered` is one of
|
|
404
|
-
`prefetch()` also promotes `preload` to `'auto'` for any video within
|
|
405
|
-
configured `prefetchMargin
|
|
406
|
-
|
|
418
|
+
`requireBuffered` is one of four places the library changes the element you
|
|
419
|
+
authored. `prefetch()` also promotes `preload` to `'auto'` for any video within
|
|
420
|
+
a configured `prefetchMargin`; `muted` is set before every `play()`, since muted
|
|
421
|
+
is the one condition autoplay can rely on; and when a `<source>` list is
|
|
422
|
+
resolved, `src` is assigned the chosen file and `load()` is called, so
|
|
423
|
+
`currentSrc` reflects that choice and the `<source>` children are no longer
|
|
424
|
+
consulted. `until` composes with all of it, and a video waits for every gate
|
|
425
|
+
that applies to it.
|
|
407
426
|
|
|
408
427
|
### `pauseBelow`
|
|
409
428
|
|
|
@@ -621,9 +640,11 @@ drops any entry whose element has left the document on its next pass.
|
|
|
621
640
|
- Caps how many videos run at once, on any viewport, not just small ones.
|
|
622
641
|
- Falls through to the next `<source>` when one can't be decoded.
|
|
623
642
|
- Honours `prefers-reduced-motion` live, and Save-Data on the next reconcile.
|
|
624
|
-
- Recovers from bfcache restores, tab refocus and blocked autoplay
|
|
643
|
+
- Recovers from bfcache restores, tab refocus and blocked autoplay, and says so
|
|
644
|
+
while it waits.
|
|
625
645
|
- Ships a pause control hook for [WCAG 2.2.2][wcag].
|
|
626
|
-
- Emits `polite-video:ready`, `polite-video:failed
|
|
646
|
+
- Emits `polite-video:ready`, `polite-video:failed`, `polite-video:blocked` and
|
|
647
|
+
`polite-video:pausechange`.
|
|
627
648
|
|
|
628
649
|
## What it deliberately doesn't do
|
|
629
650
|
|
|
@@ -640,9 +661,12 @@ candidates you already build, and generates none.
|
|
|
640
661
|
every image inside it, including ones the library then declines to fade, so each
|
|
641
662
|
one waits out the failsafe instead of fading.
|
|
642
663
|
|
|
643
|
-
**Eager images are
|
|
644
|
-
at `opacity: 0
|
|
645
|
-
`
|
|
664
|
+
**Eager images are never hidden, so they cut rather than fade.** LCP excludes
|
|
665
|
+
elements at `opacity: 0`, and a deferred module cannot reveal one before first
|
|
666
|
+
paint, so `image.css` hides only `loading="lazy"` images and the module marks an
|
|
667
|
+
eager one ready at once. To fade an eager image anyway, write
|
|
668
|
+
`data-polite-reveal="eager"` on it: the choice has to be in the markup, where
|
|
669
|
+
the stylesheet can see it, which is why the old `allowEager` option is gone.
|
|
646
670
|
|
|
647
671
|
**An image needs a backdrop.** Video degrades to its poster; a lone image
|
|
648
672
|
degrades to nothing, so its container must carry a visible `background-color`.
|
|
@@ -653,9 +677,23 @@ so with scripting off the photos arrive unfaded instead of never arriving. And
|
|
|
653
677
|
because no media query can see a bundle that fails while scripting is on, the
|
|
654
678
|
stylesheet reveals any marked image after `--polite-failsafe` (default `5s`)
|
|
655
679
|
regardless. A missed selector or a dead bundle costs you the fade, not the
|
|
656
|
-
picture.
|
|
657
|
-
|
|
658
|
-
|
|
680
|
+
picture.
|
|
681
|
+
|
|
682
|
+
**The failsafe is only for images nothing is going to reveal.** It stands down
|
|
683
|
+
for two kinds: one already revealed, and one `revealImages()` has claimed, which
|
|
684
|
+
the library marks with `data-polite-managed`. Both matter.
|
|
685
|
+
|
|
686
|
+
Leaving it on a revealed image let it, not the reveal, decide `opacity`, because
|
|
687
|
+
an animation outranks every normal declaration in the cascade; Firefox then held
|
|
688
|
+
a decoded image at zero for the full five seconds. Leaving it on a claimed one is
|
|
689
|
+
worse and quieter: a lazy image below the fold reaches `opacity: 1` while it is
|
|
690
|
+
still in flight, so when the picture finally arrives there is no fade left to run.
|
|
691
|
+
Measured on a live page, eleven images were revealed that way five seconds in,
|
|
692
|
+
none of them loaded.
|
|
693
|
+
|
|
694
|
+
A claimed image is safe without it because this module always resolves one: on
|
|
695
|
+
`decode()`, and failing that on `load` or `error`. If a teardown gives up on a
|
|
696
|
+
claim, the mark is removed and the stylesheet takes the image back.
|
|
659
697
|
|
|
660
698
|
## Why it exists
|
|
661
699
|
|
|
@@ -702,11 +740,12 @@ Framework-agnostic by construction: no framework dependency, standard DOM only,
|
|
|
702
740
|
developed against Astro projects.
|
|
703
741
|
|
|
704
742
|
**Tested on Chromium, Firefox and WebKit**, all three driven by Playwright
|
|
705
|
-
against real media on every change, alongside
|
|
743
|
+
against real media on every change, alongside 233 unit tests. Other engines are
|
|
706
744
|
unexercised rather than unsupported.
|
|
707
745
|
|
|
708
746
|
**iOS Safari is outside the matrix**, and Playwright's WebKit does not stand in
|
|
709
|
-
for it. The path that rests on it is the retry after a refused `play()`,
|
|
747
|
+
for it. The path that rests on it is the retry after a refused `play()`, announced
|
|
748
|
+
as `polite-video:blocked` so it can be seen in the field, which
|
|
710
749
|
rejects with `NotAllowedError`; the library follows MDN's documented remedy of
|
|
711
750
|
surfacing a control and waiting for a gesture.
|
|
712
751
|
|
package/dist/coordinator.d.ts
CHANGED
|
@@ -180,7 +180,9 @@ export declare function register(video: HTMLVideoElement, options?: RegisterOpti
|
|
|
180
180
|
export type VideoTarget = Target<HTMLVideoElement>;
|
|
181
181
|
/**
|
|
182
182
|
* Registers every video a target names, so the common case is one line and
|
|
183
|
-
* matches `revealImages` on the image side rather than being a second idea.
|
|
183
|
+
* matches `revealImages` on the image side rather than being a second idea. With
|
|
184
|
+
* no target it takes every video inside a `[data-polite-media]` box, which is
|
|
185
|
+
* what every known caller passed by hand.
|
|
184
186
|
*
|
|
185
187
|
* `observe` is deliberately not accepted. Each observed element maps to exactly
|
|
186
188
|
* one entry, so handing the same wrapper to several videos would silently
|
|
@@ -190,7 +192,7 @@ export type VideoTarget = Target<HTMLVideoElement>;
|
|
|
190
192
|
* Idempotent, because `register` is: safe to call on every navigation of a
|
|
191
193
|
* client-side router, where module scripts do not re-run.
|
|
192
194
|
*/
|
|
193
|
-
export declare function registerAll(target
|
|
195
|
+
export declare function registerAll(target?: VideoTarget, options?: Omit<RegisterOptions, 'observe'>): void;
|
|
194
196
|
/**
|
|
195
197
|
* Stops managing a video and releases everything it owned: the observer entry,
|
|
196
198
|
* any pending pause timer, its listeners, and the page-level listeners once it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA4ED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAcvD;AAwDD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAkjBD,wBAAgB,SAAS,IAAI,IAAI,CAsFhC;AAiPD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CA6DrF;AAED,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,MAAM,GAAE,WAAyC,EACjD,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAM,GAC7C,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAwBxD;AAiED,wBAAgB,QAAQ,IAAI,IAAI,CAG/B;AAED,sDAAsD;AACtD,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAErF"}
|
package/dist/coordinator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { connectionAllowsMedia, mediaQuery, motionAllowed } from './env.js';
|
|
2
|
-
import { POLITE_VIDEO_PAUSECHANGE, POLITE_VIDEO_FAILED, POLITE_VIDEO_READY, } from './events.js';
|
|
2
|
+
import { POLITE_VIDEO_BLOCKED, POLITE_VIDEO_PAUSECHANGE, POLITE_VIDEO_FAILED, POLITE_VIDEO_READY, } from './events.js';
|
|
3
3
|
import { revealWhenPainted } from './reveal.js';
|
|
4
4
|
import { isUnusable, manageSources, resetSourceWarnings } from './sources.js';
|
|
5
5
|
import { resolveTargets } from './targets.js';
|
|
@@ -276,7 +276,7 @@ function pauseAfterGrace(entry) {
|
|
|
276
276
|
* because the useful listener is usually on a container, not on each video.
|
|
277
277
|
*/
|
|
278
278
|
function emit(entry, type) {
|
|
279
|
-
entry.video.dispatchEvent(new CustomEvent(type
|
|
279
|
+
entry.video.dispatchEvent(new CustomEvent(type, { bubbles: true, detail: { video: entry.video } }));
|
|
280
280
|
}
|
|
281
281
|
/**
|
|
282
282
|
* Reveal state goes on the container, not the `<video>`, because the poster is an
|
|
@@ -285,7 +285,7 @@ function emit(entry, type) {
|
|
|
285
285
|
*/
|
|
286
286
|
function markReady(entry) {
|
|
287
287
|
entry.host.setAttribute('data-polite-ready', '');
|
|
288
|
-
emit(entry,
|
|
288
|
+
emit(entry, POLITE_VIDEO_READY);
|
|
289
289
|
}
|
|
290
290
|
function clearReady(entry) {
|
|
291
291
|
entry.cancelReveal?.();
|
|
@@ -293,6 +293,10 @@ function clearReady(entry) {
|
|
|
293
293
|
entry.host.removeAttribute('data-polite-ready');
|
|
294
294
|
}
|
|
295
295
|
function armReveal(entry) {
|
|
296
|
+
// Still revealed from before it scrolled away, so the frame is on screen and re-arming would
|
|
297
|
+
// only announce `ready` a second time. Only a retraction, which removes the attribute, re-arms.
|
|
298
|
+
if (entry.host.hasAttribute('data-polite-ready'))
|
|
299
|
+
return;
|
|
296
300
|
entry.cancelReveal?.();
|
|
297
301
|
entry.cancelReveal = revealWhenPainted(entry.video, () => markReady(entry));
|
|
298
302
|
}
|
|
@@ -358,11 +362,10 @@ let warnedNothingToReveal = false;
|
|
|
358
362
|
/**
|
|
359
363
|
* The one misconfiguration that is otherwise undetectable.
|
|
360
364
|
*
|
|
361
|
-
*
|
|
362
|
-
* `
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
* the library looks installed while doing nothing at all.
|
|
365
|
+
* video.css hides a video only inside an authored `[data-polite-media]` box. With
|
|
366
|
+
* none above the video, `host` falls back to its parent, every rule misses, the
|
|
367
|
+
* video is visible from the start, the poster never hides, and the library looks
|
|
368
|
+
* installed while doing nothing at all.
|
|
366
369
|
*
|
|
367
370
|
* Checked here rather than at registration because stylesheets have certainly
|
|
368
371
|
* applied by the time a video starts. The visual test is what separates a genuine
|
|
@@ -381,8 +384,9 @@ function warnIfNothingToReveal(entry) {
|
|
|
381
384
|
if (style.opacity !== '1' || style.visibility !== 'visible')
|
|
382
385
|
return;
|
|
383
386
|
warnedNothingToReveal = true;
|
|
384
|
-
console.warn(
|
|
385
|
-
'nothing. Put the attribute
|
|
387
|
+
console.warn('polite-media: no data-polite-media on any box around this video, so revealing it does ' +
|
|
388
|
+
'nothing. Put the attribute on the box holding poster and video, or hide the video with ' +
|
|
389
|
+
'your own CSS.', entry.video);
|
|
386
390
|
}
|
|
387
391
|
/**
|
|
388
392
|
* Nothing decodable is left. The poster stays and the host is told, rather than
|
|
@@ -390,10 +394,25 @@ function warnIfNothingToReveal(entry) {
|
|
|
390
394
|
*/
|
|
391
395
|
function markFailed(entry) {
|
|
392
396
|
clearReady(entry);
|
|
397
|
+
clearBlocked(entry);
|
|
393
398
|
entry.host.setAttribute('data-polite-failed', '');
|
|
394
|
-
emit(entry,
|
|
399
|
+
emit(entry, POLITE_VIDEO_FAILED);
|
|
395
400
|
unregister(entry.video);
|
|
396
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* The browser refused to start playback until a gesture, which MDN reports as `NotAllowedError`.
|
|
404
|
+
* The retry rungs handle recovery; this tells the host, the only party that can offer a play
|
|
405
|
+
* affordance. The other rejection, nothing buffered yet, is transient and not announced.
|
|
406
|
+
*/
|
|
407
|
+
function markBlocked(entry) {
|
|
408
|
+
if (entry.host.hasAttribute('data-polite-blocked'))
|
|
409
|
+
return;
|
|
410
|
+
entry.host.setAttribute('data-polite-blocked', '');
|
|
411
|
+
emit(entry, POLITE_VIDEO_BLOCKED);
|
|
412
|
+
}
|
|
413
|
+
function clearBlocked(entry) {
|
|
414
|
+
entry.host.removeAttribute('data-polite-blocked');
|
|
415
|
+
}
|
|
397
416
|
/**
|
|
398
417
|
* Waits for the next user gesture, then re-runs the arbiter.
|
|
399
418
|
*
|
|
@@ -440,7 +459,9 @@ function tryPlay(entry) {
|
|
|
440
459
|
// muted is the only condition it can rely on. Set rather than trusted, which
|
|
441
460
|
// also covers markup whose property was changed after parse.
|
|
442
461
|
entry.video.muted = true;
|
|
443
|
-
void entry.video.play().
|
|
462
|
+
void entry.video.play().then(() => clearBlocked(entry), (error) => {
|
|
463
|
+
if (error?.name === 'NotAllowedError')
|
|
464
|
+
markBlocked(entry);
|
|
444
465
|
armGestureRetry();
|
|
445
466
|
if (entry.retryArmed)
|
|
446
467
|
return;
|
|
@@ -761,19 +782,23 @@ function detachLifecycle() {
|
|
|
761
782
|
gestureArmed = false;
|
|
762
783
|
}
|
|
763
784
|
/**
|
|
764
|
-
*
|
|
785
|
+
* Puts `<html>` and every declared pause control in step with `userPaused`.
|
|
765
786
|
*
|
|
766
|
-
*
|
|
767
|
-
* setting it unconditionally would break one of them: `aria-pressed`
|
|
768
|
-
* control whose label stays constant, while a control that swaps its
|
|
769
|
-
* between "Pause" and "Play" should not carry it at all -- a screen reader
|
|
770
|
-
* announce "Play, pressed". Declaring the attribute in markup is the author
|
|
787
|
+
* `aria-pressed` is maintained rather than added, because MDN describes two valid
|
|
788
|
+
* patterns and setting it unconditionally would break one of them: `aria-pressed`
|
|
789
|
+
* is for a control whose label stays constant, while a control that swaps its
|
|
790
|
+
* label between "Pause" and "Play" should not carry it at all -- a screen reader
|
|
791
|
+
* would announce "Play, pressed". Declaring the attribute in markup is the author
|
|
771
792
|
* saying which pattern they are in.
|
|
772
793
|
*
|
|
773
794
|
* Restricted to a button role because that is the only role `aria-pressed` is
|
|
774
795
|
* valid on, so this cannot emit ARIA that a validator would reject.
|
|
775
796
|
*/
|
|
776
797
|
function reflectPaused() {
|
|
798
|
+
if (userPaused)
|
|
799
|
+
document.documentElement.setAttribute('data-polite-paused', '');
|
|
800
|
+
else
|
|
801
|
+
document.documentElement.removeAttribute('data-polite-paused');
|
|
777
802
|
for (const control of document.querySelectorAll('[data-polite-pause-control][aria-pressed]')) {
|
|
778
803
|
if (control.matches('button, [role="button"]')) {
|
|
779
804
|
control.setAttribute('aria-pressed', String(userPaused));
|
|
@@ -833,7 +858,6 @@ function restorePaused() {
|
|
|
833
858
|
if (userPaused || !readStoredPause())
|
|
834
859
|
return;
|
|
835
860
|
userPaused = true;
|
|
836
|
-
document.documentElement.setAttribute('data-polite-paused', '');
|
|
837
861
|
reflectPaused();
|
|
838
862
|
}
|
|
839
863
|
/**
|
|
@@ -891,7 +915,7 @@ export function register(video, options = {}) {
|
|
|
891
915
|
const entry = {
|
|
892
916
|
video,
|
|
893
917
|
target,
|
|
894
|
-
host: video.parentElement ?? video,
|
|
918
|
+
host: video.closest('[data-polite-media]') ?? video.parentElement ?? video,
|
|
895
919
|
ratio: 0,
|
|
896
920
|
gated: Boolean(options.until),
|
|
897
921
|
hadGate: Boolean(options.until),
|
|
@@ -906,6 +930,10 @@ export function register(video, options = {}) {
|
|
|
906
930
|
byTarget.set(target, entry);
|
|
907
931
|
reflectActive();
|
|
908
932
|
attachLifecycle();
|
|
933
|
+
// A client-side router replaces <html>'s attributes and the control with the next page's while
|
|
934
|
+
// this module, and a pause made before the swap, survive. So it is re-asserted per registration.
|
|
935
|
+
if (userPaused)
|
|
936
|
+
reflectPaused();
|
|
909
937
|
getObserver().observe(target);
|
|
910
938
|
getPrefetchObserver()?.observe(target);
|
|
911
939
|
if (options.until) {
|
|
@@ -928,7 +956,9 @@ export function register(video, options = {}) {
|
|
|
928
956
|
}
|
|
929
957
|
/**
|
|
930
958
|
* Registers every video a target names, so the common case is one line and
|
|
931
|
-
* matches `revealImages` on the image side rather than being a second idea.
|
|
959
|
+
* matches `revealImages` on the image side rather than being a second idea. With
|
|
960
|
+
* no target it takes every video inside a `[data-polite-media]` box, which is
|
|
961
|
+
* what every known caller passed by hand.
|
|
932
962
|
*
|
|
933
963
|
* `observe` is deliberately not accepted. Each observed element maps to exactly
|
|
934
964
|
* one entry, so handing the same wrapper to several videos would silently
|
|
@@ -938,7 +968,7 @@ export function register(video, options = {}) {
|
|
|
938
968
|
* Idempotent, because `register` is: safe to call on every navigation of a
|
|
939
969
|
* client-side router, where module scripts do not re-run.
|
|
940
970
|
*/
|
|
941
|
-
export function registerAll(target, options = {}) {
|
|
971
|
+
export function registerAll(target = '[data-polite-media] video', options = {}) {
|
|
942
972
|
for (const video of resolveTargets(target))
|
|
943
973
|
register(video, options);
|
|
944
974
|
}
|
|
@@ -1012,10 +1042,6 @@ function setPaused(paused) {
|
|
|
1012
1042
|
if (userPaused === paused)
|
|
1013
1043
|
return;
|
|
1014
1044
|
userPaused = paused;
|
|
1015
|
-
if (paused)
|
|
1016
|
-
document.documentElement.setAttribute('data-polite-paused', '');
|
|
1017
|
-
else
|
|
1018
|
-
document.documentElement.removeAttribute('data-polite-paused');
|
|
1019
1045
|
reflectPaused();
|
|
1020
1046
|
reconcile();
|
|
1021
1047
|
// Announced last, once the videos have actually stopped or restarted. Firing
|
package/dist/coordinator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAsB,MAAM,cAAc,CAAC;AAClG,OAAO,EAAE,cAAc,EAAe,MAAM,cAAc,CAAC;AAyJ3D,MAAM,QAAQ,GAAmB;IAC/B,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,oBAAoB;IACnC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAClC,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,aAAa;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAI,MAAM,GAAmB,EAAE,GAAG,QAAQ,EAAE,CAAC;AAE7C;;;;;;;GAOG;AACH,SAAS,UAAU;IACjB,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B;;;;;;;;;;;;;GAaG;AACH,MAAM,sBAAsB,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,eAAe,CAAU,CAAC;AAE1F;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAuB;IAC/C,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD;gBACjF,wEAAwE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,QAAQ,CAAC,KAAuB;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,IACE,UAAU,KAAK,SAAS;QACxB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,oEAAoE,UAAU,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAClD,MAAM,IAAI,UAAU,CAAC,mDAAmD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3E,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;IAClG,CAAC;IAED,iFAAiF;IACjF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,8BAA8B;IAC9B,EAAE;IACF,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;QACrF,IAAI,oBAAoB,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACxF,CAAC;AACH,CAAC;AAmFD;;;;GAIG;AACH,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;AACnD,kFAAkF;AAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C,yFAAyF;AACzF,IAAI,QAAQ,GAAgC,IAAI,CAAC;AACjD;;;;;GAKG;AACH,IAAI,gBAAgB,GAAgC,IAAI,CAAC;AACzD,wFAAwF;AACxF,IAAI,SAAS,GAA2B,IAAI,CAAC;AAC7C,qFAAqF;AACrF,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;;;GAIG;AACH,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,uFAAuF;AACvF,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB;;;;;;GAMG;AACH,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;GAKG;AACH,SAAS,YAAY;IACnB,OAAO,aAAa,EAAE,IAAI,qBAAqB,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,KAAK,IAAI,oBAAoB,CACnC,CAAC,OAAO,EAAE,EAAE;QACV,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,SAAS,EAAE,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC5B,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+FAA+F;AAC/F,SAAS,mBAAmB;IAC1B,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,gBAAgB,KAAK,IAAI,oBAAoB,CAC3C,CAAC,OAAO,EAAE,EAAE;QACV,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,sEAAsE;YACtE,yDAAyD;YACzD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EACD,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,CACpD,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU;IACjB,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,KAAY;IAC/B,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY;IAC5B,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IACtD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE;QAAE,OAAO,IAAI,CAAC;IAC/B,6EAA6E;IAC7E,gFAAgF;IAChF,OAAO,SAAS,KAAK,aAAa,IAAI,CAAC,UAAU,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO;IAC3C,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,yEAAyE;QACzE,uEAAuE;QACvE,4EAA4E;QAC5E,6EAA6E;QAC7E,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACxB,CAAC,EAAE,cAAc,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,IAAI,CACX,KAAY,EACZ,IAA0F;IAE1F,KAAK,CAAC,KAAK,CAAC,aAAa,CACvB,IAAI,WAAW,CAAyB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CACjG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAY;IAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;IACvB,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAY;IAC7B,6FAA6F;IAC7F,gGAAgG;IAChG,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAAE,OAAO;IACzD,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;IACvB,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,KAAY;IAC1C,IAAI,iBAAiB;QAAE,OAAO;IAE9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO;IAE7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;IAC3D,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzB,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,UAAU;QAAE,OAAO;IAEjC,iBAAiB,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,IAAI,CACV,0EAA0E;QACxE,iBAAiB,UAAU,iDAAiD;QAC5E,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD;QAC9E,eAAe,EACjB,KAAK,CAAC,KAAK,CACZ,CAAC;AACJ,CAAC;AAED,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,KAAuB;IACnD,IAAI,mBAAmB,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO;IAC/C,mBAAmB,GAAG,IAAI,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,2EAA2E;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC;YAAE,OAAO;QAElE,OAAO,CAAC,IAAI,CACV,oFAAoF;YAClF,mGAAmG,CACtG,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAElC;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAAC,KAAY;IACzC,IAAI,qBAAqB;QAAE,OAAO;IAClC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAAE,OAAO;IAEzD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO;IAEpE,qBAAqB,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,IAAI,CACV,wFAAwF;QACtF,yFAAyF;QACzF,eAAe,EACjB,KAAK,CAAC,KAAK,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAY;IAC9B,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACjC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAY;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QAAE,OAAO;IAC3D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe;IACtB,IAAI,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO;IACvC,YAAY,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,gBAAgB,CACvB,aAAa,EACb,GAAG,EAAE;QACH,YAAY,GAAG,KAAK,CAAC;QACrB,SAAS,EAAE,CAAC;IACd,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CACxD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,OAAO,CAAC,KAAY;IAC3B,oEAAoE;IACpE,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO;IAEjC,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,6DAA6D;IAC7D,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACzB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAC1B,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACzB,CAAC,KAAc,EAAE,EAAE;QACjB,IAAK,KAA6B,EAAE,IAAI,KAAK,iBAAiB;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACnF,eAAe,EAAE,CAAC;QAElB,IAAI,KAAK,CAAC,UAAU;YAAE,OAAO;QAC7B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAC1B,SAAS,EACT,GAAG,EAAE;YACH,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,SAAS,EAAE,CAAC;QACd,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAC/C,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO;IAC3C,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,KAAY;IAC3B,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEtB,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QAC/D,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,KAAY;IAC5B,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;QAAE,OAAO;IAC3C,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,oEAAoE;IACpE,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO;IAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM;QAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACnE,CAAC;AAED,SAAS,KAAK,CAAC,KAAY;IACzB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAErB,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7B,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO;IAE5B,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,4EAA4E;IAC5E,gDAAgD;IAChD,IACE,MAAM,CAAC,eAAe;QACtB,CAAC,KAAK,CAAC,cAAc;QACrB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,EACzC,CAAC;QACD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAC1B,gBAAgB,EAChB,GAAG,EAAE;YACH,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAC7B,SAAS,EAAE,CAAC;QACd,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAC/C,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,oFAAoF;AACpF,SAAS,KAAK;IACZ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAChF,CAAC;AAED,oDAAoD;AACpD,SAAS,WAAW,CAAC,UAAmB;IACtC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IACtB,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAClC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;IAEtE,OAAO,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,IAAI,GAAG,EAAE,UAAU,CAAC;IAE1B,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,uEAAuE;IACvE,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;aACnD,IAAI,KAAK,CAAC,aAAa;YAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,wCAAwC;IACxC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,+DAA+D;IAC/D,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,IAAI,KAAK,CAAC,OAAO;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAClD,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;YAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC;IAElC,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,oBAAoB;IACpB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC1C,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,SAAS;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,wEAAwE;YACxE,EAAE;YACF,yEAAyE;YACzE,mEAAmE;YACnE,sEAAsE;YACtE,wEAAwE;YACxE,yEAAyE;YACzE,4DAA4D;YAC5D,EAAE;YACF,wEAAwE;YACxE,0EAA0E;YAC1E,uDAAuD;YACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;;gBACzB,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,qEAAqE;IACrE,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa;IACpB,IAAI,UAAU;QAAE,OAAO;IACvB,UAAU,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,KAA0B;IAC5C,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO;IAE7B,8FAA8F;IAC9F,iGAAiG;IACjG,+FAA+F;IAC/F,8FAA8F;IAC9F,8DAA8D;IAC9D,EAAE;IACF,+FAA+F;IAC/F,0FAA0F;IAC1F,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,6FAA6F;IAC7F,+BAA+B;IAC/B,SAAS,EAAE,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;QAAE,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB;IACvB,SAAS,EAAE,CAAC;AACd,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,UAAU,CAAC,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAY;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;QAAE,OAAO;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC;QAAE,OAAO;IAC3D,IAAI,UAAU;QAAE,SAAS,EAAE,CAAC;;QACvB,QAAQ,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe;IACtB,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7B,8EAA8E;IAC9E,aAAa,EAAE,CAAC;IAEhB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,mDAAmD;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;YACjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,yEAAyE;IACzE,gEAAgE;IAChE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe;IACtB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,SAAS,GAAG,IAAI,CAAC;IACjB,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa;IACpB,IAAI,UAAU;QAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;;QAC3E,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAEpE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,2CAA2C,CAAC,EAAE,CAAC;QAC7F,IAAI,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAExC;;;;;;;;;GASG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,CAAC;QACH,IAAI,MAAM;YAAE,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;YAC9C,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,+BAA+B;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa;IACpB,IAAI,UAAU,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IAC7C,UAAU,GAAG,IAAI,CAAC;IAClB,aAAa,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAC3B,KAAY,EACZ,KAAuB,EACvB,OAAwB;IAExB,IAAI,oBAAoB;QAAE,OAAO;IAEjC,MAAM,OAAO,GACX,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/C,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAC1E,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,oBAAoB,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,IAAI,CACV,uFAAuF;QACrF,2FAA2F;QAC3F,4EAA4E,EAC9E,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAuB,EAAE,UAA2B,EAAE;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACxC,6EAA6E;IAC7E,gFAAgF;IAChF,yEAAyE;IACzE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,gFAAgF;YAC9E,mEAAmE,EACrE,KAAK,CACN,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAU;QACnB,KAAK;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK;QAC1E,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,KAAK,CAAC,WAAW;QAChC,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,IAAI,eAAe,EAAE;KACjC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC;IAChB,eAAe,EAAE,CAAC;IAClB,+FAA+F;IAC/F,iGAAiG;IACjG,IAAI,UAAU;QAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,mBAAmB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,yDAAyD;YACzD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK;gBAAE,OAAO;YACzC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,SAAS,EAAE,CAAC;QACd,CAAC,CAAC;QACF,yEAAyE;QACzE,+CAA+C;QAC/C,EAAE;QACF,4EAA4E;QAC5E,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAKD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,SAAsB,2BAA2B,EACjD,UAA4C,EAAE;IAE9C,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAuB;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;IACvB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,+EAA+E;IAC/E,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC;IAEhB,0EAA0E;IAC1E,gEAAgE;IAChE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC;QAChB,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAC/B,gBAAgB,GAAG,IAAI,CAAC;QACxB,eAAe,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;;;GAKG;AACH;;;;;;;;GAQG;AACH,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;QAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;;QACjF,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,MAAe;IAChC,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO;IAClC,UAAU,GAAG,MAAM,CAAC;IAEpB,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IAEZ,6EAA6E;IAC7E,8EAA8E;IAC9E,iCAAiC;IACjC,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAyB,wBAAwB,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ;IACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,SAAS;IACvB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3D,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,qBAAqB,GAAG,KAAK,CAAC;IAC9B,iBAAiB,GAAG,KAAK,CAAC;IAC1B,oBAAoB,GAAG,KAAK,CAAC;IAC7B,mBAAmB,GAAG,KAAK,CAAC;IAC5B,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa;IAC3B,aAAa,EAAE,CAAC;IAChB,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,UAAU,GAAG,KAAK,CAAC;IACnB,gFAAgF;IAChF,2EAA2E;IAC3E,oCAAoC;IACpC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO;IACrB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK,IAAI,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;AAChG,CAAC"}
|