@braidlabs/core 0.7.0 → 0.8.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/package.json +1 -1
- package/src/adapters/compat-adapter.js +51 -4
- package/src/adapters/compat-adapter.js.map +1 -1
- package/src/compat/database-partition.d.ts +43 -0
- package/src/compat/database-partition.js +165 -0
- package/src/compat/database-partition.js.map +1 -0
- package/src/compat/fragment-boundary.js +133 -25
- package/src/compat/fragment-boundary.js.map +1 -1
- package/src/compat/html-policy.js +10 -5
- package/src/compat/html-policy.js.map +1 -1
- package/src/compat/script-execution.js +5 -4
- package/src/compat/script-execution.js.map +1 -1
- package/src/compat/shared-globals.d.ts +1 -1
- package/src/compat/shared-globals.js +2 -2
- package/src/compat/shared-globals.js.map +1 -1
- package/src/config.d.ts +13 -2
- package/src/config.js.map +1 -1
- package/src/elements/fragment-slot.d.ts +41 -15
- package/src/elements/fragment-slot.js +195 -9
- package/src/elements/fragment-slot.js.map +1 -1
- package/src/elements/leave-guard.d.ts +49 -0
- package/src/elements/leave-guard.js +122 -0
- package/src/elements/leave-guard.js.map +1 -0
- package/src/elements/overlay-layer.d.ts +45 -0
- package/src/elements/overlay-layer.js +112 -0
- package/src/elements/overlay-layer.js.map +1 -0
- package/src/env/create-env.js +2 -1
- package/src/env/create-env.js.map +1 -1
- package/src/env/fragment-env.d.ts +6 -0
- package/src/index.d.ts +3 -0
- package/src/index.js +14 -0
- package/src/index.js.map +1 -1
- package/src/realm/realm-manager.js +2 -1
- package/src/realm/realm-manager.js.map +1 -1
- package/src/realm/sandbox-realm.d.ts +5 -7
- package/src/realm/sandbox-realm.js +104 -39
- package/src/realm/sandbox-realm.js.map +1 -1
- package/src/trusted-types.d.ts +28 -0
- package/src/trusted-types.js +58 -0
- package/src/trusted-types.js.map +1 -0
- package/src/weave/capabilities.d.ts +10 -3
- package/src/weave/capabilities.js +19 -3
- package/src/weave/capabilities.js.map +1 -1
- package/src/weave/context-bridge.d.ts +2 -0
- package/src/weave/context-bridge.js +1 -1
- package/src/weave/context-bridge.js.map +1 -1
- package/src/weave/guest.d.ts +2 -0
- package/src/weave/guest.js +10 -5
- package/src/weave/guest.js.map +1 -1
- package/src/weave/messages.d.ts +24 -0
- package/src/weave/messages.js +22 -0
- package/src/weave/messages.js.map +1 -1
|
@@ -13,19 +13,44 @@ import { createSameRealmBackingPair } from '../weave/same-realm-backing.js';
|
|
|
13
13
|
import { weaveId } from '../weave/envelope.js';
|
|
14
14
|
import { performHostHandshake } from '../weave/handshake.js';
|
|
15
15
|
import { attachContextRouter } from '../weave/context-bridge.js';
|
|
16
|
-
import { FRAGMENT_EVENT, PROPS_CHANGED } from '../weave/messages.js';
|
|
16
|
+
import { BRAID_FRAGMENT_REPORTER, FRAGMENT_EVENT, PROPS_CHANGED, SETTLED } from '../weave/messages.js';
|
|
17
17
|
import { startFragmentBeats, startHostLiveness } from '../weave/liveness.js';
|
|
18
18
|
import { DIRTY, closeAndDispose } from '../weave/closing.js';
|
|
19
19
|
import { negotiateContract } from '../weave/contract.js';
|
|
20
20
|
import { createSandboxRealm } from '../realm/sandbox-realm.js';
|
|
21
21
|
import { createPortBacking } from '../weave/port-backing.js';
|
|
22
|
-
import { readCapabilities, resolveCapabilities, resolveSharedGlobals, resolveStoragePartition, } from '../weave/capabilities.js';
|
|
22
|
+
import { readCapabilities, resolveCapabilities, resolveSharedGlobals, resolveDatabasePartition, resolveStoragePartition, } from '../weave/capabilities.js';
|
|
23
23
|
import { awaitPrerequisites, NotEntitledError, parseRequires } from './prerequisites.js';
|
|
24
24
|
import { createBootGate, parseBootMode } from './boot-gate.js';
|
|
25
25
|
import { DEFERRED_ATTRIBUTE, lateContentArrival } from './late-content.js';
|
|
26
26
|
import { startPrefetch, takePrefetchedDocument } from './prefetch.js';
|
|
27
27
|
import { createRecovery } from './recovery.js';
|
|
28
28
|
import { resolveHtmlPolicy } from '../compat/html-policy.js';
|
|
29
|
+
import { installDatabasePartition } from '../compat/database-partition.js';
|
|
30
|
+
import { liftPortals, OVERLAY_STYLES, reshowLifted } from './overlay-layer.js';
|
|
31
|
+
/**
|
|
32
|
+
* What the slot reports about its fragment.
|
|
33
|
+
*
|
|
34
|
+
* The original four are all still here and still mean what they meant — `ready` in particular is
|
|
35
|
+
* kept as the name for "mounted, first beat not yet observed", which the liveness machine calls
|
|
36
|
+
* `connecting`. Renaming it would have broken every host checking `slot.state === 'ready'` in
|
|
37
|
+
* exchange for a word.
|
|
38
|
+
*
|
|
39
|
+
* The new three are the ones `ready` used to have to cover on its own:
|
|
40
|
+
*
|
|
41
|
+
* - `healthy` — beating.
|
|
42
|
+
* - `unobservable` — the tab is hidden, so the host has stopped being able to tell. Not a fault.
|
|
43
|
+
* - `suspect` → `gone` — beats stopped while the fragment should have been running.
|
|
44
|
+
*/
|
|
45
|
+
/** How long after `ready` a slot waits for its fragment to report settled before saying so itself. */
|
|
46
|
+
const DEFAULT_SETTLE_TIMEOUT_MS = 10_000;
|
|
47
|
+
/** The longest delay `setTimeout` honors; anything longer fires at once. */
|
|
48
|
+
const MAX_TIMER_DELAY_MS = 2_147_483_647;
|
|
49
|
+
/** The `settle-timeout` attribute as a delay: the default when absent, empty or not a number. */
|
|
50
|
+
export function settleTimeoutMs(attribute) {
|
|
51
|
+
const value = attribute?.trim() ? Number(attribute) : NaN;
|
|
52
|
+
return Number.isFinite(value) && value >= 0 ? Math.min(value, MAX_TIMER_DELAY_MS) : DEFAULT_SETTLE_TIMEOUT_MS;
|
|
53
|
+
}
|
|
29
54
|
/** `connecting` is reported as `ready`; every other liveness state carries its own name. */
|
|
30
55
|
export function slotStateFor(liveness) {
|
|
31
56
|
return liveness === 'connecting' ? 'ready' : liveness;
|
|
@@ -70,7 +95,10 @@ export function findPiercedContentRoot(shadowRoot) {
|
|
|
70
95
|
* content on screen, because replacing a working-if-sluggish UI with an apology is a worse outcome
|
|
71
96
|
* than a moment of unresponsiveness — and suspicion is designed to be recoverable.
|
|
72
97
|
*/
|
|
73
|
-
export const SLOT_STYLES =
|
|
98
|
+
export const SLOT_STYLES =
|
|
99
|
+
// first, so its layer ranks below every layer of the fragment's own (see overlay-layer.ts)
|
|
100
|
+
OVERLAY_STYLES +
|
|
101
|
+
':host, braid-document, braid-html, braid-body { display: block; } braid-head { display: none; }' +
|
|
74
102
|
'slot[name="fallback"] { display: none; }' +
|
|
75
103
|
':host([state="gone"]) braid-document, :host([state="error"]) braid-document { display: none; }' +
|
|
76
104
|
':host([state="gone"]) slot[name="fallback"], :host([state="error"]) slot[name="fallback"] { display: block; }' +
|
|
@@ -131,8 +159,11 @@ export function ensureFallbackSlot(shadowRoot) {
|
|
|
131
159
|
* - `boot` — `eager` (default), `idle`, `visible`, or `interaction`: when to boot. Read when the
|
|
132
160
|
* slot connects, or when a deferred slot's late markup arrives. See `boot-gate.ts`.
|
|
133
161
|
*
|
|
162
|
+
* - `settle-timeout` — milliseconds after `ready` before the slot reports `settled` on its own, for a
|
|
163
|
+
* fragment that never says it has (default 10000). See {@link FragmentSlot.settled}.
|
|
164
|
+
*
|
|
134
165
|
* Events: `braid:ready`, `braid:error` (detail includes stage + fix hint), `braid:event`
|
|
135
|
-
* (fragment → host).
|
|
166
|
+
* (fragment → host), `braid:settled` (detail: `{ fragmentId, timedOut }`).
|
|
136
167
|
*
|
|
137
168
|
* The slot uses only its own shadow root and its own elements — the host page is never patched.
|
|
138
169
|
*/
|
|
@@ -141,6 +172,8 @@ export class FragmentSlot extends HTMLElement {
|
|
|
141
172
|
return ['name', 'src', 'props'];
|
|
142
173
|
}
|
|
143
174
|
#state = 'idle';
|
|
175
|
+
#settled = false;
|
|
176
|
+
#settleTimer;
|
|
144
177
|
#props = {};
|
|
145
178
|
/** Host end of this instance's boundary channel; undefined between teardown and the next boot. */
|
|
146
179
|
#channel;
|
|
@@ -160,6 +193,10 @@ export class FragmentSlot extends HTMLElement {
|
|
|
160
193
|
#dirty = null;
|
|
161
194
|
#booted = false;
|
|
162
195
|
#bootScheduled = false;
|
|
196
|
+
/** Which disconnect is current: only the last one decides whether the slot moved or left. */
|
|
197
|
+
#placementCheck = 0;
|
|
198
|
+
/** What the current boot depended on that a move can change; see {@link FragmentSlot.#moved}. */
|
|
199
|
+
#bootedWith;
|
|
163
200
|
/**
|
|
164
201
|
* A deferred boot's gate and the listeners that replay or release it; undefined for an eager slot
|
|
165
202
|
* and once the slot leaves the DOM. Kept after the trigger fires, for the replay.
|
|
@@ -224,6 +261,11 @@ export class FragmentSlot extends HTMLElement {
|
|
|
224
261
|
this.setAttribute('state', next);
|
|
225
262
|
if (next !== 'loading')
|
|
226
263
|
this.#clearBusy();
|
|
264
|
+
// a new boot, or none, has not settled; a failed or closing one never will
|
|
265
|
+
if (next === 'loading' || next === 'idle')
|
|
266
|
+
this.#resetSettled();
|
|
267
|
+
else if (next === 'error' || next === 'closing')
|
|
268
|
+
this.#cancelSettleFallback();
|
|
227
269
|
this.dispatchEvent(new CustomEvent('braid:state', { detail: { state: next, previous, fragmentId: this.name } }));
|
|
228
270
|
// not over unsaved work: a fragment that declared some may yet come back with it
|
|
229
271
|
if (next === 'gone' && this.#dirty === null)
|
|
@@ -232,6 +274,66 @@ export class FragmentSlot extends HTMLElement {
|
|
|
232
274
|
get name() {
|
|
233
275
|
return this.getAttribute('name') ?? '';
|
|
234
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Whether the fragment's first content has settled, reflected as the `settled` attribute.
|
|
279
|
+
*
|
|
280
|
+
* Not a slot state, because it answers a different question. `healthy` says the fragment's realm
|
|
281
|
+
* is running, which is true from its first beat — while the application inside may still be
|
|
282
|
+
* showing its own spinner. `settled` says the fragment has finished its own initial loading,
|
|
283
|
+
* which only the fragment can know: it reports it (`env.settled()`, `provideBraidFragment()` in
|
|
284
|
+
* Angular), and a host keeps its skeleton up until then. Not through `slot="loading"`, which is
|
|
285
|
+
* the slot's own boot-time state and gives way at first paint, but as a sibling the host styles:
|
|
286
|
+
*
|
|
287
|
+
* ```html
|
|
288
|
+
* <fragment-slot name="contact"></fragment-slot><div class="skeleton" hidden></div>
|
|
289
|
+
* ```
|
|
290
|
+
* ```css
|
|
291
|
+
* fragment-slot:not([settled], [state="error"]) + .skeleton { display: block; }
|
|
292
|
+
* ```
|
|
293
|
+
*
|
|
294
|
+
* A fragment that never reports is settled anyway `settle-timeout` milliseconds after `ready`, with
|
|
295
|
+
* `timedOut: true` on the event, so a skeleton cannot stick forever. One that fails never settles —
|
|
296
|
+
* it has nothing to show — so a skeleton keyed on `settled` gives way to `[state="error"]`, as above.
|
|
297
|
+
*/
|
|
298
|
+
get settled() {
|
|
299
|
+
return this.#settled;
|
|
300
|
+
}
|
|
301
|
+
#listenForSettled(channel, fragmentId, signal) {
|
|
302
|
+
// a boot that has been torn down speaks for nothing: a newer one may already be on screen
|
|
303
|
+
channel.on(SETTLED, () => {
|
|
304
|
+
if (!signal.aborted)
|
|
305
|
+
this.#markSettled(fragmentId, false);
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
#armSettleFallback(fragmentId, signal) {
|
|
309
|
+
if (this.#settled)
|
|
310
|
+
return;
|
|
311
|
+
this.#cancelSettleFallback();
|
|
312
|
+
this.#settleTimer = setTimeout(() => {
|
|
313
|
+
this.#settleTimer = undefined;
|
|
314
|
+
if (!signal.aborted)
|
|
315
|
+
this.#markSettled(fragmentId, true);
|
|
316
|
+
}, settleTimeoutMs(this.getAttribute('settle-timeout')));
|
|
317
|
+
}
|
|
318
|
+
#markSettled(fragmentId, timedOut) {
|
|
319
|
+
if (this.#settled)
|
|
320
|
+
return;
|
|
321
|
+
this.#cancelSettleFallback();
|
|
322
|
+
this.#settled = true;
|
|
323
|
+
this.setAttribute('settled', '');
|
|
324
|
+
this.dispatchEvent(new CustomEvent('braid:settled', { detail: { fragmentId, timedOut } }));
|
|
325
|
+
}
|
|
326
|
+
#cancelSettleFallback() {
|
|
327
|
+
if (this.#settleTimer === undefined)
|
|
328
|
+
return;
|
|
329
|
+
clearTimeout(this.#settleTimer);
|
|
330
|
+
this.#settleTimer = undefined;
|
|
331
|
+
}
|
|
332
|
+
#resetSettled() {
|
|
333
|
+
this.#cancelSettleFallback();
|
|
334
|
+
this.#settled = false;
|
|
335
|
+
this.removeAttribute('settled');
|
|
336
|
+
}
|
|
235
337
|
/**
|
|
236
338
|
* The fragment's unsaved-work declaration, or null.
|
|
237
339
|
*
|
|
@@ -344,7 +446,67 @@ export class FragmentSlot extends HTMLElement {
|
|
|
344
446
|
this.#bootGate?.listening.abort();
|
|
345
447
|
this.#bootGate = undefined;
|
|
346
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* A move is not an unmount. `insertBefore` or `append` of a connected slot — a keyed list
|
|
451
|
+
* reordering, a framework reparenting, a layout change — disconnects and reconnects it in one go,
|
|
452
|
+
* and tearing down there would reboot a fragment that never left the page: its state gone, its
|
|
453
|
+
* document fetched again. So the decision waits a microtask: a slot back in the page by then, put
|
|
454
|
+
* there by the same synchronous script that took it out, moved; one that is not, left.
|
|
455
|
+
*/
|
|
347
456
|
disconnectedCallback() {
|
|
457
|
+
const check = ++this.#placementCheck;
|
|
458
|
+
queueMicrotask(() => {
|
|
459
|
+
if (check !== this.#placementCheck)
|
|
460
|
+
return;
|
|
461
|
+
if (this.isConnected)
|
|
462
|
+
this.#moved(false);
|
|
463
|
+
else
|
|
464
|
+
this.#left();
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
/** `moveBefore()` moves a slot without disconnecting it at all: nothing inside it is reloaded. */
|
|
468
|
+
connectedMoveCallback() {
|
|
469
|
+
this.#moved(true);
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Keeps the fragment running across a move, unless something it booted with no longer holds —
|
|
473
|
+
* then it reboots, as every move used to.
|
|
474
|
+
*
|
|
475
|
+
* - **An untrusted fragment's frame lives in the slot.** A move that disconnected the slot also
|
|
476
|
+
* reloaded the frame, and nothing reconnects the reloaded document. `moveBefore` keeps it.
|
|
477
|
+
* - **A slot renamed while it was out of the page** names a different fragment now; the rename
|
|
478
|
+
* itself went unheard, since only a connected slot acts on one.
|
|
479
|
+
* - **A slot moved into another document** left its realm behind in the first.
|
|
480
|
+
* - **A slot that had failed** gets the retry a remount always gave it — unless it is `gone` with
|
|
481
|
+
* unsaved work, which recovery leaves alone too.
|
|
482
|
+
* - **A slot that brings its own code** may not sit inside another fragment's DOM. Booting checks
|
|
483
|
+
* that, so the reboot fails the slot the way it would have failed there from the start.
|
|
484
|
+
*/
|
|
485
|
+
#moved(atomic) {
|
|
486
|
+
const booted = this.#bootedWith;
|
|
487
|
+
if (!this.#booted || !booted)
|
|
488
|
+
return;
|
|
489
|
+
const stale = (booted.framed && !atomic) ||
|
|
490
|
+
this.name !== booted.name ||
|
|
491
|
+
this.ownerDocument !== booted.document ||
|
|
492
|
+
this.#state === 'error' ||
|
|
493
|
+
(this.#state === 'gone' && this.#dirty === null);
|
|
494
|
+
let misplaced = false;
|
|
495
|
+
try {
|
|
496
|
+
this.#assertHostDeclaresCode(this.name);
|
|
497
|
+
}
|
|
498
|
+
catch {
|
|
499
|
+
misplaced = true;
|
|
500
|
+
}
|
|
501
|
+
if (stale || misplaced) {
|
|
502
|
+
this.#reload().catch((error) => console.error(`[braid:${this.name}] reload after a move failed`, error));
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
// leaving the page closed every popover in the slot, the overlays it lifted among them
|
|
506
|
+
if (!atomic && this.shadowRoot)
|
|
507
|
+
reshowLifted(this.shadowRoot);
|
|
508
|
+
}
|
|
509
|
+
#left() {
|
|
348
510
|
this.#bootScheduled = false;
|
|
349
511
|
this.#scheduleGeneration++;
|
|
350
512
|
this.#recovery.reset();
|
|
@@ -355,10 +517,6 @@ export class FragmentSlot extends HTMLElement {
|
|
|
355
517
|
void this.#teardown('unmount');
|
|
356
518
|
this.#booted = false;
|
|
357
519
|
}
|
|
358
|
-
/**
|
|
359
|
-
* Tears down and boots afresh. A host's reload also restores the recovery budget and cancels a
|
|
360
|
-
* scheduled recovery reboot: the host has taken over.
|
|
361
|
-
*/
|
|
362
520
|
/**
|
|
363
521
|
* A slot's `entry`, or its untrusted `src`, names the code a fragment runs — so only the host may
|
|
364
522
|
* give one. A slot inside another fragment's DOM was written by that fragment, perhaps from data it
|
|
@@ -376,6 +534,10 @@ export class FragmentSlot extends HTMLElement {
|
|
|
376
534
|
`the host page's own DOM`,
|
|
377
535
|
});
|
|
378
536
|
}
|
|
537
|
+
/**
|
|
538
|
+
* Tears down and boots afresh. A host's reload also restores the recovery budget and cancels a
|
|
539
|
+
* scheduled recovery reboot: the host has taken over.
|
|
540
|
+
*/
|
|
379
541
|
async reload() {
|
|
380
542
|
this.#recovery.reset();
|
|
381
543
|
await this.#reload();
|
|
@@ -452,6 +614,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
452
614
|
}
|
|
453
615
|
async #boot() {
|
|
454
616
|
const fragmentId = this.name;
|
|
617
|
+
this.#bootedWith = { name: fragmentId, document: this.ownerDocument, framed: this.getAttribute('trust') === 'untrusted' };
|
|
455
618
|
// A close still negotiating owns the shadow root until it finishes. Booting into it first
|
|
456
619
|
// would render content that the completing close would then clear.
|
|
457
620
|
await this.#closing;
|
|
@@ -619,6 +782,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
619
782
|
const { type, detail } = (payload ?? {});
|
|
620
783
|
this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
|
|
621
784
|
});
|
|
785
|
+
this.#listenForSettled(hostChannel, fragmentId, signal);
|
|
622
786
|
const { env, opened } = createFragmentEnv({
|
|
623
787
|
contentRoot,
|
|
624
788
|
shadowRoot,
|
|
@@ -675,15 +839,27 @@ export class FragmentSlot extends HTMLElement {
|
|
|
675
839
|
await failFast(opened);
|
|
676
840
|
if (signal.aborted)
|
|
677
841
|
return;
|
|
678
|
-
const realmGlobals = adapter.installsRealmGlobals ? await resolveRealmGlobals(fragmentId, signal) : undefined;
|
|
842
|
+
const realmGlobals = adapter.installsRealmGlobals ? await resolveRealmGlobals(fragmentId, signal, this) : undefined;
|
|
679
843
|
if (signal.aborted)
|
|
680
844
|
return;
|
|
681
845
|
const storagePartition = resolveStoragePartition(capabilities, fragmentId);
|
|
682
846
|
const htmlPolicy = resolveHtmlPolicy(capabilities, fragmentId);
|
|
847
|
+
// before any fragment code, like the Web Storage views: compat fragments only, as those are
|
|
848
|
+
const databasePartition = adapter.name === 'compat' ? resolveDatabasePartition(capabilities, fragmentId) : null;
|
|
849
|
+
if (databasePartition !== null) {
|
|
850
|
+
await installDatabasePartition(realm.window, databasePartition);
|
|
851
|
+
if (signal.aborted)
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
683
854
|
// nothing of the fragment's has run yet; its content may already be painted, inert
|
|
684
855
|
await Promise.all([earlyPrerequisites, latePrerequisites]);
|
|
685
856
|
if (signal.aborted)
|
|
686
857
|
return;
|
|
858
|
+
// before any fragment code: an unmodified app has no env, so it reports through its global
|
|
859
|
+
Object.defineProperty(realm.window, BRAID_FRAGMENT_REPORTER, {
|
|
860
|
+
value: Object.freeze({ settled: () => env.settled() }),
|
|
861
|
+
configurable: true,
|
|
862
|
+
});
|
|
687
863
|
await adapter.boot({
|
|
688
864
|
fragmentId,
|
|
689
865
|
shadowRoot,
|
|
@@ -703,8 +879,13 @@ export class FragmentSlot extends HTMLElement {
|
|
|
703
879
|
});
|
|
704
880
|
if (signal.aborted)
|
|
705
881
|
return;
|
|
882
|
+
// after mount: the fragment's own app is in its body by now, and what it appends later is
|
|
883
|
+
// what a portal appends
|
|
884
|
+
if (this.getAttribute('overlays') === 'top-layer')
|
|
885
|
+
liftPortals(contentRoot, signal);
|
|
706
886
|
this.#setState('ready');
|
|
707
887
|
this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
|
|
888
|
+
this.#armSettleFallback(fragmentId, signal);
|
|
708
889
|
/**
|
|
709
890
|
* Liveness starts only once the adapter has mounted.
|
|
710
891
|
*
|
|
@@ -830,6 +1011,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
830
1011
|
const { type, detail } = (payload ?? {});
|
|
831
1012
|
this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
|
|
832
1013
|
});
|
|
1014
|
+
this.#listenForSettled(hostChannel, fragmentId, signal);
|
|
833
1015
|
const { env, opened } = createFragmentEnv({
|
|
834
1016
|
contentRoot,
|
|
835
1017
|
shadowRoot,
|
|
@@ -883,6 +1065,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
883
1065
|
return;
|
|
884
1066
|
this.#setState('ready');
|
|
885
1067
|
this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
|
|
1068
|
+
this.#armSettleFallback(fragmentId, signal);
|
|
886
1069
|
this.#liveness = startHostLiveness({
|
|
887
1070
|
channel: hostChannel,
|
|
888
1071
|
instance,
|
|
@@ -962,6 +1145,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
962
1145
|
const { type, detail } = (payload ?? {});
|
|
963
1146
|
this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
|
|
964
1147
|
});
|
|
1148
|
+
this.#listenForSettled(hostChannel, fragmentId, signal);
|
|
965
1149
|
/**
|
|
966
1150
|
* Listening starts *before* the handshake; judging starts at `mounted`.
|
|
967
1151
|
*
|
|
@@ -998,6 +1182,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
998
1182
|
fragmentId,
|
|
999
1183
|
contextVersions,
|
|
1000
1184
|
...(capabilities === undefined ? {} : { capabilities }),
|
|
1185
|
+
untrusted: true,
|
|
1001
1186
|
signal,
|
|
1002
1187
|
}),
|
|
1003
1188
|
props: structuredClone(this.#props),
|
|
@@ -1007,6 +1192,7 @@ export class FragmentSlot extends HTMLElement {
|
|
|
1007
1192
|
return;
|
|
1008
1193
|
this.#setState('ready');
|
|
1009
1194
|
this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
|
|
1195
|
+
this.#armSettleFallback(fragmentId, signal);
|
|
1010
1196
|
/**
|
|
1011
1197
|
* No `startFragmentBeats` here. The guest schedules its own, in its own document, on its own
|
|
1012
1198
|
* event loop — which is stronger evidence than the trusted tier can offer, where the beat comes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-slot.js","sourceRoot":"","sources":["../../../../../libs/core/src/elements/fragment-slot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fragment-slot.js","sourceRoot":"","sources":["../../../../../libs/core/src/elements/fragment-slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAwB,aAAa,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7H,OAAO,EAA+B,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAe,KAAK,EAAgB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAEL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAY,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;;;;GAaG;AACH,sGAAsG;AACtG,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,4EAA4E;AAC5E,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,iGAAiG;AACjG,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,MAAM,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAChH,CAAC;AAaD,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,QAAuB;IAClD,OAAO,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,kGAAkG;IAClG,kFAAkF;IAClF,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,YAAY,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA6B;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB;YAAE,OAAO,KAAoB,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW;AACtB,2FAA2F;AAC3F,cAAc;IACd,iGAAiG;IACjG,0CAA0C;IAC1C,gGAAgG;IAChG,+GAA+G;IAC/G,gGAAgG;IAChG,+FAA+F;IAC/F,4FAA4F;IAC5F,yCAAyC;IACzC,wEAAwE;IACxE,uGAAuG;IACvG,kEAAkE,CAAC;AAErE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAAE,OAAO;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IACzB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAsB;IACvD,IAAI,UAAU,CAAC,aAAa,CAAC,uBAAuB,CAAC;QAAE,OAAO;IAE9D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAsB,MAAM,CAAC;IACnC,QAAQ,GAAG,KAAK,CAAC;IACjB,YAAY,CAA4C;IACxD,MAAM,GAA4B,EAAE,CAAC;IACrC,kGAAkG;IAClG,QAAQ,CAAuD;IAC/D,SAAS,CAA2B;IACpC,gBAAgB,CAA8B;IAC9C;;;;;;;OAOG;IACH,QAAQ,CAA4B;IACpC,oGAAoG;IACpG,aAAa,CAAqB;IAClC,MAAM,GAAkB,IAAI,CAAC;IAC7B,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAG,KAAK,CAAC;IACvB,6FAA6F;IAC7F,eAAe,GAAG,CAAC,CAAC;IACpB,iGAAiG;IACjG,WAAW,CAAoE;IAC/E;;;OAGG;IACH,SAAS,CAA6D;IACtE,iGAAiG;IACjG,mBAAmB,GAAG,CAAC,CAAC;IACxB,mFAAmF;IACnF,SAAS,GAAG,cAAc,CAAC;QACzB,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO;QACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1G,8FAA8F;QAC9F,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,mFAAmF;IACnF,WAAW,GAAG,KAAK,CAAC;IACpB,2FAA2F;IAC3F,eAAe,GAAG,CAAC,CAAC;IAEpB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,YAAY,GAA8B,SAAS,CAAC;IAEpD;;;OAGG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC;YAAE,OAAO;QAChG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO;QAC5C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;;YAC7D,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,IAAuB;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,2EAA2E;QAC3E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aAC3D,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACjH,iFAAiF;QACjF,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,OAAwB,EAAE,UAAkB,EAAE,MAAmB;QACjF,0FAA0F;QAC1F,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,MAAmB;QACxD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,QAAiB;QAChD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO;QAC5C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3C,6FAA6F;QAC7F,4FAA4F;QAC5F,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,wBAAwB,CAAC,SAAiB,EAAE,QAAuB,EAAE,QAAuB;QAC1F,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrE,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,4FAA4F;QAC5F,2FAA2F;QAC3F,+FAA+F;QAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACjG,6FAA6F;QAC7F,+EAA+E;QAC/E,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC1C,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,IAAI,OAAO,EAAE;oBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,OAAsB;QAC9B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;YACtC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI;YACzD,UAAU,EAAE,IAAI,CAAC,IAAI;SACtB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrC,gGAAgG;QAChG,sFAAsF;QACtF,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,gBAAgB,CACnB,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,EAAE,KAAK,EAAE,GAAI,KAAmD,CAAC,MAAM,CAAC;YAC9E,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM;gBAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrE,CAAC,EACD,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAC7B,CAAC;QACF,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,8FAA8F;IAC9F,gBAAgB;QACd,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB;QAClB,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QACrC,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe;gBAAE,OAAO;YAC3C,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;gBACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kGAAkG;IAClG,qBAAqB;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,MAAe;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YACzB,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,QAAQ;YACtC,IAAI,CAAC,MAAM,KAAK,OAAO;YACvB,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC;YAClH,OAAO;QACT,CAAC;QACD,uFAAuF;QACvF,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU;YAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,6FAA6F;QAC7F,8FAA8F;QAC9F,wDAAwD;QACxD,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,UAAkB;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC;QAC5F,IAAI,CAAC,UAAU,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,OAAO;QACxD,MAAM,IAAI,UAAU,CAAC,wFAAwF,EAAE;YAC7G,UAAU;YACV,KAAK,EAAE,aAAa;YACpB,OAAO,EACL,sBAAsB,UAAU,iEAAiE;gBACjG,yBAAyB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,4FAA4F;QAC5F,0EAA0E;QAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAmB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE9C,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,yFAAyF;QACzF,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,eAAe,EAAE,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACzB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,MAAM;gBACN,0FAA0F;gBAC1F,oEAAoE;gBACpE,OAAO,EAAE,GAAG,EAAE;oBACZ,eAAe,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAErB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC9B,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;aACrD,CAAC,CACH,CAAC;YAEF,yFAAyF;YACzF,6FAA6F;YAC7F,sCAAsC;YACtC,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAqB;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;QAE1H,0FAA0F;QAC1F,mEAAmE;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QAE1C,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB;;;;;;;;mBAQG;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC;gBAC7G,MAAM,IAAI,UAAU,CAAC,2DAA2D,EAAE;oBAChF,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,aAAa;oBACpB,OAAO,EAAE,UAAU;wBACjB,CAAC,CAAC,2EAA2E;wBAC7E,CAAC,CAAC,kFAAkF;4BAClF,oEAAoE;iBACzE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEzC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE1B,8FAA8F;YAC9F,8CAA8C;YAC9C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAEpE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;YACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;YAEtC,0FAA0F;YAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC;YACnB,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAExD;;;;;;eAMG;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7F,IAAI,UAAsB,CAAC;YAC3B,IAAI,WAAwB,CAAC;YAE7B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC;gBAC9B,WAAW,GAAG,kBAAkB,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;gBACrC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBACvD,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACtD,CAAC;YAED,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;YAED,4FAA4F;YAC5F,4FAA4F;YAC5F,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjH,iFAAiF;YACjF,kBAAkB,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,2FAA2F;YAC3F,uFAAuF;YACvF,MAAM,QAAQ,GAAG,CAAI,IAAgB,EAAc,EAAE,CACnD,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAExF;;;;;;;;eAQG;YACH;;;;;;;eAOG;YACH,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,EAAE;gBAC9C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO;gBACtD,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,iDAAiD;gBACjD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC;YAEF,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;gBACrD,kBAAkB;oBAChB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACpD,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAClH,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;wBACnB,kFAAkF;wBAClF,IAAI,kBAAkB;4BAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;;4BACvF,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBACzB,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,IAAI,EAAE,CAAC;oBACrC,CAAC,EACD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,CAAC,CACpD;gBACL,WAAW,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aACpE,CAAC,CAAC,CAAC;YAEJ,yFAAyF;YACzF,qFAAqF;YACrF,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACxH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpH,iBAAiB,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;gBACtD,2FAA2F;gBAC3F,uFAAuF;gBACvF,qFAAqF;gBACrF,IAAI,UAAU,CAAC,KAAK,YAAY,qBAAqB,EAAE,CAAC;oBACtD,yFAAyF;oBACzF,IAAI,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC3B,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,OAAO;wBAAE,OAAO;oBACrB,MAAM,OAAO,CAAC;gBAChB,CAAC;gBACD,MAAM,UAAU,CAAC,KAAK,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAEpD,6FAA6F;YAC7F,sDAAsD;YACtD,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC/C,WAAW,CAAC,eAAe,EAAE,CAAC;gBAC9B,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YAED;;;;;;;eAOG;YACH,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAE5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAE,CAAC,OAAO,IAAI,EAAE,CAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAyB,CAAC;gBACjE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAExD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;gBACxC,WAAW;gBACX,UAAU;gBACV,QAAQ;gBACR,OAAO,EAAE,eAAe;gBACxB,UAAU;gBACV,MAAM;aACP,CAAC,CAAC;YAEH;;;;;;eAMG;YACH,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE/F,MAAM,oBAAoB,CAAC;gBACzB,OAAO,EAAE,WAAW;gBACpB,UAAU;gBACV,QAAQ;gBACR,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;gBACvD,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAC5B,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxF,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;oBACrB;;;;uBAIG;oBACH,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC1F,IAAI,SAAS,EAAE,EAAE,CAAC;wBAChB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;4BAC7B,OAAO,CAAC,KAAK,CACX,UAAU,UAAU,cAAc,MAAM,CAAC,GAAG,cAAc,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,EAAE;gCACrF,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAAE,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACtG,CAAC;gBACD,QAAQ,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;oBAC9B,OAAO,EAAE,mBAAmB,CAAC;wBAC3B,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,WAAW;wBACpB,UAAU;wBACV,eAAe;wBACf,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;wBACvD,MAAM;qBACP,CAAC;oBACF,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;iBACpC,CAAC;aACH,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEvB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3B,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpH,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC/D,4FAA4F;YAC5F,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChH,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;YAC7B,CAAC;YAED,mFAAmF;YACnF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3B,2FAA2F;YAC3F,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,EAAE;gBAC3D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,UAAU;gBACV,UAAU;gBACV,WAAW;gBACX,KAAK;gBACL,kFAAkF;gBAClF,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC3B,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,OAAO;gBAC/C,QAAQ;gBACR,KAAK;gBACL,GAAG;gBACH,aAAa,EAAE,oBAAoB,CAAC,YAAY,CAAC;gBACjD,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;gBAC1D,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;gBAC9C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3B,0FAA0F;YAC1F,wBAAwB;YACxB,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,WAAW;gBAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEpF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE5C;;;;;;eAMG;YACH,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBACjC,OAAO,EAAE,WAAW;gBACpB,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC9D,CAAC,CAAC;YAEH,4FAA4F;YAC5F,0EAA0E;YAC1E,kBAAkB,CAAC;gBACjB,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,MAAM;aACP,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,UAAU,UAAU,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gGAAgG;YAChG,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO;gBAAE,OAAO;YAEzF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,UAAU,GACd,KAAK,YAAY,UAAU;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACrE,UAAU;oBACV,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YAET,4FAA4F;YAC5F,sDAAsD;YACtD,MAAM,WAAW,GAAG,UAAU,YAAY,gBAAgB,CAAC;YAC3D,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;gBACpE,IAAI,SAAS,EAAE;oBAAE,OAAO,CAAC,KAAK,CAAC,UAAU,UAAU,KAAK,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;YACtG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,MAAM,EAAE;oBACN,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,KAAK,EAAE,UAAU;oBACjB,kFAAkF;oBAClF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C;aACF,CAAC,CACH,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,QAA2B;QACjE,uFAAuF;QACvF,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CAAC,2CAA2C,EAAE;gBAChE,UAAU;gBACV,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,iFAAiF;aAC3F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE5D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7D,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACpD,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,oEAAoE;QACpE,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAE3B,8FAA8F;QAC9F,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE;YAC/C,UAAU;YACV,QAAQ;YACR,KAAK,EAAE,CAAC,GAAG;YACX,MAAM;YACN,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI;SACvC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACpG,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAE5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAE,CAAC,OAAO,IAAI,EAAE,CAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;QACrG,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAyB,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;YACxC,WAAW;YACX,UAAU;YACV,QAAQ;YACR,OAAO,EAAE,eAAe;YACxB,UAAU;YACV,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC,QAAQ,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAElE,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,UAAU;YACV,QAAQ;YACR,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAC5B,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACxF,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CACrB,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAChG,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;YACtG,CAAC;YACD,QAAQ,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,mBAAmB,CAAC;oBAC3B,GAAG,EAAE,YAAY;oBACjB,OAAO,EAAE,WAAW;oBACpB,UAAU;oBACV,eAAe;oBACf,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;oBACvD,MAAM;iBACP,CAAC;gBACF,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;aACpC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,CAAC;QAEb,MAAM,eAAe,CAAC,IAAI,CAAC;YACzB,UAAU;YACV,UAAU;YACV,WAAW;YACX,KAAK;YACL,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;YACd,QAAQ;YACR,KAAK,EAAE,CAAC,GAAG;YACX,4FAA4F;YAC5F,8FAA8F;YAC9F,KAAK,EAAE,QAAQ,CAAC,IAAI;YACpB,GAAG;YACH,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACjC,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,MAAM;YACN,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC9D,CAAC,CAAC;QAEH,kBAAkB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,QAA2B;QAClE,uFAAuF;QACvF,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,UAAU,CAAC,0DAA0D,EAAE;gBAC/E,UAAU;gBACV,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,2EAA2E;aACrF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE/B,kEAAkE;QAClE,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAE3B;;;;WAIG;QACH,6FAA6F;QAC7F,8EAA8E;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE;YAChE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAG,EAAE,CAAC;YACnF,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAG,EAAE,CAAC;SACpF,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAEjF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;YACrC,UAAU;YACV,GAAG;YACH,SAAS,EAAE,UAAU;YACrB,MAAM;YACN,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;YACvF,GAAG,CAAC,YAAY,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;SAC9F,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,qBAAqB,CAAC;YACxC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,UAAU;YACV,QAAQ;YACR,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAE5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,CAAC,SAAS,CAAE,CAAC,OAAO,IAAI,EAAE,CAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAyB,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAExD;;;;;;;WAOG;QACH,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACjC,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC9D,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC,QAAQ,CAAC;QAE/C,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,UAAU;YACV,QAAQ;YACR,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAC5B,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACxF,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;YACtG,CAAC;YACD,QAAQ,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,mBAAmB,CAAC;oBAC3B,GAAG,EAAE,YAAY;oBACjB,OAAO,EAAE,WAAW;oBACpB,UAAU;oBACV,eAAe;oBACf,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;oBACvD,SAAS,EAAE,IAAI;oBACf,MAAM;iBACP,CAAC;gBACF,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;aACpC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE5C;;;;WAIG;QACH,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,2FAA2F;IAC3F,gBAAgB,CACd,UAAkB,EAClB,QAA0C,EAC1C,QAA+B;QAE/B,OAAO,mBAAmB,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,4FAA4F;IAC5F,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,mGAAmG;IACnG,YAAY;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAuB,EAAE,IAAY;IAC7D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACjE,OAAO,GAAG,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,KAAa;IAChE,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,WAAgB,EAChB,MAAmB;IAEnB,2FAA2F;IAC3F,MAAM,WAAW,GAAG,gBAAgB,CAClC,UAAU,EACV,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,MAAM,EAClB,cAAc,EAAE,CAAC,QAAQ,CAC1B,CAAC;IAEF,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YAClC,OAAO,EAAE;gBACP,MAAM,EAAE,iEAAiE;gBACzE,CAAC,wBAAwB,CAAC,EAAE,UAAU;gBACtC,oFAAoF;gBACpF,oEAAoE;gBACpE,GAAG,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aACzF;YACD,QAAQ,EAAE,QAAQ;YAClB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,sCAAsC,WAAW,UAAU,EAAE;YAChF,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,yFAAyF;SACnG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;QACvH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;QACjF,MAAM,IAAI,UAAU,CAClB,4BAA4B,WAAW,GAAG;YACxC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC,6CAA6C,CAAC,EAClF;YACE,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG;YAClC,OAAO,EACL,oGAAoG;gBACpG,4FAA4F;gBAC5F,aAAa,UAAU,+EAA+E;SACzG,CACF,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,mGAAmG;IACnG,6FAA6F;IAC7F,oBAAoB;IACpB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACpE,IAAI,MAAM;YAAE,MAAM,IAAI,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,mCAAmC,QAAQ,CAAC,MAAM,SAAS,WAAW,GAAG,EAAE;YAC9F,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACrB,CAAC,CAAC,wCAAwC,UAAU,2BAA2B;gBAC/E,CAAC,CAAC,2CAA2C,UAAU,GAAG;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;IAClG,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAC1C,MAAM,CAAS;IAExB,YAAY,UAAkB,EAAE,MAAc,EAAE,WAAmB;QACjE,KAAK,CAAC,4BAA4B,WAAW,SAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE;YAC9F,UAAU;YACV,KAAK,EAAE,gBAAgB;YACvB,OAAO,EACL,iCAAiC;gBACjC,iDAAiD;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAiB9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,iGAAiG;AACjG,SAAS,mBAAmB;IAC1B,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA4B,EAAE,IAAkB;IACrF,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,OAAe,EAAc,EAAE,CAC9D,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1F,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,wDAAwD,EAAE,wCAAwC,UAAU,GAAG,CAAC,CAAC;IACjI,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,MAAM,CACX,iCAAiC,GAAG,CAAC,QAAQ,8BAA8B,EAC3E,wCAAwC,UAAU,GAAG,CACtD,CAAC;IACJ,CAAC;IACD,4FAA4F;IAC5F,iGAAiG;IACjG,oBAAoB;IACpB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/F,OAAO,MAAM,CACX,0FAA0F,EAC1F,wCAAwC,UAAU,GAAG,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;QACvB,uGAAuG;QACvG,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,uBAAuB,EAAE,CAAC;YAC1D,OAAO,MAAM,CACX,aAAa,UAAU,6EAA6E,EACpG,8FAA8F;gBAC5F,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CACX,+BAA+B,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,4BAA4B;YACtG,mFAAmF,EACrF,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asking before a navigation loses a fragment's unsaved work.
|
|
3
|
+
*
|
|
4
|
+
* A fragment declares unsaved work with `env.setDirty(reason)`, and the slot holds it as `dirty`,
|
|
5
|
+
* so the question "would leaving lose anything?" has a synchronous answer. These helpers put that
|
|
6
|
+
* answer where a navigation can be held: a host router's own guard ({@link dirtySlots}), and, for
|
|
7
|
+
* navigations that leave the document, the Navigation API's `navigate` event.
|
|
8
|
+
*
|
|
9
|
+
* Holding a navigation inside a single-page app is the router's job, not this one: cancelling a
|
|
10
|
+
* router's own `pushState` leaves the router believing it navigated. So the event listener here
|
|
11
|
+
* holds only navigations that load another document, which no router is part of.
|
|
12
|
+
*/
|
|
13
|
+
/** A slot as far as the guard needs one. */
|
|
14
|
+
export interface DirtySlot extends HTMLElement {
|
|
15
|
+
readonly dirty: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The slots that hold unsaved work under `root`, in document order: inside open shadow roots too,
|
|
19
|
+
* whether a fragment's or a component's (a Lit element, an Angular `ShadowDom` view), and inside
|
|
20
|
+
* other fragments. A router guard asks before leaving a view when this is not empty.
|
|
21
|
+
*
|
|
22
|
+
* `root` itself counts too: a slot, or a component whose view is in its own shadow root — a routed
|
|
23
|
+
* Angular `ShadowDom` component's host element, say.
|
|
24
|
+
*/
|
|
25
|
+
export declare function dirtySlots(root?: ParentNode): DirtySlot[];
|
|
26
|
+
/** Asked before a navigation would lose unsaved work: resolve true to leave, false to stay. */
|
|
27
|
+
export type ConfirmLeave = (slots: readonly DirtySlot[]) => boolean | Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the user has just agreed to leave through `confirmLeave`. A host's own `beforeunload`
|
|
30
|
+
* handler checks it, so a navigation the user already said yes to is not asked about a second time
|
|
31
|
+
* by the browser's own prompt:
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* addEventListener('beforeunload', (event) => { if (dirtySlots().length && !leaveConfirmed()) event.preventDefault(); });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function leaveConfirmed(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Holds a navigation to another same-origin document while a slot has unsaved work, asks
|
|
40
|
+
* `confirm`, and starts the navigation again if the answer is yes.
|
|
41
|
+
*
|
|
42
|
+
* Only what can be held and started again: a link or `location` change to another document on this
|
|
43
|
+
* origin, by push or replace. Not form posts (their body would be lost), downloads, reloads, or
|
|
44
|
+
* back/forward (which cannot be cancelled across documents). One question at a time: a navigation
|
|
45
|
+
* held while the user is still answering replaces the one being asked about, so a yes goes where they
|
|
46
|
+
* last clicked. Returns a function that removes the guard; a browser without the Navigation API gets
|
|
47
|
+
* none.
|
|
48
|
+
*/
|
|
49
|
+
export declare function installLeaveGuard(confirm: ConfirmLeave): () => void;
|