gcb-host 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/lib/broker.d.ts +9 -2
  3. package/lib/broker.d.ts.map +1 -1
  4. package/lib/broker.js +29 -5
  5. package/lib/broker.js.map +1 -1
  6. package/lib/commands/compose.d.ts.map +1 -1
  7. package/lib/commands/compose.js +42 -15
  8. package/lib/commands/compose.js.map +1 -1
  9. package/lib/commands/doctor.d.ts +17 -0
  10. package/lib/commands/doctor.d.ts.map +1 -0
  11. package/lib/commands/doctor.js +238 -0
  12. package/lib/commands/doctor.js.map +1 -0
  13. package/lib/commands/host.d.ts +33 -0
  14. package/lib/commands/host.d.ts.map +1 -0
  15. package/lib/commands/{host-opener.js → host.js} +111 -37
  16. package/lib/commands/host.js.map +1 -0
  17. package/lib/config.d.ts +5 -1
  18. package/lib/config.d.ts.map +1 -1
  19. package/lib/config.js +14 -8
  20. package/lib/config.js.map +1 -1
  21. package/lib/daemon.d.ts +0 -9
  22. package/lib/daemon.d.ts.map +1 -1
  23. package/lib/daemon.js +57 -7
  24. package/lib/daemon.js.map +1 -1
  25. package/lib/device-flow.d.ts +1 -0
  26. package/lib/device-flow.d.ts.map +1 -1
  27. package/lib/device-flow.js +1 -0
  28. package/lib/device-flow.js.map +1 -1
  29. package/lib/index.d.ts +1 -1
  30. package/lib/index.d.ts.map +1 -1
  31. package/lib/index.js +5 -4
  32. package/lib/index.js.map +1 -1
  33. package/lib/providers/github-app.d.ts.map +1 -1
  34. package/lib/providers/github-app.js +148 -126
  35. package/lib/providers/github-app.js.map +1 -1
  36. package/lib/reload.d.ts +45 -0
  37. package/lib/reload.d.ts.map +1 -0
  38. package/lib/reload.js +149 -0
  39. package/lib/reload.js.map +1 -0
  40. package/package.json +2 -2
  41. package/lib/commands/host-opener.d.ts +0 -33
  42. package/lib/commands/host-opener.d.ts.map +0 -1
  43. package/lib/commands/host-opener.js.map +0 -1
