@substrat-run/contract-tests 0.175.0 → 0.177.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.
@@ -1 +1 @@
1
- {"version":3,"file":"binding-invite-suite.d.ts","sourceRoot":"","sources":["../src/binding-invite-suite.ts"],"names":[],"mappings":"AAgCA,OAAO,EAUL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,SAAS,EAEd,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1J,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACjI;AAID,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC,EACtE,GAAG,EAAE,aAAa,GACjB,IAAI,CA2lBN"}
1
+ {"version":3,"file":"binding-invite-suite.d.ts","sourceRoot":"","sources":["../src/binding-invite-suite.ts"],"names":[],"mappings":"AAiCA,OAAO,EAUL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,SAAS,EAEd,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1J,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACjI;AAID,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC,EACtE,GAAG,EAAE,aAAa,GACjB,IAAI,CA2nBN"}
@@ -25,7 +25,8 @@
25
25
  * 5. **The keys come only from the column.** A direct grant of a binding shape's key on such a
26
26
  * record is refused; a key outside the shape is not.
27
27
  * 6. **The unbind.** Bounded by the key on the record; it clears the column and tombstones the
28
- * marker and every key of the shape, a retired one included; the record can be bound again.
28
+ * marker and every key of the shape, a retired one included; the record can be bound again. It
29
+ * revokes the record's pending links (#2818): a link must not outlive the binding it was made for.
29
30
  * 7. **The erasure.** Erasing the record or its person releases the binding — after the module's
30
31
  * hook has read the rows by the column, and also when the hook deleted the row.
31
32
  */
@@ -229,7 +230,19 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
229
230
  expect((await rowOf(id))?.principal).toBe(target);
230
231
  };
231
232
  it('is refused, unspent, when the record was bound meanwhile — and goes through once it is free', () => refusedThenAllowed(({ id }) => put('UPDATE bind_records SET principal = ? WHERE id = ?', [p(), id]), ({ id }) => put('UPDATE bind_records SET principal = NULL WHERE id = ?', [id])));
232
- it('is refused, unspent, when someone came to hold the record’s shape meanwhile — and goes through once they are unbound', () => refusedThenAllowed(({ id }) => host.admin.grantEntityShape(staff, { principalId: p(), node: node(), entity: rec(id), permissions: [BIND_READ_OWN], grantedBy: clerk }), ({ id }) => fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))));
233
+ it('is refused, unspent, when someone came to hold the record’s shape meanwhile — and the unbind that frees the record revokes it', async () => {
234
+ const id = await record();
235
+ const link = await minted(clerk, await invitee(), rec(id));
236
+ await host.admin.grantEntityShape(staff, { principalId: p(), node: node(), entity: rec(id), permissions: [BIND_READ_OWN], grantedBy: clerk });
237
+ const before = await snapshot();
238
+ expect(await exchange(link.secret)).toBeNull();
239
+ expect(await snapshot()).toEqual(before);
240
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toMatchObject({ ok: true, revokedLinks: [link.id] });
241
+ expect(await exchange(link.secret)).toBeNull();
242
+ const target = await invitee();
243
+ expect((await exchange((await minted(clerk, target, rec(id))).secret))?.kind).toBe('principal');
244
+ expect((await rowOf(id))?.principal).toBe(target);
245
+ });
233
246
  it('is refused, unspent, when the record is gone — and goes through once it is back', () => refusedThenAllowed(({ id }) => put('DELETE FROM bind_records WHERE id = ?', [id]), ({ id }) => put('INSERT INTO bind_records (id, principal, email, fate) VALUES (?, NULL, NULL, NULL)', [id])));
234
247
  it('is refused, unspent, when its minter has lost the key (or left) — and goes through once they hold it again', () => refusedThenAllowed(({ minter }) => host.admin.unassignRole(staff, { principalId: minter, roleKey: 'clerk', node: node() }), ({ minter }) => host.admin.assignRole(staff, { principalId: minter, roleKey: 'clerk', node: node() })));
235
248
  it('is refused, unspent, when the registry keeps the shape but no longer binds with it — and goes through once it does', () => refusedThenAllowed(() => reconcile([{ ...BIND_SHAPE, bind: undefined }]), () => reconcile([BIND_SHAPE])));
