@lodestar/beacon-node 1.29.0-dev.90d2b1412d → 1.29.0-dev.910e3848db

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 (110) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +3 -3
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.js +2 -2
  5. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  6. package/lib/api/impl/validator/index.js +8 -7
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +1 -1
  9. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  10. package/lib/chain/archiveStore/historicalState/worker.js +12 -1
  11. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  12. package/lib/chain/blocks/importBlock.js +3 -3
  13. package/lib/chain/blocks/importBlock.js.map +1 -1
  14. package/lib/chain/blocks/verifyBlock.js +1 -1
  15. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  16. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
  17. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  18. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  19. package/lib/chain/chain.d.ts +4 -1
  20. package/lib/chain/chain.js +15 -10
  21. package/lib/chain/chain.js.map +1 -1
  22. package/lib/chain/interface.d.ts +2 -0
  23. package/lib/chain/interface.js.map +1 -1
  24. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +32 -14
  25. package/lib/chain/opPools/aggregatedAttestationPool.js +235 -97
  26. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  27. package/lib/chain/opPools/attestationPool.d.ts +4 -2
  28. package/lib/chain/opPools/attestationPool.js +4 -3
  29. package/lib/chain/opPools/attestationPool.js.map +1 -1
  30. package/lib/chain/options.d.ts +2 -1
  31. package/lib/chain/options.js.map +1 -1
  32. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
  33. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  34. package/lib/chain/regen/queued.d.ts +1 -0
  35. package/lib/chain/regen/queued.js +1 -0
  36. package/lib/chain/regen/queued.js.map +1 -1
  37. package/lib/chain/regen/regen.d.ts +3 -0
  38. package/lib/chain/regen/regen.js +3 -3
  39. package/lib/chain/regen/regen.js.map +1 -1
  40. package/lib/chain/validation/attestation.js +6 -5
  41. package/lib/chain/validation/attestation.js.map +1 -1
  42. package/lib/{metrics → chain}/validatorMonitor.d.ts +3 -2
  43. package/lib/{metrics → chain}/validatorMonitor.js +55 -52
  44. package/lib/chain/validatorMonitor.js.map +1 -0
  45. package/lib/metrics/metrics/beacon.js +1 -1
  46. package/lib/metrics/metrics/beacon.js.map +1 -1
  47. package/lib/metrics/metrics/lodestar.d.ts +64 -13
  48. package/lib/metrics/metrics/lodestar.js +144 -31
  49. package/lib/metrics/metrics/lodestar.js.map +1 -1
  50. package/lib/metrics/metrics.d.ts +2 -6
  51. package/lib/metrics/metrics.js +2 -12
  52. package/lib/metrics/metrics.js.map +1 -1
  53. package/lib/metrics/options.d.ts +2 -3
  54. package/lib/metrics/options.js.map +1 -1
  55. package/lib/network/core/metrics.d.ts +8 -1
  56. package/lib/network/core/metrics.js +10 -0
  57. package/lib/network/core/metrics.js.map +1 -1
  58. package/lib/network/core/networkCore.d.ts +3 -3
  59. package/lib/network/core/networkCore.js +9 -4
  60. package/lib/network/core/networkCore.js.map +1 -1
  61. package/lib/network/core/networkCoreWorker.js +5 -3
  62. package/lib/network/core/networkCoreWorker.js.map +1 -1
  63. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  64. package/lib/network/core/networkCoreWorkerHandler.js +3 -3
  65. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  66. package/lib/network/core/types.d.ts +1 -1
  67. package/lib/network/discv5/index.d.ts +2 -3
  68. package/lib/network/discv5/index.js +4 -5
  69. package/lib/network/discv5/index.js.map +1 -1
  70. package/lib/network/discv5/types.d.ts +1 -1
  71. package/lib/network/discv5/worker.js +7 -6
  72. package/lib/network/discv5/worker.js.map +1 -1
  73. package/lib/network/gossip/gossipsub.js +4 -0
  74. package/lib/network/gossip/gossipsub.js.map +1 -1
  75. package/lib/network/interface.d.ts +3 -2
  76. package/lib/network/libp2p/error.d.ts +51 -0
  77. package/lib/network/libp2p/error.js +56 -0
  78. package/lib/network/libp2p/error.js.map +1 -0
  79. package/lib/network/libp2p/index.d.ts +2 -2
  80. package/lib/network/libp2p/index.js +15 -9
  81. package/lib/network/libp2p/index.js.map +1 -1
  82. package/lib/network/network.d.ts +4 -4
  83. package/lib/network/network.js +7 -5
  84. package/lib/network/network.js.map +1 -1
  85. package/lib/network/peers/datastore.d.ts +2 -1
  86. package/lib/network/peers/datastore.js +1 -1
  87. package/lib/network/peers/datastore.js.map +1 -1
  88. package/lib/network/peers/discover.d.ts +7 -0
  89. package/lib/network/peers/discover.js +16 -5
  90. package/lib/network/peers/discover.js.map +1 -1
  91. package/lib/network/peers/peerManager.d.ts +2 -1
  92. package/lib/network/peers/peerManager.js +1 -1
  93. package/lib/network/peers/peerManager.js.map +1 -1
  94. package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
  95. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  96. package/lib/network/processor/gossipHandlers.js +8 -7
  97. package/lib/network/processor/gossipHandlers.js.map +1 -1
  98. package/lib/network/util.d.ts +4 -1
  99. package/lib/network/util.js +2 -2
  100. package/lib/network/util.js.map +1 -1
  101. package/lib/node/nodejs.d.ts +7 -4
  102. package/lib/node/nodejs.js +11 -4
  103. package/lib/node/nodejs.js.map +1 -1
  104. package/lib/node/options.d.ts +2 -0
  105. package/lib/node/options.js +2 -0
  106. package/lib/node/options.js.map +1 -1
  107. package/lib/util/peerId.js +1 -1
  108. package/lib/util/peerId.js.map +1 -1
  109. package/package.json +31 -32
  110. package/lib/metrics/validatorMonitor.js.map +0 -1