@@ -390,6 +390,90 @@ export function createGithubAppProvider(options) {
390
390
  // the exchange even when the commands selected different proxy routes, then let the waiter re-read
391
391
  // the cache the winner wrote. Each exchange still uses its own command's fetch.
392
392
  let renewingPersonToken;
393
+ /**
394
+ * The token of the person this deployment authorized, when there is one.
395
+ *
396
+ * Only person-relevant actions may use it; GitHub will not author a pull request as a person for
397
+ * an app, refuses to resolve a review thread for one, and a reply must be attributable to the
398
+ * person answering.
399
+ * The refresh token lives beside the private key, and GitHub rotates it on every use, so the new
400
+ * one is written back — keeping the old would work once and then stop.
401
+ *
402
+ * @returns the user token, or `undefined` when nobody has authorized one.
403
+ */
404
+ async function personalToken() {
405
+ while (renewingPersonToken !== undefined) {
406
+ try {
407
+ await renewingPersonToken;
408
+ }
409
+ catch {
410
+ // The winner failed; this command retries after the lock is released.
411
+ }
412
+ }
413
+ const pending = renewPersonToken();
414
+ renewingPersonToken = pending;
415
+ try {
416
+ return await pending;
417
+ }
418
+ finally {
419
+ if (renewingPersonToken === pending)
420
+ renewingPersonToken = undefined;
421
+ }
422
+ }
423
+ /** The authorized person's token, falling back to the per-owner token for this owner. */
424
+ async function personTokenFor(owner) {
425
+ const personal = await personalToken();
426
+ if (personal !== undefined)
427
+ return personal;
428
+ const file = cfg.userTokens?.[owner];
429
+ if (file === undefined)
430
+ return undefined;
431
+ const token = readFileSync(file, 'utf8').trim();
432
+ return token === '' ? undefined : token;
433
+ }
434
+ async function renewPersonToken() {
435
+ if (cfg.clientId === undefined || cfg.privateKeyPath === undefined)
436
+ return undefined;
437
+ const path = userTokenPath(cfg.privateKeyPath);
438
+ if (!existsSync(path))
439
+ return undefined;
440
+ const now = Date.now();
441
+ // The file is the only thing that says who the broker may act as, so it is read before the cache is
442
+ // trusted: running `authorize` again — the documented way to change that person, and the only one —
443
+ // has to take effect now rather than when the cached token happens to expire.
444
+ const held = readFileSync(path, 'utf8').trim();
445
+ if (cachedPersonToken !== undefined &&
446
+ cachedPersonToken.until > now + 60_000 &&
447
+ cachedPersonToken.source === held) {
448
+ return cachedPersonToken.token;
449
+ }
450
+ let next;
451
+ try {
452
+ next = await refreshUserToken(cfg.clientId, held, (url, init) => fetchImpl(url, init));
453
+ }
454
+ catch (error) {
455
+ // This is the one place a renewal failure is explained: the caller is an action that failed,
456
+ // and "fetch failed" on its own names neither the host nor the reason.
457
+ throw new Error(`could not renew the authorized token from ${path}: ${error.message}${describeCause(error)}`);
458
+ }
459
+ if (next.refreshToken !== undefined) {
460
+ try {
461
+ writeFileSync(path, `${next.refreshToken}\n`, { mode: 0o600 });
462
+ }
463
+ catch (error) {
464
+ // GitHub invalidated the token on disk the moment it answered, so this is not transient and not
465
+ // recoverable: the next renewal reads a dead token. Nothing else in the log would say so.
466
+ throw new Error(`could not store the new refresh token in ${path}: ${error.message}; the previous ` +
467
+ 'one is no longer valid, so run authorize again');
468
+ }
469
+ }
470
+ cachedPersonToken = {
471
+ token: next.token,
472
+ until: now + (next.expiresInSeconds ?? 28_800) * 1_000,
473
+ source: next.refreshToken ?? held,
474
+ };
475
+ return cachedPersonToken.token;
476
+ }
393
477
  /**
394
478
  * One more sentence about a failure, when there is one worth having.
395
479
  *
@@ -426,16 +510,30 @@ export function createGithubAppProvider(options) {
426
510
  name: 'github-app',
427
511
  async runAction(request) {
428
512
  const spec = getGhAction(request.action);
429
- const wanted = { ...spec.permissions };
430
- await ensurePermissions(request.owner, wanted);
431
- const installationId = await resolveInstallationId(request.owner);
432
- const { json } = await call('POST', `${api}/app/installations/${installationId}/access_tokens`, {
433
- repositories: [request.repo],
434
- permissions: wanted,
435
- });
436
- const token = json?.token;
437
- if (typeof token !== 'string' || !token) {
438
- throw new ProviderConfigError('GitHub returned no installation token for the action');
513
+ const identity = request.identity ?? 'app';
514
+ let token;
515
+ let minted = false;
516
+ if (identity === 'user') {
517
+ const person = await personTokenFor(request.owner);
518
+ if (person === undefined) {
519
+ throw new ProviderConfigError('no authorized user token for this action; run gcb authorize or configure userTokens');
520
+ }
521
+ token = person;
522
+ }
523
+ else {
524
+ const wanted = { ...spec.permissions };
525
+ await ensurePermissions(request.owner, wanted);
526
+ const installationId = await resolveInstallationId(request.owner);
527
+ const { json } = await call('POST', `${api}/app/installations/${installationId}/access_tokens`, {
528
+ repositories: [request.repo],
529
+ permissions: wanted,
530
+ });
531
+ const mintedToken = json?.token;
532
+ if (typeof mintedToken !== 'string' || !mintedToken) {
533
+ throw new ProviderConfigError('GitHub returned no installation token for the action');
534
+ }
535
+ token = mintedToken;
536
+ minted = true;
439
537
  }
440
538
  let result;
441
539
  let warning;
@@ -455,32 +553,34 @@ export function createGithubAppProvider(options) {
455
553
  result = { ...NO_RUN, error: error instanceof Error ? error.message : String(error) };
456
554
  }
457
555
  finally {
458
- try {
459
- const response = await fetchImpl(`${api}/installation/token`, {
460
- method: 'DELETE',
461
- headers: {
462
- accept: 'application/vnd.github+json',
463
- authorization: `Bearer ${token}`,
464
- 'x-github-api-version': apiVersion,
465
- 'user-agent': 'gcb',
466
- },
467
- });
468
- if (!response.ok) {
469
- let detail = '';
470
- try {
471
- detail = (await response.text()).replace(/\s+/g, ' ').trim().slice(0, 200);
472
- }
473
- catch {
474
- // The status is enough; a body that cannot be read is still not a successful revoke.
556
+ if (minted) {
557
+ try {
558
+ const response = await fetchImpl(`${api}/installation/token`, {
559
+ method: 'DELETE',
560
+ headers: {
561
+ accept: 'application/vnd.github+json',
562
+ authorization: `Bearer ${token}`,
563
+ 'x-github-api-version': apiVersion,
564
+ 'user-agent': 'gcb',
565
+ },
566
+ });
567
+ if (!response.ok) {
568
+ let detail = '';
569
+ try {
570
+ detail = (await response.text()).replace(/\s+/g, ' ').trim().slice(0, 200);
571
+ }
572
+ catch {
573
+ // The status is enough; a body that cannot be read is still not a successful revoke.
574
+ }
575
+ log(`could not revoke the action token: GitHub answered ${response.status}${detail ? ` ${detail}` : ''}`);
576
+ warning = REVOKE_WARNING;
475
577
  }
476
- log(`could not revoke the action token: GitHub answered ${response.status}${detail ? ` ${detail}` : ''}`);
578
+ }
579
+ catch (error) {
580
+ log(`could not revoke the action token: ${String(error.message ?? error)}`);
477
581
  warning = REVOKE_WARNING;
478
582
  }
479
583
  }
480
- catch (error) {
481
- log(`could not revoke the action token: ${String(error.message ?? error)}`);
482
- warning = REVOKE_WARNING;
483
- }
484
584
  }
485
585
  return { ...result, tokenFingerprint: tokenFingerprint(token), ...(warning === undefined ? {} : { warning }) };
486
586
  },
@@ -559,11 +659,7 @@ export function createGithubAppProvider(options) {
559
659
  */
560
660
  async pullRequest(request) {
561
661
  if (request.action === 'fork') {
562
- let token = await personalToken();
563
- const userToken = cfg.userTokens?.[request.owner];
564
- if (token === undefined && userToken !== undefined) {
565
- token = readFileSync(userToken, 'utf8').trim();
566
- }
662
+ const token = await personTokenFor(request.owner);
567
663
  if (token === undefined) {
568
664
  throw new ProviderConfigError('no user token for fork; run gcb authorize or configure userTokens');
569
665
  }
@@ -581,28 +677,26 @@ export function createGithubAppProvider(options) {
581
677
  }
582
678
  return { number: 0, url: forked.html_url };
583
679
  }
584
- // The two actions a person may perform are decided first: when somebody has authorized this
585
- // deployment, their token is the whole authority for them, and requiring an installation as well
586
- // would refuse a repository the app was never installed on — the fork-to-upstream case the allowlist
587
- // exists to permit. Everything else still acts as the app, and only ever could.
680
+ // The person is selected explicitly, and by default for the two operations an installation token
681
+ // cannot perform (open/resolve): requiring an installation as well would refuse a repository the
682
+ // app was never installed on — the fork-to-upstream case the allowlist exists to permit. Reply,
683
+ // edit and comment stay on the app unless identity is explicitly 'user'.
588
684
  const wantsApp = request.identity === 'app';
589
- const wantsUser = request.identity === 'user';
590
- const personalForThis = !wantsApp && (request.action === 'open' || request.action === 'resolve');
591
- const personToken = personalForThis ? await personalToken() : undefined;
685
+ const personalForThis = request.identity === 'user' ||
686
+ (!wantsApp && (request.action === 'open' || request.action === 'resolve'));
687
+ const actingToken = personalForThis ? await personTokenFor(request.owner) : undefined;
688
+ // Resolving has no app route: the thread mutation is refused for an installation token, so a
689
+ // missing person token is a configuration error, not a reason to mint the wrong credential.
690
+ const personRequired = request.identity === 'user' || request.action === 'resolve';
691
+ if (personRequired && actingToken === undefined) {
692
+ throw new ProviderConfigError(`no authorized user token for ${request.action === 'resolve' ? 'resolving this thread' : 'this request'}; run gcb authorize or configure userTokens`);
693
+ }
592
694
  // `--status` also reads /actions/runs, which is checked against actions: read. Pre-flighting
593
695
  // pull_requests alone passed a grant that could not make that call, which is the opposite of what a
594
696
  // pre-flight is for.
595
697
  const wanted = request.action === 'status' ? { ...PULL_REQUEST_PERMISSIONS, actions: 'read' } : PULL_REQUEST_PERMISSIONS;
596
698
  // One variable, so every branch below holds a token without having to ask which kind it is.
597
699
  let token;
598
- // A token per owner is the other way a person acts. It counts exactly as the authorized token does:
599
- // whoever is acting, requiring an installation as well would refuse a repository the app was never
600
- // installed on — the fork-to-upstream case the allowlist exists to permit.
601
- const fileToken = personalForThis ? cfg.userTokens?.[request.owner] : undefined;
602
- const actingToken = personToken ?? (fileToken === undefined ? undefined : readFileSync(fileToken, 'utf8').trim());
603
- if (wantsUser && actingToken === undefined) {
604
- throw new ProviderConfigError('no authorized user token for this request; run gcb authorize or configure userTokens');
605
- }
606
700
  if (actingToken === undefined) {
607
701
  await ensurePermissions(request.owner, wanted);
608
702
  const installationId = await resolveInstallationId(request.owner);
@@ -620,84 +714,12 @@ export function createGithubAppProvider(options) {
620
714
  token = actingToken;
621
715
  }
622
716
  const collection = `${api}/repos/${request.owner}/${request.repo}/pulls`;
623
- /**
624
- * The token of the person this deployment authorized, when there is one.
625
-
626
- * Only two actions may use it, and both because an installation token cannot: GitHub will not
627
- * author a pull request as a person for an app, and refuses to resolve a review thread for one.
628
- * The refresh token lives beside the private key, and GitHub rotates it on every use, so the new
629
- * one is written back — keeping the old would work once and then stop.
630
- *
631
- * @returns the user token, or `undefined` when nobody has authorized one.
632
- */
633
- async function personalToken() {
634
- while (renewingPersonToken !== undefined) {
635
- try {
636
- await renewingPersonToken;
637
- }
638
- catch {
639
- // The winner failed; this command retries after the lock is released.
640
- }
641
- }
642
- const pending = renewPersonToken();
643
- renewingPersonToken = pending;
644
- try {
645
- return await pending;
646
- }
647
- finally {
648
- if (renewingPersonToken === pending)
649
- renewingPersonToken = undefined;
650
- }
651
- }
652
- async function renewPersonToken() {
653
- if (cfg.clientId === undefined || cfg.privateKeyPath === undefined)
654
- return undefined;
655
- const path = userTokenPath(cfg.privateKeyPath);
656
- if (!existsSync(path))
657
- return undefined;
658
- const now = Date.now();
659
- // The file is the only thing that says who the broker may act as, so it is read before the cache is
660
- // trusted: running `authorize` again — the documented way to change that person, and the only one —
661
- // has to take effect now rather than when the cached token happens to expire.
662
- const held = readFileSync(path, 'utf8').trim();
663
- if (cachedPersonToken !== undefined &&
664
- cachedPersonToken.until > now + 60_000 &&
665
- cachedPersonToken.source === held) {
666
- return cachedPersonToken.token;
667
- }
668
- let next;
669
- try {
670
- next = await refreshUserToken(cfg.clientId, held, (url, init) => fetchImpl(url, init));
671
- }
672
- catch (error) {
673
- // This is the one place a renewal failure is explained: the caller is an action that failed,
674
- // and "fetch failed" on its own names neither the host nor the reason.
675
- throw new Error(`could not renew the authorized token from ${path}: ${error.message}${describeCause(error)}`);
676
- }
677
- if (next.refreshToken !== undefined) {
678
- try {
679
- writeFileSync(path, `${next.refreshToken}\n`, { mode: 0o600 });
680
- }
681
- catch (error) {
682
- // GitHub invalidated the token on disk the moment it answered, so this is not transient and not
683
- // recoverable: the next renewal reads a dead token. Nothing else in the log would say so.
684
- throw new Error(`could not store the new refresh token in ${path}: ${error.message}; the previous ` +
685
- 'one is no longer valid, so run authorize again');
686
- }
687
- }
688
- cachedPersonToken = {
689
- token: next.token,
690
- until: now + (next.expiresInSeconds ?? 28_800) * 1_000,
691
- source: next.refreshToken ?? held,
692
- };
693
- return cachedPersonToken.token;
694
- }
695
717
  if (request.action === 'resolve') {
696
718
  // Resolving has no REST endpoint either. The thread id is the one `--threads` prints.
697
719
  // The thread id is a global node id, and the person token is not narrowed to a repository the way
698
720
  // an installation token is. Ask whose thread it is before changing it: the allowlist decided which
699
721
  // repositories this broker may touch, and a mutation is the wrong place to discover it did not.
700
- const { text: scoped } = await callWithToken('POST', `${api}/graphql`, personToken ?? token, {
722
+ const { text: scoped } = await callWithToken('POST', `${api}/graphql`, token, {
701
723
  query: 'query($threadId:ID!){node(id:$threadId){... on PullRequestReviewThread{pullRequest{repository{nameWithOwner}}}}}',
702
724
  variables: { threadId: request.threadId },
703
725
  });
@@ -715,7 +737,7 @@ export function createGithubAppProvider(options) {
715
737
  throw new Error(`refusing to resolve ${request.threadId}: it is not a review thread of ${request.owner}/${request.repo}` +
716
738
  (typeof belongsTo === 'string' ? ` (it belongs to ${belongsTo})` : ' (or it could not be read)'));
717
739
  }
718
- const { text: raw } = await callWithToken('POST', `${api}/graphql`, personToken ?? token, {
740
+ const { text: raw } = await callWithToken('POST', `${api}/graphql`, token, {
719
741
  query: 'mutation($threadId:ID!){resolveReviewThread(input:{threadId:$threadId}){thread{isResolved}}}',
720
742
  variables: { threadId: request.threadId ?? '' },
721
743
  });
@@ -1 +1 @@
1
- {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrD,0DAA0D;AAC1D,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,4FAA4F;AAC5F,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAkC9E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,wBAAwB,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC5G,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7E,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,mCAAmC,wBAAwB,qDAAqD,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,UAAU,GAAG,WAAW;QAC7B,GAAG,EAAE,UAAU,GAAG,eAAe;QACjC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;KACjB,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAyB;IAChD,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,WAAW,GAAG,GAAG,EACjB,SAAS,GAAG,UAAU,EACtB,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,MAAM,EACN,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa;QACrC,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,CAAC,CAAC,GAAG,CAAC,cAAc;YAClB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,iDAAiD,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAW,aAAa,CAAC;IAErC,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,MAAM,GAAgC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC;IACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,6CAA6C,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,GAAG,GAAoB,MAAM,CAAC;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAC5D,MAAM,iBAAiB,GACrB,CAAC,OAAO,GAAG,CAAC,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEjG;;;;;;;OAOG;IACH,MAAM,eAAe,GAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAEpE,6FAA6F;IAC7F,MAAM,eAAe,GAAG,OAAO,CAAC;IAEhC;;;;OAIG;IACH,MAAM,wBAAwB,GAA2B,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACtG,+DAA+D;IAC/D,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvG,MAAM,cAAc,GAAG,8DAA8D,CAAC;IAEtF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D;;;;;;;OAOG;IACH,SAAS,kBAAkB,CACzB,iBAAmD,EACnD,OAA+B,EAC/B,IAAY,EACZ,MAAc;QAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,MAAM,SAAS,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,UAAU,IAAI,CACjB,MAAc,EACd,GAAW,EACX,IAA8B;QAE9B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAsB,MAAM,SAAS,CAAC,GAAG,EAAE;YACvD,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI;gBAC5D,CAAC,CAAC,MAAM,CAAE,IAA6B,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzB,iFAAiF;YACjF,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,GAAW,EACX,KAAa,EACb,IAA8B;QAE9B,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,sGAAsG;YACtG,kGAAkG;YAClG,sGAAsG;YACtG,iGAAiG;YACjG,uGAAuG;YACvG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,QAAQ,CAAC,MAAM,mBAAmB,CAC5F,CAAC;YACF,IAAI,MAAM,KAAK,EAAE;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,qBAAqB,CAAC,KAAa;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;QAEzD,IAAI,GAAG,GAAkB,GAAG,GAAG,iCAAiC,CAAC;QACjE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,KAAwD,CAAC;oBAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACpG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;wBACtF,OAAO,YAAY,CAAC,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,iBAAiB,CACxB,KAAa,EACb,iBAAiB,GAAqC,WAAW;QAEjE,IAAI,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,mFAAmF;QACnF,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,eAAe,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAmB,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAI,IAAwD,EAAE,WAAW,IAAI,EAAE,CAAC;YAChG,MAAM,QAAQ,GAAG,kBAAkB,CACjC,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,+CAA+C,CAChD,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,sBAAsB,cAAc,EAAE,CAAC,CAAC;YAC/F,MAAM,mBAAmB,GACtB,YAAgE,EAAE,WAAW,IAAI,EAAE,CAAC;YACvF,QAAQ,CAAC,IAAI,CACX,GAAG,kBAAkB,CACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,uCAAuC,CACxC,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAmB,CAC3B,kCAAkC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACnF,wFAAwF;oBACxF,+EAA+E,CAClF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,qBAAqB,CAClC,OAA2B,EAC3B,KAAa,EACb,UAAkB;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAQ5B,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5I,OAAO,CAAC,QAAQ;SACjB,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC1C,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,0BAA0B,GAAG,cAAc,EACxF,KAAK,CACN,CAAC;YACF,IAAI,IAAI,GAAY,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAI,CAAC,IAAI,IAAI,EAAE,CAAiC,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,KAAK,MAAM,GAAG,IAAI,KAA0E,EAAE,CAAC;oBAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;YAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAEG,IAAI,iBAA+E,CAAC;IACpF,mGAAmG;IACnG,uGAAuG;IACvG,+FAA+F;IAC/F,6FAA6F;IAC7F,kGAAkG;IAClG,mGAAmG;IACnG,gFAAgF;IAChF,IAAI,mBAA4D,CAAC;IAEvE;;;;;;;;OAQG;IACH,SAAS,aAAa,CAAC,KAAc;QACnC,MAAM,KAAK,GAAI,KAAkD,EAAE,KAAK,EAAE,OAAO,CAAC;QAClF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,iBAAiB,CAAC,KAAc;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEC,OAAO;QACL,IAAI,EAAE,YAAY;QAElB,KAAK,CAAC,SAAS,CAAC,OAAO;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,MAAM,GAA2B,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/D,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YACH,MAAM,KAAK,GAAI,IAAmC,EAAE,KAAK,CAAC;YAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,mBAAmB,CAAC,sDAAsD,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,MAAuB,CAAC;YAC5B,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,GAAG,qBAAqB,EAAE;wBAC5D,MAAM,EAAE,QAAQ;wBAChB,OAAO,EAAE;4BACP,MAAM,EAAE,6BAA6B;4BACrC,aAAa,EAAE,UAAU,KAAK,EAAE;4BAChC,sBAAsB,EAAE,UAAU;4BAClC,YAAY,EAAE,KAAK;yBACpB;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC;4BACH,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC7E,CAAC;wBAAC,MAAM,CAAC;4BACP,qFAAqF;wBACvF,CAAC;wBACD,GAAG,CAAC,sDAAsD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC1G,OAAO,GAAG,cAAc,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,sCAAsC,MAAM,CAAE,KAAe,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;oBACvF,OAAO,GAAG,cAAc,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAO;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;gBAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE9F,MAAM,UAAU,GAAe;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACvB,SAAS;aACV,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrC,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QACD;;;;;;;;;;WAUG;QACH,KAAK,CAAC,SAAS,CAAC,OAAsB;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,MAAM,KAAK,GAAI,IAAmC,EAAE,KAAK,CAAC;YAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,mBAAmB,CAAC,2DAA2D,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,KAAK,OAAO,EAClF,KAAK,CACN,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4FAA4F;gBAC5F,4FAA4F;gBAC5F,gCAAgC;gBAChC,MAAM,IAAI,mBAAmB,CAC3B,GAAI,KAAe,CAAC,OAAO,+FAA+F,CAC3H,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtE,OAAO;gBACL,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,wBAAwB,eAAe,eAAe;gBAC7F,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED;;;;;;;;WAQG;QACH,KAAK,CAAC,WAAW,CAAC,OAA2B;YAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBACnD,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,mBAAmB,CAAC,mEAAmE,CAAC,CAAC;gBACrG,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3G,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,EAAE,CAAgD,CAAC;gBAC9E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,CAAC;YAED,4FAA4F;YAC5F,iGAAiG;YACjG,qGAAqG;YACrG,gFAAgF;YAChF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;YAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC;YAC9C,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACjG,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,6FAA6F;YAC7F,oGAAoG;YACpG,qBAAqB;YACrB,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAE5G,4FAA4F;YAC5F,IAAI,KAAyB,CAAC;YAC9B,oGAAoG;YACpG,mGAAmG;YACnG,2EAA2E;YAC3E,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,WAAW,GACf,WAAW,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEhG,IAAI,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,mBAAmB,CAC3B,sFAAsF,CACvF,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;oBACtG,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAI,MAAqC,EAAE,KAAK,CAAC;gBAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAC;gBAC9F,CAAC;gBACD,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;YAED,MAAM,UAAU,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC;YAGzE;;;;;;;;;eASG;YACH,KAAK,UAAU,aAAa;gBAC1B,OAAO,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,mBAAmB,CAAC;oBAC5B,CAAC;oBAAC,MAAM,CAAC;wBACP,sEAAsE;oBACxE,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;gBACnC,mBAAmB,GAAG,OAAO,CAAC;gBAC9B,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC;gBACvB,CAAC;wBAAS,CAAC;oBACT,IAAI,mBAAmB,KAAK,OAAO;wBAAE,mBAAmB,GAAG,SAAS,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,KAAK,UAAU,gBAAgB;gBAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBACrF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,oGAAoG;gBACpG,oGAAoG;gBACpG,8EAA8E;gBAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/C,IACE,iBAAiB,KAAK,SAAS;oBAC/B,iBAAiB,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM;oBACtC,iBAAiB,CAAC,MAAM,KAAK,IAAI,EACjC,CAAC;oBACD,OAAO,iBAAiB,CAAC,KAAK,CAAC;gBACjC,CAAC;gBACD,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,6FAA6F;oBAC7F,uEAAuE;oBACvE,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,KAAM,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CACxG,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,gGAAgG;wBAChG,0FAA0F;wBAC1F,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,KAAM,KAAe,CAAC,OAAO,iBAAiB;4BAC5F,gDAAgD,CACnD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,iBAAiB,GAAG;oBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,GAAG,KAAK;oBACtD,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;iBAClC,CAAC;gBACF,OAAO,iBAAiB,CAAC,KAAK,CAAC;YACjC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,sFAAsF;gBACtF,kGAAkG;gBAClG,mGAAmG;gBACnG,gGAAgG;gBAChG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,IAAI,KAAK,EAAE;oBAC3F,KAAK,EACH,kHAAkH;oBACpH,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC1C,CAAC,CAAC;gBACH,IAAI,SAAkB,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAE/B,CAAC;oBACF,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC;gBACxE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;gBACD,IACE,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAC5E,CAAC;oBACD,kFAAkF;oBAClF,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,QAAQ,kCAAkC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;wBACtG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CACnG,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,IAAI,KAAK,EAAE;oBACxF,KAAK,EACH,8FAA8F;oBAChG,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE;iBAChD,CAAC,CAAC;gBACH,IAAI,MAAM,GAAY,IAAI,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAG1B,CAAC;gBACF,0FAA0F;gBAC1F,mCAAmC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,4FAA4F;oBAC5F,yFAAyF;oBACzF,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjH,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;iBACjG,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC/B,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,aAAa,CACjB,MAAM,EACN,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EACpF,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAC7B,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,gGAAgG;gBAChG,gGAAgG;gBAChG,4FAA4F;gBAC5F,+FAA+F;gBAC/F,MAAM,QAAQ,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,mBAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrG,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAuD,CAAC;gBACnF,OAAO;oBACL,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;oBACvE,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBACzE,KAAK,EACH,iPAAiP;oBACnP,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;iBAChF,CAAC,CAAC;gBACH,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,4FAA4F;gBAC5F,gGAAgG;gBAChG,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,OAAO,GAAG,MAA8B,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM,IAAI,GAAG,MAEZ,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;gBAClE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC9G,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,KAMjB,EAAE,CAAC;oBACH,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;wBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBACnE,CAAC;oBACD,sFAAsF;oBACtF,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAC1H,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACvE,CAAC;oBACD,KAAK,MAAM,OAAO,IAAI,QAIpB,EAAE,CAAC;wBACH,oGAAoG;wBACpG,qGAAqG;wBACrG,yCAAyC;wBACzC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACtE,CAAC;wBACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC1B,mGAAmG;wBACnG,kGAAkG;wBAClG,sGAAsG;wBACtG,0EAA0E;wBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAa,EAAE,CAAC;wBAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;wBACpB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;4BAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;4BACxB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAAC,OAAO,GAAG,CAAC,OAAO,CAAC;gCAAC,SAAS;4BAAC,CAAC;4BAC7D,IAAI,OAAO;gCAAE,SAAS;4BACtB,IAAI,+FAA+F,CAAC,IAAI,CAAC,IAAI,CAAC;gCAAE,SAAS;4BACzH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1D,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;wBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpG,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACxG,KAAK,MAAM,IAAI,IAAI,KAAK;4BAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBACD,mGAAmG;gBACnG,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;gBACjC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,KAAK,8EAA8E,CAAC,CAAC;gBACtH,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wCAAwC;iBACzF,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,2FAA2F;gBAC3F,8FAA8F;gBAC9F,4DAA4D;gBAC5D,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,KAAK,EAAE;oBAC5E,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;oBACxB,KAAK,EAAE,SAAS;oBAChB,0FAA0F;oBAC1F,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;wBAC9D,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,QAAQ,EAAE;gCACR;oCACE,IAAI,EAAE,OAAO,CAAC,QAAQ;oCACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,iFAAiF;oCACjF,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE;oCAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;iCACzB;6BACF;yBACF,CAAC;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7F,IAAI,IAAI,GAAY,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAA2B,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,GAAG,GAAG,UAAU,CAAC;YACvB,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAE1J,IAAI,CAAC;gBACH,uGAAuG;gBACvG,mGAAmG;gBACnG,iGAAiG;gBACjG,wFAAwF;gBACxF,+FAA+F;gBAC/F,gFAAgF;gBAClF,gFAAgF;gBAC9E,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gGAAgG;gBAChG,6FAA6F;gBAC7F,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,GAAI,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,wFAAwF,CAC3I,CAAC;gBACF,MAAM,MAAM,GAAI,KAAiC,CAAC,UAAU,CAAC;gBAC7D,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,MAAM,OAAO,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,GAAY,IAAI,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAgF,CAAC;YAC9G,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;gBACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC;QACJ,CAAC;KAEF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrD,0DAA0D;AAC1D,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,4FAA4F;AAC5F,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAkC9E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,wBAAwB,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC5G,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7E,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,mCAAmC,wBAAwB,qDAAqD,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,UAAU,GAAG,WAAW;QAC7B,GAAG,EAAE,UAAU,GAAG,eAAe;QACjC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;KACjB,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAyB;IAChD,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,WAAW,GAAG,GAAG,EACjB,SAAS,GAAG,UAAU,EACtB,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,MAAM,EACN,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa;QACrC,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,CAAC,CAAC,GAAG,CAAC,cAAc;YAClB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,iDAAiD,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAW,aAAa,CAAC;IAErC,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,MAAM,GAAgC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC;IACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,6CAA6C,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,GAAG,GAAoB,MAAM,CAAC;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAC5D,MAAM,iBAAiB,GACrB,CAAC,OAAO,GAAG,CAAC,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEjG;;;;;;;OAOG;IACH,MAAM,eAAe,GAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAEpE,6FAA6F;IAC7F,MAAM,eAAe,GAAG,OAAO,CAAC;IAEhC;;;;OAIG;IACH,MAAM,wBAAwB,GAA2B,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACtG,+DAA+D;IAC/D,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvG,MAAM,cAAc,GAAG,8DAA8D,CAAC;IAEtF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D;;;;;;;OAOG;IACH,SAAS,kBAAkB,CACzB,iBAAmD,EACnD,OAA+B,EAC/B,IAAY,EACZ,MAAc;QAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,MAAM,SAAS,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,UAAU,IAAI,CACjB,MAAc,EACd,GAAW,EACX,IAA8B;QAE9B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAsB,MAAM,SAAS,CAAC,GAAG,EAAE;YACvD,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI;gBAC5D,CAAC,CAAC,MAAM,CAAE,IAA6B,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzB,iFAAiF;YACjF,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,GAAW,EACX,KAAa,EACb,IAA8B;QAE9B,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,sGAAsG;YACtG,kGAAkG;YAClG,sGAAsG;YACtG,iGAAiG;YACjG,uGAAuG;YACvG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,QAAQ,CAAC,MAAM,mBAAmB,CAC5F,CAAC;YACF,IAAI,MAAM,KAAK,EAAE;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,qBAAqB,CAAC,KAAa;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;QAEzD,IAAI,GAAG,GAAkB,GAAG,GAAG,iCAAiC,CAAC;QACjE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,KAAwD,CAAC;oBAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACpG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;wBACtF,OAAO,YAAY,CAAC,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,iBAAiB,CACxB,KAAa,EACb,iBAAiB,GAAqC,WAAW;QAEjE,IAAI,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,mFAAmF;QACnF,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,eAAe,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAmB,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAI,IAAwD,EAAE,WAAW,IAAI,EAAE,CAAC;YAChG,MAAM,QAAQ,GAAG,kBAAkB,CACjC,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,+CAA+C,CAChD,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,sBAAsB,cAAc,EAAE,CAAC,CAAC;YAC/F,MAAM,mBAAmB,GACtB,YAAgE,EAAE,WAAW,IAAI,EAAE,CAAC;YACvF,QAAQ,CAAC,IAAI,CACX,GAAG,kBAAkB,CACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,uCAAuC,CACxC,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAmB,CAC3B,kCAAkC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACnF,wFAAwF;oBACxF,+EAA+E,CAClF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,qBAAqB,CAClC,OAA2B,EAC3B,KAAa,EACb,UAAkB;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAQ5B,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5I,OAAO,CAAC,QAAQ;SACjB,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC1C,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,0BAA0B,GAAG,cAAc,EACxF,KAAK,CACN,CAAC;YACF,IAAI,IAAI,GAAY,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAI,CAAC,IAAI,IAAI,EAAE,CAAiC,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,KAAK,MAAM,GAAG,IAAI,KAA0E,EAAE,CAAC;oBAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;YAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,iBAA+E,CAAC;IACpF,mGAAmG;IACnG,uGAAuG;IACvG,+FAA+F;IAC/F,6FAA6F;IAC7F,kGAAkG;IAClG,mGAAmG;IACnG,gFAAgF;IAChF,IAAI,mBAA4D,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,KAAK,UAAU,aAAa;QAC1B,OAAO,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,mBAAmB,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,mBAAmB,KAAK,OAAO;gBAAE,mBAAmB,GAAG,SAAS,CAAC;QACvE,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,cAAc,CAAC,KAAa;QACzC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,KAAK,UAAU,gBAAgB;QAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACrF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,oGAAoG;QACpG,oGAAoG;QACpG,8EAA8E;QAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IACE,iBAAiB,KAAK,SAAS;YAC/B,iBAAiB,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM;YACtC,iBAAiB,CAAC,MAAM,KAAK,IAAI,EACjC,CAAC;YACD,OAAO,iBAAiB,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,uEAAuE;YACvE,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,KAAM,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gGAAgG;gBAChG,0FAA0F;gBAC1F,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,KAAM,KAAe,CAAC,OAAO,iBAAiB;oBAC5F,gDAAgD,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,iBAAiB,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,GAAG,KAAK;YACtD,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SAClC,CAAC;QACF,OAAO,iBAAiB,CAAC,KAAK,CAAC;IACjC,CAAC;IAEH;;;;;;;;OAQG;IACH,SAAS,aAAa,CAAC,KAAc;QACnC,MAAM,KAAK,GAAI,KAAkD,EAAE,KAAK,EAAE,OAAO,CAAC;QAClF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,iBAAiB,CAAC,KAAc;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEC,OAAO;QACL,IAAI,EAAE,YAAY;QAElB,KAAK,CAAC,SAAS,CAAC,OAAO;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;YAC3C,IAAI,KAAa,CAAC;YAClB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,mBAAmB,CAC3B,qFAAqF,CACtF,CAAC;gBACJ,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAA2B,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/D,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;oBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAI,IAAmC,EAAE,KAAK,CAAC;gBAChE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,sDAAsD,CAAC,CAAC;gBACxF,CAAC;gBACD,KAAK,GAAG,WAAW,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,MAAuB,CAAC;YAC5B,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,CAAC;oBAAS,CAAC;gBACT,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,GAAG,qBAAqB,EAAE;4BAC5D,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE;gCACP,MAAM,EAAE,6BAA6B;gCACrC,aAAa,EAAE,UAAU,KAAK,EAAE;gCAChC,sBAAsB,EAAE,UAAU;gCAClC,YAAY,EAAE,KAAK;6BACpB;yBACF,CAAC,CAAC;wBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,IAAI,MAAM,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC;gCACH,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;4BAC7E,CAAC;4BAAC,MAAM,CAAC;gCACP,qFAAqF;4BACvF,CAAC;4BACD,GAAG,CAAC,sDAAsD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1G,OAAO,GAAG,cAAc,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,sCAAsC,MAAM,CAAE,KAAe,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;wBACvF,OAAO,GAAG,cAAc,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAO;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;gBAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE9F,MAAM,UAAU,GAAe;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACvB,SAAS;aACV,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrC,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QACD;;;;;;;;;;WAUG;QACH,KAAK,CAAC,SAAS,CAAC,OAAsB;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,MAAM,KAAK,GAAI,IAAmC,EAAE,KAAK,CAAC;YAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,mBAAmB,CAAC,2DAA2D,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,KAAK,OAAO,EAClF,KAAK,CACN,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4FAA4F;gBAC5F,4FAA4F;gBAC5F,gCAAgC;gBAChC,MAAM,IAAI,mBAAmB,CAC3B,GAAI,KAAe,CAAC,OAAO,+FAA+F,CAC3H,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtE,OAAO;gBACL,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,wBAAwB,eAAe,eAAe;gBAC7F,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED;;;;;;;;WAQG;QACH,KAAK,CAAC,WAAW,CAAC,OAA2B;YAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,mBAAmB,CAAC,mEAAmE,CAAC,CAAC;gBACrG,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3G,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,EAAE,CAAgD,CAAC;gBAC9E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,CAAC;YAED,iGAAiG;YACjG,iGAAiG;YACjG,gGAAgG;YAChG,yEAAyE;YACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;YAC5C,MAAM,eAAe,GACnB,OAAO,CAAC,QAAQ,KAAK,MAAM;gBAC3B,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,6FAA6F;YAC7F,4FAA4F;YAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;YACnF,IAAI,cAAc,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,IAAI,mBAAmB,CAC3B,gCAAgC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,6CAA6C,CACrJ,CAAC;YACJ,CAAC;YAED,6FAA6F;YAC7F,oGAAoG;YACpG,qBAAqB;YACrB,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAE5G,4FAA4F;YAC5F,IAAI,KAAyB,CAAC;YAC9B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;oBACtG,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAI,MAAqC,EAAE,KAAK,CAAC;gBAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAC;gBAC9F,CAAC;gBACD,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;YAED,MAAM,UAAU,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC;YAGzE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,sFAAsF;gBACtF,kGAAkG;gBAClG,mGAAmG;gBACnG,gGAAgG;gBAChG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBAC5E,KAAK,EACH,kHAAkH;oBACpH,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC1C,CAAC,CAAC;gBACH,IAAI,SAAkB,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAE/B,CAAC;oBACF,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC;gBACxE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;gBACD,IACE,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAC5E,CAAC;oBACD,kFAAkF;oBAClF,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,QAAQ,kCAAkC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;wBACtG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CACnG,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBACzE,KAAK,EACH,8FAA8F;oBAChG,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE;iBAChD,CAAC,CAAC;gBACH,IAAI,MAAM,GAAY,IAAI,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAG1B,CAAC;gBACF,0FAA0F;gBAC1F,mCAAmC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,4FAA4F;oBAC5F,yFAAyF;oBACzF,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjH,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;iBACjG,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC/B,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,aAAa,CACjB,MAAM,EACN,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EACpF,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAC7B,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,gGAAgG;gBAChG,gGAAgG;gBAChG,4FAA4F;gBAC5F,+FAA+F;gBAC/F,MAAM,QAAQ,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,mBAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrG,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAuD,CAAC;gBACnF,OAAO;oBACL,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;oBACvE,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBACzE,KAAK,EACH,iPAAiP;oBACnP,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;iBAChF,CAAC,CAAC;gBACH,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,4FAA4F;gBAC5F,gGAAgG;gBAChG,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,OAAO,GAAG,MAA8B,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM,IAAI,GAAG,MAEZ,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;gBAClE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC9G,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,KAMjB,EAAE,CAAC;oBACH,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;wBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBACnE,CAAC;oBACD,sFAAsF;oBACtF,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAC1H,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACvE,CAAC;oBACD,KAAK,MAAM,OAAO,IAAI,QAIpB,EAAE,CAAC;wBACH,oGAAoG;wBACpG,qGAAqG;wBACrG,yCAAyC;wBACzC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACtE,CAAC;wBACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC1B,mGAAmG;wBACnG,kGAAkG;wBAClG,sGAAsG;wBACtG,0EAA0E;wBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAa,EAAE,CAAC;wBAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;wBACpB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;4BAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;4BACxB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAAC,OAAO,GAAG,CAAC,OAAO,CAAC;gCAAC,SAAS;4BAAC,CAAC;4BAC7D,IAAI,OAAO;gCAAE,SAAS;4BACtB,IAAI,+FAA+F,CAAC,IAAI,CAAC,IAAI,CAAC;gCAAE,SAAS;4BACzH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1D,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;wBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpG,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACxG,KAAK,MAAM,IAAI,IAAI,KAAK;4BAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBACD,mGAAmG;gBACnG,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;gBACjC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,KAAK,8EAA8E,CAAC,CAAC;gBACtH,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wCAAwC;iBACzF,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,2FAA2F;gBAC3F,8FAA8F;gBAC9F,4DAA4D;gBAC5D,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,KAAK,EAAE;oBAC5E,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;oBACxB,KAAK,EAAE,SAAS;oBAChB,0FAA0F;oBAC1F,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;wBAC9D,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,QAAQ,EAAE;gCACR;oCACE,IAAI,EAAE,OAAO,CAAC,QAAQ;oCACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,iFAAiF;oCACjF,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE;oCAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;iCACzB;6BACF;yBACF,CAAC;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7F,IAAI,IAAI,GAAY,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAA2B,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,GAAG,GAAG,UAAU,CAAC;YACvB,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAE1J,IAAI,CAAC;gBACH,uGAAuG;gBACvG,mGAAmG;gBACnG,iGAAiG;gBACjG,wFAAwF;gBACxF,+FAA+F;gBAC/F,gFAAgF;gBAClF,gFAAgF;gBAC9E,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gGAAgG;gBAChG,6FAA6F;gBAC7F,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,GAAI,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,wFAAwF,CAC3I,CAAC;gBACF,MAAM,MAAM,GAAI,KAAiC,CAAC,UAAU,CAAC;gBAC7D,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,MAAM,OAAO,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,GAAY,IAAI,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAgF,CAAC;YAC9G,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;gBACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC;QACJ,CAAC;KAEF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,45 @@
1
+ /** What one file read looked like. */
2
+ export interface ConfigFingerprint {
3
+ readonly digest: string;
4
+ }
5
+ /**
6
+ * Read the file and hash it.
7
+ *
8
+ * @param file - the configuration path.
9
+ * @returns the digest, or undefined when the file is momentarily absent (an atomic rename).
10
+ */
11
+ export declare function fingerprintConfig(file: string): ConfigFingerprint | undefined;
12
+ /** Options for {@link ConfigWatcher}. */
13
+ export interface ConfigWatcherOptions {
14
+ readonly file: string;
15
+ /** Safety poll interval, used alongside the watch and as the fallback when it is unavailable. */
16
+ readonly intervalMs?: number;
17
+ /** How long to coalesce a burst of events. */
18
+ readonly debounceMs?: number;
19
+ /** Reload the file; throws when invalid. Returns the digest of the bytes it loaded. */
20
+ readonly reload: () => string;
21
+ /** Digest already loaded at start-up; avoids a race between load and watcher construction. */
22
+ readonly initialDigest?: string;
23
+ /** Report a failed reload; the last good snapshot stays active. */
24
+ readonly onError?: (error: Error) => void;
25
+ }
26
+ /** Poll and watch one configuration file. */
27
+ export declare class ConfigWatcher {
28
+ #private;
29
+ constructor(options: ConfigWatcherOptions);
30
+ /**
31
+ * Start watching. A failure to establish the fast path is not fatal: polling still runs.
32
+ *
33
+ * @returns this watcher, for chaining.
34
+ */
35
+ start(): this;
36
+ /**
37
+ * Compare the file with the last accepted digest and reload when it changed.
38
+ *
39
+ * @param force - reload even when the digest is unchanged (SIGHUP).
40
+ */
41
+ check(force: boolean): void;
42
+ /** Stop both triggers. */
43
+ stop(): void;
44
+ }
45
+ //# sourceMappingURL=reload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAWA,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAS7E;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC3C;AAED,6CAA6C;AAC7C,qBAAa,aAAa;;IAkBxB,YAAY,OAAO,EAAE,oBAAoB,EAYxC;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAiBZ;IASD;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAiC1B;IAED,0BAA0B;IAC1B,IAAI,IAAI,IAAI,CAKX;CACF"}