@@ -282,7 +295,7 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
282
295
  it('an unbind clears every row carrying the id', async () => {
283
296
  const key = ulid();
284
297
  await put('INSERT INTO bind_dups (key, holder) VALUES (?, ?), (?, ?)', [key, p(), key, p()]);
285
- expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, dup(key))).toEqual({ ok: true, unbound: [] });
298
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, dup(key))).toEqual({ ok: true, unbound: [], revokedLinks: [] });
286
299
  expect(await rowsOf(key)).toEqual([null, null]);
287
300
  });
288
301
  });
@@ -427,7 +440,7 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
427
440
  const { id, target } = await claimed();
428
441
  // A retired key left from before the shape dropped it — only the kernel's own writes can put it here now.
429
442
  await raw(t1, s1, 'INSERT INTO _substrat_tuples (subject, relation, object) VALUES (?, ?, ?)', [`principal:${target}`, `granted:${BIND_OLD}`, `brecord:${id}`]);
430
- expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target] });
443
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target], revokedLinks: [] });
431
444
  expect((await rowOf(id))?.principal).toBeNull();
432
445
  expect(await tuplesOn(id)).toEqual([
433
446
  { subject: `principal:${target}`, relation: 'bootstrap', live: false },
@@ -441,7 +454,7 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
441
454
  ]);
442
455
  // Nothing left to unbind: an answer, and nothing written.
443
456
  const before = await snapshot();
444
- expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [] });
457
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [], revokedLinks: [] });
445
458
  expect(await snapshot()).toEqual(before);
446
459
  // The record is free again: a new invite binds a new person.
447
460
  const next = await invitee();
@@ -454,7 +467,7 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
454
467
  const other = p();
455
468
  await put('UPDATE bind_records SET principal = ? WHERE id = ?', [other, id]);
456
469
  // `other` holds no marker here — the column alone is no holding — so only the bound person is released.
457
- expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target] });
470
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target], revokedLinks: [] });
458
471
  expect((await rowOf(id))?.principal).toBeNull();
459
472
  expect(await reads(target, id)).toBe(false);
460
473
  expect((await tuplesOn(id)).filter((t) => t.live)).toEqual([]);
@@ -466,7 +479,7 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
466
479
  const { id, target } = await claimed();
467
480
  await reconcile([{ ...BIND_SHAPE, retired: undefined }]);
468
481
  expect((await tuplesOn(id)).filter((t) => t.live).map((t) => t.relation)).toEqual(['bootstrap', `granted:${BIND_OLD}`, `granted:${BIND_READ_OWN}`]);
469
- expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target] });
482
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toEqual({ ok: true, unbound: [target], revokedLinks: [] });
470
483
  expect((await tuplesOn(id)).filter((t) => t.live)).toEqual([]);
471
484
  const event = (await outbox(ENTITY_HOLDER_UNBOUND)).find((e) => e.entity_id === id);
472
485
  expect(event?.payload).toMatchObject({ removed: [BIND_OLD, BIND_READ_OWN] });
@@ -475,6 +488,18 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
475
488
  await reconcile([BIND_SHAPE]);
476
489
  }
477
490
  });