@@ -79,7 +79,7 @@ export async function verifyBlocksInEpoch(parentBlock, blocksInput, opts) {
79
79
  // TODO: Ensure it yields to allow flushing to workers and engine API
80
80
  verifyBlocksStateTransitionOnly(preState0, blocksInput,
81
81
  // hack availability for state transition eval as availability is separately determined
82
- blocks.map(() => DataAvailableStatus.available), this.logger, this.metrics, abortController.signal, opts),
82
+ blocks.map(() => DataAvailableStatus.available), this.logger, this.metrics, this.validatorMonitor, abortController.signal, opts),
83
83
  // All signatures at once
84
84
  opts.skipVerifyBlockSignatures !== true
85
85
  ? verifyBlocksSignatures(this.bls, this.logger, this.metrics, preState0, blocks, opts)
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { CachedBeaconStateAllForks, DataAvailableStatus } from "@lodestar/state-
2
2
  import { Logger } from "@lodestar/utils";
3
3
  import { Metrics } from "../../metrics/index.js";
4
4
  import { BlockProcessOpts } from "../options.js";
5
+ import { ValidatorMonitor } from "../validatorMonitor.js";
5
6
  import { BlockInput, ImportBlockOpts } from "./types.js";
6
7
  /**
7
8
  * Verifies 1 or more blocks are fully valid running the full state transition; from a linear sequence of blocks.
@@ -11,7 +12,7 @@ import { BlockInput, ImportBlockOpts } from "./types.js";
11
12
  * - STFN - per_block_processing()
12
13
  * - Check state root matches
13
14
  */