491
+ it("revokes the record's pending links, the unbinder as revoker — not its spent one, nor another record's (#2818)", async () => {
492
+ const id = await record();
493
+ const pending = await minted(clerk, await invitee(), rec(id));
494
+ const spent = await minted(clerk, await invitee(), rec(id));
495
+ const elsewhere = await minted(clerk, await invitee(), rec(await record()));
496
+ await exchange(spent.secret);
497
+ expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, rec(id))).toMatchObject({ ok: true, revokedLinks: [pending.id] });
498
+ expect(await capOf(pending.id)).toMatchObject({ revokedBy: clerk, revokedReason: null, uses: 0 });
499
+ expect(await exchange(pending.secret)).toBeNull();
500
+ expect(await capOf(spent.id)).toMatchObject({ revokedAt: null, uses: 1 });
501
+ expect((await exchange(elsewhere.secret))?.kind).toBe('principal');
502
+ });
478
503
  it('answers bind-not-declared for a type the registry binds nothing on', async () => {
479
504
  expect(await fixture.verbs.unbindEntityHolderBounded(t1, s1, clerk, { entityType: 'other', entityId: ulid() })).toEqual({
480
505
  ok: false,
@@ -507,6 +532,16 @@ export function bindingInviteContractSuite(adapterName, makeFixture, raw) {
507
532
  expect((await rowOf(id))?.principal).toBeNull();
508
533
  expect(await live(id)).toEqual([]);
509
534
  });
535
+ it("erasing the PERSON revokes their record's pending links, so the freed record is not claimable by one (#2818)", async () => {
536
+ const id = await record();
537
+ const pending = await minted(clerk, await invitee(), rec(id));
538
+ const target = await invitee();
539
+ await exchange((await minted(clerk, target, rec(id))).secret);
540
+ await host.admin.shredSubject(staff, t1, s1, dataSubjectId.parse(target));
541
+ expect((await rowOf(id))?.principal).toBeNull();
542
+ expect(await exchange(pending.secret)).toBeNull();
543
+ expect(await capOf(pending.id)).toMatchObject({ revokedBy: null, uses: 0 });
544
+ });
510
545
  it('a version that drops `bind` but keeps the shape: nobody may mint or unbind, and an erasure still releases', async () => {
511
546
  const { id, target } = await claimed();
512
547
  await reconcile([{ ...BIND_SHAPE, bind: undefined }]);
@@ -1 +1 @@
1
- {"version":3,"file":"binding-invite-suite.js","sourceRoot":"","sources":["../src/binding-invite-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,QAAQ,GAUT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAY1H,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,WAAsE,EACtE,GAAkB;IAElB,QAAQ,CAAC,4BAA4B,WAAW,EAAE,EAAE,GAAG,EAAE;QACvD,IAAI,OAAmD,CAAC;QACxD,IAAI,IAAe,CAAC;QACpB,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,+CAA+C;QACjF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,uCAAuC;QAC1D,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,mBAAmB;QACzC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAY,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,CAAC,EAAU,EAAa,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,GAAG,GAAG,KAAK,EAAE,CAAS,EAAE,MAAM,GAAsB,EAAE,EAAE,KAAK,GAAY,EAAE,EAAkB,EAAE,CACnG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAQ,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,KAAK,EAAE,CAAS,EAAE,MAAM,GAAsB,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7I,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,GAAkB,IAAI,EAAmB,EAAE;YACnE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,8EAA8E,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5H,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,iDAAiD,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAA6C,CAAC;QACxJ,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE,CACpC,CAAC,MAAM,GAAG,CAAC,wHAAwH,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAC1J,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAClF,CAAC;QACJ,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CACpC,CAAC,MAAM,GAAG,CAAC,gGAAgG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChI,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAY;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAA6B;SAChG,CAAC,CAAC,CAAC;QACN,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,GAAY,EAAE,EAA+B,EAAE,CACzE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1F,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,MAAM;YAC9B,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YACvE,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,qGAAqG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9H,CAAC,CAAC;QACH,iGAAiG;QACjG,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,GAAY,EAAE,EAAwB,EAAE;YAClE,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/F,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAE,SAAsB,EAAE,MAAiB,EAAE,KAAK,GAAY,EAAE,EAAE,EAAE,CACnG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACrI,MAAM,MAAM,GAAG,KAAK,EAAE,MAAmB,EAAE,SAAsB,EAAE,MAAiB,EAA6B,EAAE;YACjH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjF,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAU,EAAoB,EAAE;YACrE,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,mBAAmB;oBAAE,OAAO,KAAK,CAAC;gBAC3D,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAElH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;YAC9B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1F,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1G,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/F,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;gBACtH,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC/G,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACvI,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;gBACrF,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBAC/G,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC5G,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wHAAwH,EAAE,KAAK,IAAI,EAAE;gBACtI,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,2FAA2F;gBAC3F,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9I,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACxG,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAA2B,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtI,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;gBACvG,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3H,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtI,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1H,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;gBAC1G,uEAAuE;gBACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE,CACjC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,+DAA+D,EAAE,CAAC,EAAE,CAAC,CAAC,CAAiC,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC;gBAChJ,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClD,yGAAyG;gBACzG,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;gBAClE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7F,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnI,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtI,0FAA0F;gBAC1F,qEAAqE;gBACrE,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9E,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpI,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;YACzB,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;gBAC1F,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7H,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjC,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrE,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACrF,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;gBACpF,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;oBACpB;wBACE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;wBAC9B,WAAW,EAAE,SAAS;wBACtB,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE;qBAClH;iBACF,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/C,gEAAgE;gBAChE,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,uFAAuF;YACvF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,KAAqE,EACrE,IAAoE,EACpE,EAAE;gBACF,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3B,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,EAAE,CAAC,6FAA6F,EAAE,GAAG,EAAE,CACrG,kBAAkB,CAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAChF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,uDAAuD,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/E,CAAC,CAAC;YAEL,EAAE,CAAC,sHAAsH,EAAE,GAAG,EAAE,CAC9H,kBAAkB,CAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EACnJ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5E,CAAC,CAAC;YAEL,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE,CACzF,kBAAkB,CAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,uCAAuC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9D,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,oFAAoF,EAAE,CAAC,EAAE,CAAC,CAAC,CAC5G,CAAC,CAAC;YAEL,EAAE,CAAC,4GAA4G,EAAE,GAAG,EAAE,CACpH,kBAAkB,CAChB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EACvG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CACtG,CAAC,CAAC;YAEL,EAAE,CAAC,oHAAoH,EAAE,GAAG,EAAE,CAC5H,kBAAkB,CAChB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EACrD,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAC9B,CAAC,CAAC;YAEL,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE,CACzG,kBAAkB,CAChB,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EACnB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAC9B,CAAC,CAAC;YAEL,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;gBAC5F,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,0FAA0F,EAAE,gDAAgD,CAAC,CAAC;gBAChK,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAChC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC5D,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7C,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;wBAAS,CAAC;oBACT,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,yBAAyB,CAAC,CAAC;gBAC/C,CAAC;gBACD,qDAAqD;gBACrD,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;YAC3C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAa,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,4DAA4D,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5I,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;YACzD,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAExC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,8DAA8D,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3F,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;gBACrH,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,iEAAiE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzF,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC9G,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,oFAAoF;gBACpF,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,sDAAsD,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5D,MAAM,GAAG,CAAC,sDAAsD,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,2DAA2D,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7F,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClH,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAClD,EAAE,CAAC,kHAAkH,EAAE,KAAK,IAAI,EAAE;gBAChI,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC5B,KAAK,MAAM,UAAU,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5I,+BAA+B,CAChC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;gBACrH,sEAAsE;gBACtE,MAAM,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnF,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,GAAG,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAC1H,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;gBACrD,CAAC;wBAAS,CAAC;oBACT,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,8FAA8F;gBAC9F,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChG,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;YACnI,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAChE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAa,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,sDAAsD;YACtD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,GAAY,EAAE,EAAE,EAAE;gBAC1C,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;gBACjB,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,yCAAyC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7F,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,oFAAoF,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzI,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,KAAK,EAAE,GAAgB,EAAE,UAAkB,EAAE,MAAiB,EAAE,KAAK,GAAY,EAAE,EAAE,EAAE,CACrG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAU,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAEhG,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;gBAC9G,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjI,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,qFAAqF;gBACrF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/H,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5D,qFAAqF;gBACrF,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChG,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sGAAsG,EAAE,KAAK,IAAI,EAAE;gBACpH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,EAAE,UAAkB,EAAE,UAAkB,EAAE,EAAE,CAC/D,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAoB,cAAc,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC3G,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjI,MAAM,CAAC,MAAM,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,MAAM,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/H,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;gBACvG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC9F,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtI,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9E,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAClE,+FAA+F;YAC/F,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC9F,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC/D,GAAG,EAAE,oFAAoF;oBACzF,MAAM,EAAE,CAAC,EAAE,CAAC;iBACb,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YACrI,CAAC,CAAC;YAEF,EAAE,CAAC,8GAA8G,EAAE,KAAK,IAAI,EAAE;gBAC5H,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;gBAC5C,MAAM,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3B,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAC/H,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;gBACnD,MAAM,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7I,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6HAA6H,EAAE,KAAK,IAAI,EAAE;gBAC3I,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;gBAC5C,MAAM,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtJ,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAQ,UAAU,EAAE;oBACpF,GAAG,EAAE,+FAA+F;oBACpG,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,MAAM,EAAE,CAAC;iBACjD,CAAC,CAAC,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACxB,CAAC,CAAC;YAEF,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;gBACvF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;iBACrD,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;gBAC9G,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,0GAA0G;gBAC1G,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,2EAA2E,EAAE,CAAC,aAAa,MAAM,EAAE,EAAE,WAAW,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChK,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvH,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjC,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBACtE,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBAChF,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACtF,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;gBACxF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;oBACtB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE;iBAC7I,CAAC,CAAC;gBACH,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjH,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,6DAA6D;gBAC7D,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9F,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qGAAqG,EAAE,KAAK,IAAI,EAAE;gBACnH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,GAAG,CAAC,oDAAoD,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7E,wGAAwG;gBACxG,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvH,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8GAA8G,EAAE,KAAK,IAAI,EAAE;gBAC5H,MAAM,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBAC3F,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;oBACvC,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBACzD,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,QAAQ,EAAE,EAAE,WAAW,aAAa,EAAE,CAAC,CAAC,CAAC;oBACpJ,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvH,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC/D,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;wBAAS,CAAC;oBACT,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACtH,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,mBAAmB;iBAC7B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,GAAkB,IAAI,EAAE,EAAE;gBACnD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9E,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;gBACxH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;gBACtG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,MAAM,GAAG,CAAC,mDAAmD,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9G,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2GAA2G,EAAE,KAAK,IAAI,EAAE;gBACzH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBACrH,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBACnI,kGAAkG;oBAClG,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,qFAAqF;oBACrF,MAAM,MAAM,CAAC,GAAG,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAC1H,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;oBACnD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1E,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;wBAAS,CAAC;oBACT,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6HAA6H,EAAE,KAAK,IAAI,EAAE;gBAC3I,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;gBACvC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1E,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,sEAAsE;oBACtE,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,CAAC;wBAAS,CAAC;oBACT,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;gBACtF,MAAM,MAAM,CAAC,GAAG,EAAE,CAChB,GAAG,CAAC,2GAA2G,CAAC,CACjH,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;gBACrD,0DAA0D;gBAC1D,MAAM,CAAC,MAAM,GAAG,CAAC,oGAAoG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjC,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBACtE,EAAE,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBACtF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"binding-invite-suite.js","sourceRoot":"","sources":["../src/binding-invite-suite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"directory-audit-suite.d.ts","sourceRoot":"","sources":["../src/directory-audit-suite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,8FAA8F;IAC9F,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAumBD;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAomBhI"}
1
+ {"version":3,"file":"directory-audit-suite.d.ts","sourceRoot":"","sources":["../src/directory-audit-suite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,8FAA8F;IAC9F,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAsnBD;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAomBhI"}
@@ -351,6 +351,21 @@ const CASES = [
351
351
  };
352
352
  },
353
353
  },
354
+ {
355
+ // #2351: the digest of the migrations read from a version's bundle.
356
+ action: 'recordMigrationsExtracted',
357
+ write: { table: 'vertical_versions', verb: 'UPDATE' },
358
+ arrange: async (host, staff) => {
359
+ const slug = await newVertical(host, staff);
360
+ const version = await publish(host, staff, slug);
361
+ return {
362
+ call: () => host.admin.recordMigrationsExtracted(staff, slug, version, 'e'.repeat(32)),
363
+ state: () => host.admin.versionMigrationsExtracted(staff, slug, version),
364
+ changed: 'e'.repeat(32),
365
+ row: { before: null, after: { vertical: slug, versionId: version, digest: 'e'.repeat(32) } },
366
+ };
367
+ },
368
+ },
354
369
  // #2526: the role, grant and org writes at a tenant node.
355
370
  {
356
371
  action: 'defineRole',