14
- export declare function verifyBlocksStateTransitionOnly(preState0: CachedBeaconStateAllForks, blocks: BlockInput[], dataAvailabilityStatuses: DataAvailableStatus[], logger: Logger, metrics: Metrics | null, signal: AbortSignal, opts: BlockProcessOpts & ImportBlockOpts): Promise<{
15
+ export declare function verifyBlocksStateTransitionOnly(preState0: CachedBeaconStateAllForks, blocks: BlockInput[], dataAvailabilityStatuses: DataAvailableStatus[], logger: Logger, metrics: Metrics | null, validatorMonitor: ValidatorMonitor | null, signal: AbortSignal, opts: BlockProcessOpts & ImportBlockOpts): Promise<{
15
16
  postStates: CachedBeaconStateAllForks[];
16
17
  proposerBalanceDeltas: number[];
17
18
  verifyStateTime: number;
@@ -11,7 +11,7 @@ import { BlockError, BlockErrorCode } from "../errors/index.js";
11
11
  * - STFN - per_block_processing()
12
12
  * - Check state root matches
13
13
  */
14
- export async function verifyBlocksStateTransitionOnly(preState0, blocks, dataAvailabilityStatuses, logger, metrics, signal, opts) {
14
+ export async function verifyBlocksStateTransitionOnly(preState0, blocks, dataAvailabilityStatuses, logger, metrics, validatorMonitor, signal, opts) {
15
15
  const postStates = [];
16
16
  const proposerBalanceDeltas = [];
17
17
  const recvToValLatency = Date.now() / 1000 - (opts.seenTimestampSec ?? Date.now() / 1000);
@@ -33,7 +33,7 @@ export async function verifyBlocksStateTransitionOnly(preState0, blocks, dataAva
33
33
  // if block is trusted don't verify proposer or op signature
34
34
  verifyProposer: !useBlsBatchVerify && !validSignatures && !validProposerSignature,
35
35
  verifySignatures: !useBlsBatchVerify && !validSignatures,
36
- }, metrics);
36
+ }, { metrics, validatorMonitor });
37
37
  const hashTreeRootTimer = metrics?.stateHashTreeRootTime.startTimer({
38
38
  source: StateHashTreeRootSource.blockTransition,
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlocksStateTransitionOnly.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksStateTransitionOnly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyBlocksStateTransitionOnly.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksStateTransitionOnly.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js
38
38
  import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
39
39
  import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
40
40
  import { ShufflingCache } from "./shufflingCache.js";
41
+ import { ValidatorMonitor } from "./validatorMonitor.js";
41
42
  export declare class BeaconChain implements IBeaconChain {
42
43
  readonly genesisTime: UintNum64;
43
44
  readonly genesisValidatorsRoot: Root;
@@ -47,6 +48,7 @@ export declare class BeaconChain implements IBeaconChain {
47
48
  readonly config: BeaconConfig;
48
49
  readonly logger: Logger;
49
50
  readonly metrics: Metrics | null;
51
+ readonly validatorMonitor: ValidatorMonitor | null;
50
52
  readonly bufferPool: BufferPool | null;
51
53
  readonly anchorStateLatestBlockSlot: Slot;
52
54
  readonly bls: IBlsVerifier;
@@ -146,7 +148,7 @@ export declare class BeaconChain implements IBeaconChain {
146
148
  protected readonly db: IBeaconDb;
147
149
  private abortController;
148
150
  private processShutdownCallback;
149
- constructor(opts: IChainOptions, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, anchorState, eth1, executionEngine, executionBuilder, }: {
151
+ constructor(opts: IChainOptions, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, eth1, executionEngine, executionBuilder, }: {
150
152
  config: BeaconConfig;
151
153
  db: IBeaconDb;
152
154
  dbName: string;
@@ -156,6 +158,7 @@ export declare class BeaconChain implements IBeaconChain {
156
158
  /** Used for testing to supply fake clock */
157
159
  clock?: IClock;
158
160
  metrics: Metrics | null;
161
+ validatorMonitor: ValidatorMonitor | null;
159
162
  anchorState: BeaconStateAllForks;
160
163
  eth1: IEth1ForBlockProduction;
161
164
  executionEngine: IExecutionEngine;
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import { PubkeyIndexMap } from "@chainsafe/pubkey-index-map";
3
3
  import { ExecutionStatus, UpdateHeadOpt } from "@lodestar/fork-choice";
4
4
  import { ForkSeq, GENESIS_SLOT, SLOTS_PER_EPOCH, isForkPostElectra } from "@lodestar/params";
5
- import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, } from "@lodestar/state-transition";
5
+ import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getCurrentSlot, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, } from "@lodestar/state-transition";
6
6
  import { isBlindedBeaconBlock, } from "@lodestar/types";
7
7
  import { fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRootHex } from "@lodestar/utils";
8
8
  import { GENESIS_EPOCH, ZERO_HASH } from "../constants/index.js";
@@ -49,7 +49,7 @@ import { PersistentCheckpointStateCache } from "./stateCache/persistentCheckpoin
49
49
  */
50
50
  const DEFAULT_MAX_CACHED_PRODUCED_ROOTS = 4;
51
51
  export class BeaconChain {
52
- constructor(opts, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, anchorState, eth1, executionEngine, executionBuilder, }) {
52
+ constructor(opts, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, eth1, executionEngine, executionBuilder, }) {
53
53
  this.syncContributionAndProofPool = new SyncContributionAndProofPool();
54
54
  this.opPool = new OpPool();
55
55
  // Gossip seen cache
@@ -74,6 +74,7 @@ export class BeaconChain {
74
74
  this.logger = logger;
75
75
  this.processShutdownCallback = processShutdownCallback;
76
76
  this.metrics = metrics;
77
+ this.validatorMonitor = validatorMonitor;
77
78
  this.genesisTime = anchorState.genesisTime;
78
79
  this.anchorStateLatestBlockSlot = anchorState.latestBlockHeader.slot;
79
80
  this.genesisValidatorsRoot = anchorState.genesisValidatorsRoot;
@@ -90,8 +91,8 @@ export class BeaconChain {
90
91
  clock = new Clock({ config, genesisTime: this.genesisTime, signal });
91
92
  this.blacklistedBlocks = new Map((opts.blacklistedBlocks ?? []).map((hex) => [hex, null]));
92
93
  const preAggregateCutOffTime = (2 / 3) * this.config.SECONDS_PER_SLOT;
93
- this.attestationPool = new AttestationPool(config, clock, preAggregateCutOffTime, this.opts?.preaggregateSlotDistance);
94
- this.aggregatedAttestationPool = new AggregatedAttestationPool(this.config);
94
+ this.attestationPool = new AttestationPool(config, clock, preAggregateCutOffTime, this.opts?.preaggregateSlotDistance, metrics);
95
+ this.aggregatedAttestationPool = new AggregatedAttestationPool(this.config, metrics);
95
96
  this.syncCommitteeMessagePool = new SyncCommitteeMessagePool(clock, preAggregateCutOffTime, this.opts?.preaggregateSlotDistance);
96
97
  this.seenAggregatedAttestations = new SeenAggregatedAttestations(metrics);
97
98
  this.seenContributionAndProof = new SeenContributionAndProof(metrics);
@@ -160,6 +161,7 @@ export class BeaconChain {
160
161
  checkpointStateCache,
161
162
  db,
162
163
  metrics,
164
+ validatorMonitor,
163
165
  logger,
164
166
  emitter,
165
167
  signal,
@@ -189,7 +191,12 @@ export class BeaconChain {
189
191
  new PrepareNextSlotScheduler(this, this.config, metrics, this.logger, signal);
190
192
  }
191
193
  if (metrics) {
192
- metrics.opPool.aggregatedAttestationPoolSize.addCollect(() => this.onScrapeMetrics(metrics));
194
+ metrics.clockSlot.addCollect(() => this.onScrapeMetrics(metrics));
195
+ // Register a single collect() function to run all validatorMonitor metrics
196
+ metrics.validatorMonitor.validatorsConnected.addCollect(() => {
197
+ const clockSlot = getCurrentSlot(config, this.genesisTime);
198
+ this.validatorMonitor?.scrapeMetrics(clockSlot);
199
+ });
193
200
  }
194
201
  // Event handlers. emitter is created internally and dropped on close(). Not need to .removeListener()
195
202
  clock.addListener(ClockEvent.slot, this.onClockSlot.bind(this));
@@ -721,10 +728,8 @@ export class BeaconChain {
721
728
  this.logger.debug("Persisted invalid ssz object", { id: logStr, filepath });
722
729
  }
723
730
  onScrapeMetrics(metrics) {
724
- const { attestationCount, attestationDataCount } = this.aggregatedAttestationPool.getAttestationCount();
725
- metrics.opPool.aggregatedAttestationPoolSize.set(attestationCount);
726
- metrics.opPool.aggregatedAttestationPoolUniqueData.set(attestationDataCount);
727
- metrics.opPool.attestationPoolSize.set(this.attestationPool.getAttestationCount());
731
+ // aggregatedAttestationPool tracks metrics on its own
732
+ metrics.opPool.attestationPool.size.set(this.attestationPool.getAttestationCount());
728
733
  metrics.opPool.attesterSlashingPoolSize.set(this.opPool.attesterSlashingsSize);
729
734
  metrics.opPool.proposerSlashingPoolSize.set(this.opPool.proposerSlashingsSize);
730
735
  metrics.opPool.voluntaryExitPoolSize.set(this.opPool.voluntaryExitsSize);
@@ -767,7 +772,7 @@ export class BeaconChain {
767
772
  if (metrics && (slot + 1) % SLOTS_PER_EPOCH === 0) {
768
773
  // On the last slot of the epoch
769
774
  sleep((1000 * this.config.SECONDS_PER_SLOT) / 2)
770
- .then(() => metrics.onceEveryEndOfEpoch(this.getHeadState()))
775
+ .then(() => this.validatorMonitor?.onceEveryEndOfEpoch(this.getHeadState()))
771
776
  .catch((e) => {
772
777
  if (!isErrorAborted(e))
773
778
  this.logger.error("Error on validator monitor onceEveryEndOfEpoch", { slot }, e);
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAoB,eAAe,EAA2B,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAOL,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,yCAAyC,EACzC,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAeL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI5G,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAE,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAC,wBAAwB,EAAE,uBAAuB,EAAe,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAmB,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAGL,cAAc,GAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,MAAM,EACN,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAqB,eAAe,EAAE,SAAS,EAAC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAkB,gBAAgB,EAAE,sBAAsB,EAAC,MAAM,oCAAoC,CAAC;AAC7G,OAAO,EAAC,sBAAsB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAsB,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAe,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAuB,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AACpG,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,0BAA0B,EAAC,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAC,8BAA8B,EAAC,MAAM,4CAA4C,CAAC;AAE1F;;;;GAIG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE5C,MAAM,OAAO,WAAW;IAoEtB,YACE,IAAmB,EACnB,EACE,MAAM,EACN,EAAE,EACF,MAAM,EACN,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,KAAK,EACL,OAAO,EACP,WAAW,EACX,IAAI,EACJ,eAAe,EACf,gBAAgB,GAejB;QAtEM,iCAA4B,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAClE,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAE/B,oBAAoB;QACX,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,uBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,8BAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAG5D,yBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3D,iCAAiC;QACxB,uBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QASvD,2EAA2E;QAClE,0BAAqB,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEtE,2FAA2F;QAC3F,4FAA4F;QAC5F,iBAAiB;QACR,sBAAiB,GAAG,IAAI,GAAG,EAAoC,CAAC;QAChE,6BAAwB,GAAG,IAAI,GAAG,EAAW,CAAC;QAS/C,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAkC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACxC,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB;YACrC,CAAC,CAAC,IAAI,uBAAuB,CAAC,EAAC,OAAO,EAAC,CAAC;YACxC,CAAC,CAAC,IAAI,wBAAwB,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK;YAAE,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,sBAAsB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CACxC,MAAM,EACN,KAAK,EACL,sBAAsB,EACtB,IAAI,CAAC,IAAI,EAAE,wBAAwB,CACpC,CAAC;QACF,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAC1D,KAAK,EACL,sBAAsB,EACtB,IAAI,CAAC,IAAI,EAAE,wBAAwB,CACpC,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAEnG,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE7D,uBAAuB;QACvB,+GAA+G;QAC/G,4DAA4D;QAC5D,6GAA6G;QAC7G,yGAAyG;QACzG,MAAM,WAAW,GACf,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,+BAA+B;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE;gBACnC,MAAM;gBACN,YAAY,EAAE,IAAI,cAAc,EAAE;gBAClC,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;QAET,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;YACzG;gBACE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB;gBACjD,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,oBAAoB;aACxD;YACD;gBACE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,gBAAgB;gBAChD,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,mBAAmB;aACvD;YACD;gBACE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa;gBAC7C,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,gBAAgB;aACpD;SACF,CAAC,CAAC;QAEH,iDAAiD;QACjD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;QAEtD,MAAM,aAAa,GAAG,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACjD,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,OAAO,EAAC,CAAC;YAC/C,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC3C,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YACjF,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACtD,CAAC,CAAC,IAAI,8BAA8B,CAChC;gBACE,OAAO;gBACP,MAAM;gBACN,KAAK;gBACL,eAAe;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,aAAa;oBACtB,CAAC,CAAC,gEAAgE;wBAChE,IAAI,oBAAoB,CAAC,OAAO,CAAC;oBACnC,CAAC,CAAC,oBAAoB;wBACpB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;aACpC,EACD,IAAI,CAAC,IAAI,CACV;YACH,CAAC,CAAC,IAAI,4BAA4B,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QAChD,MAAM,EAAC,UAAU,EAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1C,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,oBAAoB,CACrC,MAAM,EACN,OAAO,EACP,KAAK,CAAC,WAAW,EACjB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,MAAM,CACP,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC;YACvC,MAAM;YACN,UAAU;YACV,eAAe;YACf,oBAAoB;YACpB,EAAE;YACF,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE7C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAClC,EAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAoB,EAAE,OAAO,EAAC,EACxD,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,EAAC,EAAC,EACtF,MAAM,CACP,CAAC;QAEF,mGAAmG;QACnG,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,MAAM,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,GAAG,WAAiC,CAAC;YACxF,IAAI,gBAAgB,KAAK,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,sGAAsG;QACtG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,SAAkB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACjG,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,oBAAoB,CAAC,KAAqB,EAAE,KAAY;QACtD,mEAAmE;QACnE,wDAAwD;QAExD,OAAO;QACL,gFAAgF;QAChF,qGAAqG;QACrG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC7C,EAAE;YACF,yEAAyE;YACzE,+DAA+D;YAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YACxC,iFAAiF;YACjF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC1C,+CAA+C;YAC/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,YAAY;QACV,iCAAiC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,0CAA0C,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,WAAwB;QACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAY,EAAE,WAAwB;QAC9D,8EAA8E;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,sFAAsF;QACtF,IAAI,KAAK,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,qCAAqC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,gHAAgH;QAChH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,WAAW,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAU,EACV,IAAmB;QAEnB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAE3D,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/B,wDAAwD;YACxD,gEAAgE;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;YACrB,2DAA2D;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC;YACtF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC9C,KAAK,CAAC,SAAS,EACf,IAAI,EACJ,EAAC,iBAAiB,EAAE,IAAI,EAAC,EACzB,WAAW,CAAC,OAAO,CACpB,CAAC;YACF,OAAO;gBACL,KAAK;gBACL,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC;gBAC7C,SAAS,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY;aAChF,CAAC;QACJ,CAAC;QAED,uFAAuF;QACvF,yFAAyF;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,CACL,KAAK,IAAI;YACP,KAAK;YACL,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAC7C,SAAS,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY;SAChF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,IAAY;QAEZ,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,SAAkB,EAClB,IAAmB;QAEnB,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;YACtE,OAAO;gBACL,KAAK;gBACL,mBAAmB,EAAE,KAAK,IAAI,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC;gBAC9D,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,IAAI,cAAc,KAAK,aAAa;aACtF,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,sDAAsD;QACtD,mEAAmE;QAEnE,oHAAoH;QACpH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YACxF,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;YACtE,OAAO;gBACL,KAAK,EAAE,cAAc;gBACrB,mBAAmB,EAAE,KAAK,IAAI,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC;gBAC9D,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,IAAI,cAAc,KAAK,aAAa;aAC/F,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,IAAI,EAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC5E,CAAC;IAED,oBAAoB,CAClB,UAA6B;QAE7B,0JAA0J;QAC1J,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YACxF,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;YACtE,OAAO;gBACL,KAAK,EAAE,cAAc;gBACrB,mBAAmB,EAAE,KAAK,IAAI,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC;gBAC9D,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,IAAI,cAAc,KAAK,aAAa;aAC/F,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,UAA6B;QAE7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC9E,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;YACtE,OAAO;gBACL,KAAK,EAAE,cAAc;gBACrB,mBAAmB,EAAE,KAAK,IAAI,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC;gBAC9D,SAAS,EAAE,UAAU,CAAC,KAAK,IAAI,cAAc,IAAI,cAAc,KAAK,aAAa;aAClF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,IAAU;QAEV,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC3D,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/B,mDAAmD;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YACD,oFAAoF;YACpF,gFAAgF;YAChF,sFAAsF;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,IAAI,EAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAY;QAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;YACxF,CAAC;YACD,+FAA+F;YAC/F,sFAAsF;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,IAAI,EAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,eAAgC;QAC3D,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC9C,SAAS,CAAC,eAAe,CAAC,EAC1B,IAAI,EACJ,EAAC,iBAAiB,EAAE,IAAI,EAAC,EACzB,WAAW,CAAC,YAAY,CACzB,CAAC;QAEF,mEAAmE;QACnE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAEjC,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;YACzD,GAAG,eAAe;YAClB,UAAU,EAAE,IAAI,GAAG,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,eAAsE;QAMjF,OAAO,IAAI,CAAC,mBAAmB,CAAiB,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnF,CAAC;IAED,mBAAmB,CAAC,eAAsE;QAKxF,OAAO,IAAI,CAAC,mBAAmB,CAAoB,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,SAAY,EACZ,EACE,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,eAAe,GACuC;QAOxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC9C,SAAS,CAAC,eAAe,CAAC,EAC1B,IAAI,EACJ,EAAC,iBAAiB,EAAE,IAAI,EAAC,EACzB,WAAW,CAAC,YAAY,CACzB,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QAE5E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAC,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAC7F,IAAI,EACJ,SAAS,EACT,KAAK,EACL;YACE,YAAY;YACZ,QAAQ;YACR,IAAI;YACJ,YAAY;YACZ,UAAU,EAAE,IAAI,GAAG,CAAC;YACpB,eAAe;YACf,aAAa;YACb,cAAc;YACd,eAAe;SAChB,CACF,CAAC;QAEF,4GAA4G;QAC5G,MAAM,QAAQ,GACZ,SAAS,KAAK,SAAS,CAAC,IAAI;YAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,MAAM;iBACR,yBAAyB,CAAC,IAAI,CAAC;iBAC/B,sBAAsB,CAAC,YAAY,CAAC,IAA8B,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;YACrE,IAAI;YACJ,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC7B,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,aAAa;YACb,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,SAAS;YACpB,IAAI;SACoB,CAAC;QAE3B,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvF,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;QAC/B,MAAM,SAAS,GACb,SAAS,KAAK,SAAS,CAAC,IAAI;YAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAA2B,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,+DAA+D;QAC/D,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;YACxG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAG,KAA+B,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;YACzG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvG,CAAC;QAED,gCAAgC;QAChC,EAAE;QACF,6EAA6E;QAC7E,8CAA8C;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC5C,4BAA4B;YAC5B,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,qBAAqB,EAAC,CAAC;IAC/G,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,WAA8B;QACxC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC,8CAA8C,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAiB,EAAE,IAAsB;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAoB,EAAE,IAAsB;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACrE,OAAO;YACL,gHAAgH;YAChH,8JAA8J;YAC9J,sFAAsF;YACtF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5F,iLAAiL;YACjL,aAAa,EAAE,mBAAmB,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI;YACjG,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,gEAAgE;YAChE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,MAAwB;QAC9C,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,EAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,aAAa,CAAC,iBAAiB,EAAC,CAAC,CAAC;YACnF,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,KAAK,EAAE,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC5B,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,MAAM,EAAE,cAAc,CAAC,mBAAmB,EAAC,CAAC,CAAC;QAEzG,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,aAAa,CAAC,wBAAwB,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC;QACrG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,aAAa,CAAC,wBAAwB,EAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,KAAK,EAAE,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAU;QACxB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAC,CAAC,CAAC;QACrG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,EAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAC9E,IAAI,EAAE,aAAa,CAAC,eAAe;gBACnC,WAAW;gBACX,IAAI;aACL,CAAC,CAAC;YAEH,IAAI,YAAY,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnD,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,gBAAgB,EAAC,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,aAAa,CAAC,eAAe,EAAC,CAAC,CAAC;YACjF,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,KAAK,EAAE,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAU,EAAE,IAAa;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,YAAY,CAAC,IAAsC,EAAE,MAAe;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC;YAC/E,KAAK,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAChH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;YAC3D,KAAK,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAC3B,QAAmC,EACnC,SAAoC,EACpC,KAAwB;QAExB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC;QACxE,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,SAAS,uBAAuB,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAClF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,gBAAgB,CACnB,0BAA0B,SAAS,EAAE,EACrC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1B,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAC7B,GAAG,MAAM,QAAQ,CAClB;YACD,IAAI,CAAC,gBAAgB,CACnB,iBAAiB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC1D,QAAQ,CAAC,SAAS,EAAE,EACpB,QAAQ,CAAC,YAAY,EAAE,EACvB,GAAG,MAAM,YAAY,CACtB;YACD,IAAI,CAAC,gBAAgB,CACnB,kBAAkB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC7D,SAAS,CAAC,SAAS,EAAE,EACrB,SAAS,CAAC,YAAY,EAAE,EACxB,GAAG,MAAM,aAAa,CACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAI,IAAa,EAAE,SAAY,EAAE,MAAe;QACpE,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,QAAgB,EAAE,QAAoB,EAAE,MAAe;QAC5E,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,IAAgC,EAAE,MAAe;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oCAAoC,CACxC,QAAe,EACf,sBAA+B,EAC/B,YAAwB,EACxB,WAAwB;QAExB,2FAA2F;QAC3F,kGAAkG;QAClG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,KAAgC,CAAC;QACrC,IAAI,UAAU,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC9B,uEAAuE;YACvE,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,oCAAoC,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;YAChG,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CACxC,YAAY,CAAC,SAAS,EACtB,UAAU,EACV,EAAC,iBAAiB,EAAE,IAAI,EAAC,EACzB,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;YACjC,kEAAkE;YAClE,MAAM,KAAK,CAAC,eAAe,UAAU,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,wEAAwE;YACxE,yBAAyB;YACzB,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;YAC7E,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;QAED,gHAAgH;QAChH,OAAO,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAC7B,UAA6B,EAC7B,UAAqC;QAErC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAE3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,6BAA6B;QAC7B,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YACjD,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,IAAI,EAAE,UAAU,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC,yCAAyC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5G,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;gBAClF,eAAe,EAAE,UAAU,CAAC,KAAK;gBACjC,cAAc,EAAE,UAAU,CAAC,OAAO;gBAClC,OAAO;gBACP,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,yCAAyC,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACK,yCAAyC,CAC/C,UAA6B,EAC7B,UAAqC;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;QACjE,CAAC;QAED,qFAAqF;QACrF,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;QAClF,CAAC;QAED,gGAAgG;QAChG,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5F,IAAI,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;gBAClE,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChF,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,EAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;gBACjG,CAAC;YACH,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;QAClF,CAAC;QAED,kHAAkH;QAClH,gFAAgF;QAChF,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5F,IAAI,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBAChE,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChF,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC;QAED,wGAAwG;QACxG,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAiB,EAAE,IAAgB,EAAE,MAAe;QACjG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,aAAa;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,IAAI,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzB,2FAA2F;QAC3F,wFAAwF;QACxF,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,eAAe,CAAC,OAAgB;QACtC,MAAM,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,CAAC;QACtG,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7E,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACpF,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAChF,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC9F,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEO,WAAW,CAAC,IAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;QAE1C,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,mFAAmF;QACnF,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,iCAAiC,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEvF,aAAa,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,iCAAiC,CAAC,CAAC;QACpH,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAErG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClD,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,iCAAiC,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,KAAK,CAAC,EAAE,CAAC;YAClD,gCAAgC;YAChC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;iBAC7C,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;iBAC5D,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtC,gFAAgF;QAChF,+BAA+B;QAC/B,uBAAuB;QACvB,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAES,SAAS,CAAC,IAAgB;QAClC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,qBAAqB,CAAoB,EAAqB;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAC,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAoB,EAAqB;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAC,CAAC,CAAC;QAClF,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,iCAAiC;QACjC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,cAAc,IAAI,IAAI,SAAS,+BAA+B,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAY,EAAE,SAAoC;QAC/E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,SAAe;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,EAAC,qBAAqB,EAAE,aAAa,EAAC,GAAG,gBAAgB,CAAC;YAChE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,GAAG,qBAAqB,CAAC,CAAC;YACxF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC/C,MAAM,YAAY,GAAG,YAAY,IAAI,qBAAqB,GAAG,aAAa,CAAC;YAE3E,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5C,mCAAmC;YACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACvC,MAAM,UAAU,GAAG;gBACjB,MAAM;gBACN,YAAY;gBACZ,qBAAqB;gBACrB,aAAa;aACd,CAAC;YACF,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAuC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,sDAAsD,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC;QAEnF,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAY,EACZ,YAA0C;QAE1C,mJAAmJ;QACnJ,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,iCAAiC;QAE3G,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAC,mBAAmB,EAAE,SAAS,EAAC,GAAG,WAAW,CAAC;QACrD,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEhG,OAAO,EAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAuC,EACvC,YAA0C;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,sDAAsD,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js
34
34
  import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
35
35
  import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
36
36
  import { ShufflingCache } from "./shufflingCache.js";
37
+ import { ValidatorMonitor } from "./validatorMonitor.js";
37
38
  export { BlockType, type AssembledBlockType };
38
39
  export { type ProposerPreparationData };
39
40
  export type BlockHash = RootHex;
@@ -58,6 +59,7 @@ export interface IBeaconChain {
58
59
  readonly config: BeaconConfig;
59
60
  readonly logger: Logger;
60
61
  readonly metrics: Metrics | null;
62
+ readonly validatorMonitor: ValidatorMonitor | null;
61
63
  readonly bufferPool: BufferPool | null;
62
64
  /** The initial slot that the chain is started with */
63
65
  readonly anchorStateLatestBlockSlot: Slot;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAmBlG,OAAO,EAAC,SAAS,EAA0B,CAAC;AAQ5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAoBlG,OAAO,EAAC,SAAS,EAA0B,CAAC;AAQ5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -1,8 +1,9 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
2
  import { IForkChoice } from "@lodestar/fork-choice";
3
3
  import { ForkName } from "@lodestar/params";
4
- import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
4
+ import { CachedBeaconStateAllForks, EffectiveBalanceIncrements } from "@lodestar/state-transition";
5
5
  import { Attestation, Epoch, RootHex, Slot, ValidatorIndex, electra, phase0 } from "@lodestar/types";
6
+ import { Metrics } from "../../metrics/metrics.js";
6
7
  import { InsertOutcome } from "./types.js";
7
8
  type CommitteeIndex = number;
8
9
  /**
@@ -12,22 +13,32 @@ type CommitteeIndex = number;
12
13
  export type AttestationsConsolidation = {
13
14
  byCommittee: Map<CommitteeIndex, AttestationNonParticipant>;
14
15
  attData: phase0.AttestationData;
15
- totalNotSeenCount: number;
16
+ totalNewSeenEffectiveBalance: number;
17
+ newSeenAttesters: number;
18
+ notSeenAttesters: number;
19
+ /** total number of attesters across all committees in this consolidation */
20
+ totalAttesters: number;
16
21
  };
17
22
  /**
18
- * This function returns not seen participation for a given epoch and slot and committe index.
23
+ * This function returns not seen participation for a given epoch and slot and committee index.
19
24
  * Return null if all validators are seen or no info to check.
20
25
  */
21
26
  type GetNotSeenValidatorsFn = (epoch: Epoch, slot: Slot, committeeIndex: number) => Set<number> | null;
22
27
  type ValidateAttestationDataFn = (attData: phase0.AttestationData) => boolean;
28
+ export declare enum ScannedSlotsTerminationReason {
29
+ MaxConsolidationReached = "max_consolidation_reached",
30
+ ScannedAllSlots = "scanned_all_slots",
31
+ SlotBeforePreviousEpoch = "slot_before_previous_epoch"
32
+ }
23
33
  /**
24
34
  * Maintain a pool of aggregated attestations. Attestations can be retrieved for inclusion in a block
25
- * or api. The returned attestations are aggregated to maximise the number of validators that can be
35
+ * or api. The returned attestations are aggregated to maximize the number of validators that can be
26
36
  * included.
27
37
  * Note that we want to remove attestations with attesters that were included in the chain.
28
38
  */
29
39
  export declare class AggregatedAttestationPool {
30
40
  private readonly config;
41
+ private readonly metrics;
31
42
  /**
32
43
  * post electra, different committees could have the same AttData and we have to consolidate attestations of the same
33
44
  * data to be included in block, so we should group by data before index
@@ -35,12 +46,7 @@ export declare class AggregatedAttestationPool {
35
46
  */
36
47
  private readonly attestationGroupByIndexByDataHexBySlot;
37
48
  private lowestPermissibleSlot;
38
- constructor(config: ChainForkConfig);
39
- /** For metrics to track size of the pool */
40
- getAttestationCount(): {
41
- attestationCount: number;
42
- attestationDataCount: number;
43
- };
49
+ constructor(config: ChainForkConfig, metrics?: Metrics | null);
44
50
  add(attestation: Attestation, dataRootHex: RootHex, attestingIndicesCount: number, committee: Uint32Array): InsertOutcome;
45
51
  /** Remove attestations which are too old to be included in a block. */
46
52
  prune(clockSlot: Slot): void;
@@ -62,6 +68,7 @@ export declare class AggregatedAttestationPool {
62
68
  * @param bySlot slot to filter, `bySlot === attestation.data.slot`
63
69
  */
64
70
  getAll(bySlot?: Slot): Attestation[];
71
+ private onScrapeMetrics;
65
72
  }
66
73
  interface AttestationWithIndex {
67
74
  attestation: Attestation;
@@ -69,7 +76,13 @@ interface AttestationWithIndex {
69
76
  }
70
77
  type AttestationNonParticipant = {
71
78
  attestation: Attestation;
72
- notSeenAttesterCount: number;
79
+ newSeenEffectiveBalance: number;
80
+ newSeenAttesters: number;
81
+ notSeenCommitteeMembers: Set<number>;
82
+ };
83
+ type GetAttestationsGroupResult = {
84
+ result: AttestationNonParticipant[];
85
+ totalAttestations: number;
73
86
  };
74
87
  /**
75
88
  * Maintain a pool of AggregatedAttestation which all share the same AttestationData.
@@ -78,10 +91,11 @@ type AttestationNonParticipant = {
78
91
  * Use committee instead of aggregationBits to improve performance.
79
92
  */
80
93
  export declare class MatchingDataAttestationGroup {
94
+ private readonly config;
81
95
  readonly committee: Uint32Array;
82
96
  readonly data: phase0.AttestationData;
83
97
  private readonly attestations;
84
- constructor(committee: Uint32Array, data: phase0.AttestationData);
98
+ constructor(config: ChainForkConfig, committee: Uint32Array, data: phase0.AttestationData);
85
99
  getAttestationCount(): number;
86
100
  /**
87
101
  * Add an attestation.
@@ -92,10 +106,14 @@ export declare class MatchingDataAttestationGroup {
92
106
  add(attestation: AttestationWithIndex): InsertOutcome;
93
107
  /**
94
108
  * Get AttestationNonParticipant for this groups of same attestation data.
95
- * @param notSeenAttestingIndices not seen attestting indices, i.e. indices in the same committee
109
+ * @param notSeenCommitteeMembers not seen committee members, i.e. indices in the same committee (starting from 0 till (committee.size - 1))
96
110
  * @returns an array of AttestationNonParticipant
97
111
  */
98
- getAttestationsForBlock(fork: ForkName, notSeenAttestingIndices: Set<number>): AttestationNonParticipant[];
112
+ getAttestationsForBlock(fork: ForkName, effectiveBalanceIncrements: EffectiveBalanceIncrements, notSeenCommitteeMembers: Set<number>, maxAttestation: number): GetAttestationsGroupResult;
113
+ /**
114
+ * Select the attestation with the highest total effective balance of not seen validators.
115
+ */
116
+ private getMostValuableAttestation;
99
117
  /** Get attestations for API. */
100
118
  getAttestations(): Attestation[];
101
119
  }