@emblemvault/primitives-stake 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { Connection, TransactionInstruction, type Commitment } from '@solana/web3.js';
19
19
  import { EmblemError, type SolanaAddress } from '@emblemvault/primitives-shared';
20
- import type { ClaimRewardsArgs, CreatePoolArgs, DistributeRewardsArgs, GetVaultArgs, RewardDistributionView, StakeArgs, StakeGateEvaluationResult, StakePoolView, StakeVaultAccount, StakeVaultView, UnstakeArgs } from './types.js';
20
+ import type { ClaimRewardsArgs, CreatePoolArgs, DistributeRewardsArgs, GetVaultArgs, RewardDistributionView, StakeArgs, StakeGateEvaluationResult, StakePoolListPage, StakePoolView, StakeVaultAccount, StakeVaultView, UnstakeArgs } from './types.js';
21
21
  /** Same shape as @emblemvault/auth-sdk's SolanaSignerInterface. */
22
22
  export interface SolanaSignerInterface {
23
23
  publicKey: string;
@@ -65,6 +65,12 @@ export declare class EmblemStakeClient {
65
65
  distributionPda: SolanaAddress;
66
66
  bump: number;
67
67
  };
68
+ /** ST-2 follow-on (2026-05-04). The stake program's PlatformConfig
69
+ * PDA is a singleton — same shape as launch + sell. */
70
+ derivePlatformConfigPda(): {
71
+ platformConfigPda: SolanaAddress;
72
+ bump: number;
73
+ };
68
74
  getPool(poolPda: SolanaAddress): Promise<StakePoolView | null>;
69
75
  getVault(args: GetVaultArgs): Promise<StakeVaultView | null>;
70
76
  getDistribution(distributionPda: SolanaAddress): Promise<RewardDistributionView | null>;
@@ -72,6 +78,29 @@ export declare class EmblemStakeClient {
72
78
  listVaultsByPool(poolPda: SolanaAddress): Promise<StakeVaultView[]>;
73
79
  /** List all pools created by an authority. */
74
80
  listPoolsByAuthority(authority: SolanaAddress): Promise<StakePoolView[]>;
81
+ /**
82
+ * List every StakeVault owned by a given wallet across every pool —
83
+ * answers "which pools is this user staked in?" for discovery /
84
+ * portfolio agents. Memcmps on the owner field at offset 41
85
+ * (discriminator(8) + bump(1) + pool_pda(32)).
86
+ */
87
+ listVaultsByOwner(owner: SolanaAddress): Promise<StakeVaultView[]>;
88
+ /**
89
+ * Paged discovery feed across every pool on the program, newest first.
90
+ * Mirrors EmblemLaunchClient.listAllLaunchesPaged. Returns
91
+ * { items, page, pageSize, total, hasMore }.
92
+ *
93
+ * Implementation: fetches every StakePool prefix slice (up through
94
+ * `created_at`) via `getProgramAccounts` + `dataSlice`, sorts client-side
95
+ * by `(createdAt DESC, poolPda ASC)` for stable pagination, then slices.
96
+ * The slice length covers the variable-prefix fields; we only need the
97
+ * minimal summary (poolPda, authority, asset, createdAt) to support
98
+ * discovery UX. Heavier reads use `getPool(poolPda)` per row.
99
+ */
100
+ listAllPoolsPaged(opts?: {
101
+ page?: number;
102
+ pageSize?: number;
103
+ }): Promise<StakePoolListPage>;
75
104
  /**
76
105
  * Evaluate "does this user pass a stake-mode gate?" given a vault account
77
106
  * and a minimum threshold. Pure off-chain math; no chain calls.
@@ -95,6 +124,69 @@ export declare class EmblemStakeClient {
95
124
  * including Vec<LockTier>, Vec<RewardSource>, and the tagged-enum
96
125
  * PenaltyDestination.
97
126
  */
127
+ /** Init the singleton stake PlatformConfig. The signer becomes admin. */
128
+ buildInitPlatformConfigIx(args: {
129
+ admin: SolanaAddress;
130
+ }): TransactionInstruction;
131
+ /**
132
+ * Build propose_admin (X-2 step 1). Current admin nominates a new
133
+ * admin pubkey but does NOT yet rotate. The proposed admin must
134
+ * sign a separate `accept_admin` to complete the swap.
135
+ */
136
+ buildProposeAdminIx(args: {
137
+ admin: SolanaAddress;
138
+ newAdmin: SolanaAddress;
139
+ }): TransactionInstruction;
140
+ /**
141
+ * Build accept_admin (X-2 step 2). The proposed admin signs to
142
+ * accept the rotation. Reverts with `AdminProposalNotPending`
143
+ * (stake error 516, wire = 6516) if signer is not the
144
+ * currently-pending admin.
145
+ */
146
+ buildAcceptAdminIx(args: {
147
+ pendingAdmin: SolanaAddress;
148
+ }): TransactionInstruction;
149
+ /**
150
+ * Build propose_authority (ST-8 / X-2 step 1). Current pool authority
151
+ * nominates a new authority pubkey for THIS specific pool. Writes
152
+ * `pool.pending_authority = Some(proposed)`; authority is NOT
153
+ * rotated yet. Per-pool equivalent of `propose_admin`.
154
+ */
155
+ buildProposeAuthorityIx(args: {
156
+ authority: SolanaAddress;
157
+ poolPda: SolanaAddress;
158
+ newAuthority: SolanaAddress;
159
+ }): TransactionInstruction;
160
+ /**
161
+ * Build accept_authority (ST-8 / X-2 step 2). The proposed authority
162
+ * signs to accept the rotation. Reverts with
163
+ * `PoolAuthorityProposalNotPending` (stake error 517, wire = 6517) if
164
+ * signer is not the currently-pending pool authority.
165
+ */
166
+ buildAcceptAuthorityIx(args: {
167
+ pendingAuthority: SolanaAddress;
168
+ poolPda: SolanaAddress;
169
+ }): TransactionInstruction;
170
+ /** Pool-authority pause. Sets `paused_by_authority = true`. */
171
+ buildPausePoolIx(args: {
172
+ authority: SolanaAddress;
173
+ poolPda: SolanaAddress;
174
+ }): TransactionInstruction;
175
+ /** Pool-authority unpause. Clears `paused_by_authority`. */
176
+ buildUnpausePoolIx(args: {
177
+ authority: SolanaAddress;
178
+ poolPda: SolanaAddress;
179
+ }): TransactionInstruction;
180
+ /** Platform-admin pause. Sets `paused_by_admin = true`. */
181
+ buildAdminPausePoolIx(args: {
182
+ admin: SolanaAddress;
183
+ poolPda: SolanaAddress;
184
+ }): TransactionInstruction;
185
+ /** Platform-admin unpause. Clears `paused_by_admin`. */
186
+ buildAdminUnpausePoolIx(args: {
187
+ admin: SolanaAddress;
188
+ poolPda: SolanaAddress;
189
+ }): TransactionInstruction;
98
190
  buildCreatePoolIx(args: CreatePoolArgs & {
99
191
  authority: SolanaAddress;
100
192
  }): TransactionInstruction;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,UAAU,EAKV,sBAAsB,EAGtB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EAGX,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAkLxC,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,eAAe,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB;;sBAEkB;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBACf,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;CAK/C;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,IAAI,EAAE,wBAAwB;IAO1C,YAAY,IAAI,aAAa;IAQ7B,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAC7D,OAAO,EAAE,aAAa,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;KACd;IASD,cAAc,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,aAAa,CAAA;KAAE,GAAG;QACtE,QAAQ,EAAE,aAAa,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd;IASD,qBAAqB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QACzE,eAAe,EAAE,aAAa,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;KACd;IAaK,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAc9D,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsB5D,eAAe,CACnB,eAAe,EAAE,aAAa,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAQzC,qEAAqE;IAC/D,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkBzE,8CAA8C;IACxC,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAqB9E;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,yBAAyB;IAgB5B;;;;OAIG;IACH,iBAAiB,CACf,IAAI,EAAE,cAAc,GAAG;QAAE,SAAS,EAAE,aAAa,CAAA;KAAE,GAClD,sBAAsB;IA6CzB;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE,aAAa,CAAC;KAC5B,GAAG,sBAAsB;IAoB1B,sFAAsF;IACtF,iCAAiC,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,sBAAsB;IAyB1B,8FAA8F;IAC9F,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAIlE;;;;OAIG;IACH,8BAA8B,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa;IAIzE,gDAAgD;IAChD,+BAA+B,CAAC,IAAI,EAAE;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,aAAa;IAWjB,qEAAqE;IACrE,2BAA2B,IAAI,aAAa;IAI5C,mEAAmE;IACnE,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOlE,0CAA0C;IAC1C,uBAAuB,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,aAAa,CAAC;QACvB,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,aAAa;IAWjB,2DAA2D;IAC3D,+BAA+B,CAAC,IAAI,EAAE;QACpC,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,aAAa;IAajB,oFAAoF;IACpF,gCAAgC,CAAC,IAAI,EAAE;QACrC,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,IAAI,EAAE,aAAa,CAAC;KACrB,GAAG,sBAAsB;IAyB1B,0BAA0B;IAC1B,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,sBAAsB;IAkC1B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,oEAAoE;QACpE,IAAI,EAAE,aAAa,CAAC;QACpB,gBAAgB,EAAE,aAAa,CAAC;QAChC,iEAAiE;QACjE,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,GAAG,sBAAsB;IAgD1B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,iEAAiE;QACjE,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GAAG,sBAAsB;IAqC1B;;;OAGG;IACH,wBAAwB,CAAC,IAAI,EAAE;QAC7B,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,gEAAgE;QAChE,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,sBAAsB;IA0BpB,UAAU,CACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrD,mBAAmB,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,aAAa,CAAC;QACpB,4CAA4C;QAC5C,WAAW,EAAE,aAAa,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvD,0BAA0B,CAAC,IAAI,EAAE;QACrC,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAc7D;;;;;OAKG;IACG,KAAK,CACT,IAAI,EAAE,SAAS,GAAG;QAAE,gBAAgB,EAAE,aAAa,CAAA;KAAE,GACpD,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBtD,OAAO,CACX,IAAI,EAAE,WAAW,GAAG;QAClB,IAAI,EAAE,aAAa,CAAC;QACpB,gBAAgB,EAAE,aAAa,CAAC;QAChC,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAc7B,YAAY,CAChB,IAAI,EAAE,gBAAgB,GAAG;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAa7B,iBAAiB,CACrB,IAAI,EAAE,qBAAqB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC;QAAE,eAAe,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;YAkBrD,aAAa;IA2B3B,OAAO,CAAC,aAAa;CAStB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,iBAAiB,CAMpB;AA6BD,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -18,7 +18,7 @@
18
18
  import { PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, Transaction, TransactionInstruction, TransactionMessage, VersionedTransaction, } from '@solana/web3.js';
19
19
  import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
20
20
  import { EmblemError, decodeSignedPayload, } from '@emblemvault/primitives-shared';
21
- import { decodeRewardDistributionAccount, decodeStakePoolAccount, decodeStakeVaultAccount, MULTIPLIER_SCALE, PENALTY_TAG_BURN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_TREASURY_PDA, REWARD_CADENCE_DAILY, REWARD_CADENCE_HOURLY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_SAMMY_V1, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, } from './codec.js';
21
+ import { decodeRewardDistributionAccount, decodeStakePoolAccount, decodeStakeVaultAccount, MULTIPLIER_SCALE, PENALTY_TAG_BURN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_TREASURY_PDA, REWARD_CADENCE_DAILY, REWARD_CADENCE_HOURLY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, } from './codec.js';
22
22
  import { deriveRewardDistPda, deriveStakePoolPda, deriveStakeVaultPda, STAKE_PROGRAM_ID, } from './pda.js';
23
23
  // =============================================================================
24
24
  // Anchor instruction discriminators
@@ -47,6 +47,40 @@ const IX_CLAIM = Buffer.from([
47
47
  const IX_DISTRIBUTE_REWARDS = Buffer.from([
48
48
  0x61, 0x06, 0xe3, 0xff, 0x7c, 0xa5, 0x03, 0x94,
49
49
  ]);
50
+ // ST-2 follow-on (2026-05-04): platform-config + emergency-halt ixs.
51
+ // All discriminators verified via Node crypto sha256("global:<name>").subarray(0, 8).
52
+ const IX_INIT_PLATFORM_CONFIG = Buffer.from([
53
+ 0x65, 0x34, 0x2f, 0x31, 0x9c, 0x10, 0x20, 0x76,
54
+ ]);
55
+ // Audit doc 10 X-2 (2026-05-04) — single-step `set_admin` removed.
56
+ // Replaced by `propose_admin` + `accept_admin` two-step rotation.
57
+ const IX_PROPOSE_ADMIN = Buffer.from([
58
+ 0x79, 0xd6, 0xc7, 0xd4, 0x57, 0x27, 0x75, 0xea,
59
+ ]);
60
+ const IX_ACCEPT_ADMIN = Buffer.from([
61
+ 0x70, 0x2a, 0x2d, 0x5a, 0x74, 0xb5, 0x0d, 0xaa,
62
+ ]);
63
+ // Audit doc 10 ST-8 / X-2 (2026-05-04) — per-pool authority rotation.
64
+ // Different account/ix shape from PlatformConfig admin rotation:
65
+ // the StakePool PDA is per-(asset,pool_id), not a singleton.
66
+ const IX_PROPOSE_AUTHORITY = Buffer.from([
67
+ 0x14, 0x94, 0xec, 0xc6, 0x4c, 0x77, 0x63, 0x8e,
68
+ ]);
69
+ const IX_ACCEPT_AUTHORITY = Buffer.from([
70
+ 0x6b, 0x56, 0xc6, 0x5b, 0x21, 0x0c, 0x6b, 0xa0,
71
+ ]);
72
+ const IX_PAUSE_POOL = Buffer.from([
73
+ 0xa0, 0x0f, 0x0c, 0xbd, 0xa0, 0x00, 0xf3, 0xf5,
74
+ ]);
75
+ const IX_UNPAUSE_POOL = Buffer.from([
76
+ 0xf1, 0x94, 0x81, 0xf3, 0xde, 0x7d, 0x7d, 0xa0,
77
+ ]);
78
+ const IX_ADMIN_PAUSE_POOL = Buffer.from([
79
+ 0x4a, 0x74, 0x0d, 0xe6, 0x65, 0x67, 0x75, 0x44,
80
+ ]);
81
+ const IX_ADMIN_UNPAUSE_POOL = Buffer.from([
82
+ 0x83, 0x16, 0xe4, 0xa6, 0x00, 0xef, 0xf4, 0x6a,
83
+ ]);
50
84
  const ACTION_TYPE_BUYBACK_BURN = 0;
51
85
  const ACTION_TYPE_LP_REINFORCE = 1;
52
86
  // =============================================================================
@@ -121,7 +155,9 @@ function encodeRewardCadence(c) {
121
155
  return REWARD_CADENCE_WEEKLY;
122
156
  }
123
157
  function encodeRewardFormula(f) {
124
- return f === 'linear-v1' ? REWARD_FORMULA_LINEAR_V1 : REWARD_FORMULA_SAMMY_V1;
158
+ return f === 'linear-v1'
159
+ ? REWARD_FORMULA_LINEAR_V1
160
+ : REWARD_FORMULA_TIME_WEIGHTED_V1;
125
161
  }
126
162
  /**
127
163
  * Vault-authority PDA. Owns all program-managed token accounts (reward
@@ -195,6 +231,12 @@ export class EmblemStakeClient {
195
231
  });
196
232
  return { distributionPda: pda.toBase58(), bump };
197
233
  }
234
+ /** ST-2 follow-on (2026-05-04). The stake program's PlatformConfig
235
+ * PDA is a singleton — same shape as launch + sell. */
236
+ derivePlatformConfigPda() {
237
+ const [pda, bump] = PublicKey.findProgramAddressSync([Buffer.from('platform-config')], this.programId);
238
+ return { platformConfigPda: pda.toBase58(), bump };
239
+ }
198
240
  // ==========================================================================
199
241
  // Reads
200
242
  // ==========================================================================
@@ -268,6 +310,96 @@ export class EmblemStakeClient {
268
310
  return { ...decoded, poolPda: a.pubkey.toBase58() };
269
311
  });
270
312
  }
313
+ /**
314
+ * List every StakeVault owned by a given wallet across every pool —
315
+ * answers "which pools is this user staked in?" for discovery /
316
+ * portfolio agents. Memcmps on the owner field at offset 41
317
+ * (discriminator(8) + bump(1) + pool_pda(32)).
318
+ */
319
+ async listVaultsByOwner(owner) {
320
+ const ownerKey = new PublicKey(owner);
321
+ const OWNER_FIELD_OFFSET = 41;
322
+ const filters = [
323
+ { memcmp: { offset: 0, bytes: bs58Encode(STAKE_VAULT_DISCRIMINATOR) } },
324
+ { memcmp: { offset: OWNER_FIELD_OFFSET, bytes: ownerKey.toBase58() } },
325
+ ];
326
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
327
+ commitment: this.commitment,
328
+ filters,
329
+ });
330
+ return accounts.map((a) => {
331
+ const decoded = decodeStakeVaultAccount(a.account.data);
332
+ return { ...decoded, vaultPda: a.pubkey.toBase58() };
333
+ });
334
+ }
335
+ /**
336
+ * Paged discovery feed across every pool on the program, newest first.
337
+ * Mirrors EmblemLaunchClient.listAllLaunchesPaged. Returns
338
+ * { items, page, pageSize, total, hasMore }.
339
+ *
340
+ * Implementation: fetches every StakePool prefix slice (up through
341
+ * `created_at`) via `getProgramAccounts` + `dataSlice`, sorts client-side
342
+ * by `(createdAt DESC, poolPda ASC)` for stable pagination, then slices.
343
+ * The slice length covers the variable-prefix fields; we only need the
344
+ * minimal summary (poolPda, authority, asset, createdAt) to support
345
+ * discovery UX. Heavier reads use `getPool(poolPda)` per row.
346
+ */
347
+ async listAllPoolsPaged(opts = {}) {
348
+ const page = opts.page ?? 0;
349
+ const pageSize = opts.pageSize ?? 10;
350
+ if (!Number.isInteger(page) || page < 0) {
351
+ throw new EmblemStakeError(EmblemError.StakePoolShapeInvalid, `listAllPoolsPaged: page must be a non-negative integer; got ${page}`);
352
+ }
353
+ if (!Number.isInteger(pageSize) || pageSize < 1) {
354
+ throw new EmblemStakeError(EmblemError.StakePoolShapeInvalid, `listAllPoolsPaged: pageSize must be a positive integer; got ${pageSize}`);
355
+ }
356
+ // StakePool layout (post-X-1, post-ST-2):
357
+ // 0..8 discriminator
358
+ // 8..9 bump
359
+ // 9..41 authority (Pubkey)
360
+ // 41..45 pool_id (u32 LE)
361
+ // 45..77 asset (Pubkey)
362
+ // 77+ host_url (variable: 1 + len), lock_options (variable),
363
+ // min_stake (u64), max_stake_per_vault (Option<u64>),
364
+ // early_exit_penalty_bps (u16), penalty_destination (variable),
365
+ // reward_sources (variable), reward_cadence (u8),
366
+ // reward_formula (u8), total_staked (u64),
367
+ // total_weighted_stake (u64), current_period (u32),
368
+ // version (u32), created_at (i64), pause flags (2× u8),
369
+ // last_distributed_at (i64), pending_authority (Option<Pubkey>)
370
+ //
371
+ // The variable-length middle (host_url + lock_options + reward_sources +
372
+ // penalty_destination) makes a fixed `created_at` offset impossible
373
+ // from a single slice. So unlike Launch, we fetch the whole account
374
+ // (StakePool is ~250-500 bytes typical) and decode fully. Acceptable
375
+ // for v0.4.0 — revisit if pool count exceeds ~5k.
376
+ const filters = [
377
+ { memcmp: { offset: 0, bytes: bs58Encode(STAKE_POOL_DISCRIMINATOR) } },
378
+ ];
379
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
380
+ commitment: this.commitment,
381
+ filters,
382
+ });
383
+ const summaries = accounts.map((a) => {
384
+ const decoded = decodeStakePoolAccount(a.account.data);
385
+ return {
386
+ poolPda: a.pubkey.toBase58(),
387
+ authority: decoded.authority,
388
+ asset: decoded.asset,
389
+ createdAt: decoded.createdAt,
390
+ };
391
+ });
392
+ summaries.sort((a, b) => {
393
+ if (b.createdAt !== a.createdAt)
394
+ return b.createdAt - a.createdAt;
395
+ return a.poolPda < b.poolPda ? -1 : a.poolPda > b.poolPda ? 1 : 0;
396
+ });
397
+ const totalCount = summaries.length;
398
+ const start = page * pageSize;
399
+ const end = start + pageSize;
400
+ const pools = summaries.slice(start, end);
401
+ return { pools, page, pageSize, totalCount, hasMore: end < totalCount };
402
+ }
271
403
  // ==========================================================================
272
404
  // Off-chain stake-mode evaluator — works today
273
405
  // ==========================================================================
@@ -307,6 +439,163 @@ export class EmblemStakeClient {
307
439
  * including Vec<LockTier>, Vec<RewardSource>, and the tagged-enum
308
440
  * PenaltyDestination.
309
441
  */
442
+ // ==========================================================================
443
+ // ST-2 follow-on (2026-05-04) — PlatformConfig + emergency-halt builders.
444
+ // ==========================================================================
445
+ /** Init the singleton stake PlatformConfig. The signer becomes admin. */
446
+ buildInitPlatformConfigIx(args) {
447
+ const { platformConfigPda } = this.derivePlatformConfigPda();
448
+ return new TransactionInstruction({
449
+ programId: this.programId,
450
+ keys: [
451
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: true },
452
+ {
453
+ pubkey: new PublicKey(platformConfigPda),
454
+ isSigner: false,
455
+ isWritable: true,
456
+ },
457
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
458
+ ],
459
+ data: IX_INIT_PLATFORM_CONFIG,
460
+ });
461
+ }
462
+ /**
463
+ * Build propose_admin (X-2 step 1). Current admin nominates a new
464
+ * admin pubkey but does NOT yet rotate. The proposed admin must
465
+ * sign a separate `accept_admin` to complete the swap.
466
+ */
467
+ buildProposeAdminIx(args) {
468
+ const { platformConfigPda } = this.derivePlatformConfigPda();
469
+ const data = Buffer.concat([
470
+ IX_PROPOSE_ADMIN,
471
+ new PublicKey(args.newAdmin).toBuffer(),
472
+ ]);
473
+ return new TransactionInstruction({
474
+ programId: this.programId,
475
+ keys: [
476
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
477
+ {
478
+ pubkey: new PublicKey(platformConfigPda),
479
+ isSigner: false,
480
+ isWritable: true,
481
+ },
482
+ ],
483
+ data,
484
+ });
485
+ }
486
+ /**
487
+ * Build accept_admin (X-2 step 2). The proposed admin signs to
488
+ * accept the rotation. Reverts with `AdminProposalNotPending`
489
+ * (stake error 516, wire = 6516) if signer is not the
490
+ * currently-pending admin.
491
+ */
492
+ buildAcceptAdminIx(args) {
493
+ const { platformConfigPda } = this.derivePlatformConfigPda();
494
+ return new TransactionInstruction({
495
+ programId: this.programId,
496
+ keys: [
497
+ { pubkey: new PublicKey(args.pendingAdmin), isSigner: true, isWritable: false },
498
+ {
499
+ pubkey: new PublicKey(platformConfigPda),
500
+ isSigner: false,
501
+ isWritable: true,
502
+ },
503
+ ],
504
+ data: IX_ACCEPT_ADMIN,
505
+ });
506
+ }
507
+ /**
508
+ * Build propose_authority (ST-8 / X-2 step 1). Current pool authority
509
+ * nominates a new authority pubkey for THIS specific pool. Writes
510
+ * `pool.pending_authority = Some(proposed)`; authority is NOT
511
+ * rotated yet. Per-pool equivalent of `propose_admin`.
512
+ */
513
+ buildProposeAuthorityIx(args) {
514
+ const data = Buffer.concat([
515
+ IX_PROPOSE_AUTHORITY,
516
+ new PublicKey(args.newAuthority).toBuffer(),
517
+ ]);
518
+ return new TransactionInstruction({
519
+ programId: this.programId,
520
+ keys: [
521
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
522
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
523
+ ],
524
+ data,
525
+ });
526
+ }
527
+ /**
528
+ * Build accept_authority (ST-8 / X-2 step 2). The proposed authority
529
+ * signs to accept the rotation. Reverts with
530
+ * `PoolAuthorityProposalNotPending` (stake error 517, wire = 6517) if
531
+ * signer is not the currently-pending pool authority.
532
+ */
533
+ buildAcceptAuthorityIx(args) {
534
+ return new TransactionInstruction({
535
+ programId: this.programId,
536
+ keys: [
537
+ { pubkey: new PublicKey(args.pendingAuthority), isSigner: true, isWritable: false },
538
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
539
+ ],
540
+ data: IX_ACCEPT_AUTHORITY,
541
+ });
542
+ }
543
+ /** Pool-authority pause. Sets `paused_by_authority = true`. */
544
+ buildPausePoolIx(args) {
545
+ return new TransactionInstruction({
546
+ programId: this.programId,
547
+ keys: [
548
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
549
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
550
+ ],
551
+ data: IX_PAUSE_POOL,
552
+ });
553
+ }
554
+ /** Pool-authority unpause. Clears `paused_by_authority`. */
555
+ buildUnpausePoolIx(args) {
556
+ return new TransactionInstruction({
557
+ programId: this.programId,
558
+ keys: [
559
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
560
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
561
+ ],
562
+ data: IX_UNPAUSE_POOL,
563
+ });
564
+ }
565
+ /** Platform-admin pause. Sets `paused_by_admin = true`. */
566
+ buildAdminPausePoolIx(args) {
567
+ const { platformConfigPda } = this.derivePlatformConfigPda();
568
+ return new TransactionInstruction({
569
+ programId: this.programId,
570
+ keys: [
571
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
572
+ {
573
+ pubkey: new PublicKey(platformConfigPda),
574
+ isSigner: false,
575
+ isWritable: false,
576
+ },
577
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
578
+ ],
579
+ data: IX_ADMIN_PAUSE_POOL,
580
+ });
581
+ }
582
+ /** Platform-admin unpause. Clears `paused_by_admin`. */
583
+ buildAdminUnpausePoolIx(args) {
584
+ const { platformConfigPda } = this.derivePlatformConfigPda();
585
+ return new TransactionInstruction({
586
+ programId: this.programId,
587
+ keys: [
588
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
589
+ {
590
+ pubkey: new PublicKey(platformConfigPda),
591
+ isSigner: false,
592
+ isWritable: false,
593
+ },
594
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
595
+ ],
596
+ data: IX_ADMIN_UNPAUSE_POOL,
597
+ });
598
+ }
310
599
  buildCreatePoolIx(args) {
311
600
  const poolId = args.poolId ?? 0;
312
601
  const cfg = args.config;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EACL,WAAW,EACX,mBAAmB,GAIpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;IACjC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,gCAAgC,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,+BAA+B,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,qEAAqE;AACrE,sFAAsF;AACtF,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,mEAAmE;AACnE,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,sEAAsE;AACtE,iEAAiE;AACjE,6DAA6D;AAC7D,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC;IACvC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,SAAS,QAAQ,CAAC,CAAS;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,CAA4B;IAC/C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,CAA4B;IAC5C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAqB;IACrD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzC,KAAK,cAAc;YACjB,qEAAqE;YACrE,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;gBACvC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aAChC,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAoB;IAC9C,mDAAmD;IACnD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;YAC3C,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgC;IAC3D,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC;IACjD,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC;IAC/C,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAmC;IAC9D,OAAO,CAAC,KAAK,WAAW;QACtB,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,+BAA+B,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,SAAoB;IAChD,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAsB,EAAE,SAAoB;IACrE,+DAA+D;IAC/D,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EACrD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAkB,EAAE,SAAoB;IACxE,mEAAmE;IACnE,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAChD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,IAAe,EACf,UAAkB,EAClB,SAAoB;IAEpB,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE;QACd,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;KAC1B,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAkCD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAc;IAC3B,YAAY,IAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACX,UAAU,CAAa;IACvB,SAAS,CAAY;IACrB,MAAM,CAAoC;IAC1C,UAAU,CAAa;IAExC,YAAY,IAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IACnD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,iBAAiB;IACjB,6EAA6E;IAE7E,aAAa,CAAC,IAA8C;QAI1D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,IAAsD;QAInE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,qBAAqB,CAAC,IAAkD;QAItE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IAED;4DACwD;IACxD,uBAAuB;QACrB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAClD,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAChC,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAE7E,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,UAAU,EACtB,WAAW,OAAO,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC9G,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,cAAc,EAC1B,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,UAAU,EACtB,WAAW,QAAQ,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,eAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,gBAAgB,CAAC,OAAsB;QAC3C,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,EAAE;YACvE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE;SACrE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,oBAAoB,CAAC,SAAwB;QACjD,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,sBAAsB,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,wBAAwB,CAAC,EAAE,EAAE;YACtE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE;SAC/E,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAoB;QAC1C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,EAAE;YACvE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE;SACvE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAGpB,EAAE;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,qBAAqB,EACjC,+DAA+D,IAAI,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,qBAAqB,EACjC,+DAA+D,QAAQ,EAAE,CAC1E,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,0BAA0B;QAC1B,iBAAiB;QACjB,+BAA+B;QAC/B,6BAA6B;QAC7B,2BAA2B;QAC3B,mEAAmE;QACnE,gEAAgE;QAChE,0EAA0E;QAC1E,4DAA4D;QAC5D,qDAAqD;QACrD,8DAA8D;QAC9D,kEAAkE;QAClE,0EAA0E;QAC1E,EAAE;QACF,yEAAyE;QACzE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,wBAAwB,CAAC,EAAE,EAAE;SACvE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,SAAS,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YAClE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU,EAAE,CAAC;IAC1E,CAAC;IAED,6EAA6E;IAC7E,+CAA+C;IAC/C,6EAA6E;IAE7E;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,KAAwB,EACxB,QAAgB,EAChB,cAAsB;QAEtB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,YAAY,IAAI,QAAQ;YACjC,QAAQ,EAAE;gBACR,YAAY;gBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,cAAc,IAAI,KAAK,CAAC,UAAU;aAChD;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;IACvB,6EAA6E;IAE7E;;;;OAIG;IACH,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAE7E,yEAAyE;IACzE,yBAAyB,CAAC,IAEzB;QACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,IAGnB;QACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,gBAAgB;YAChB,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;SACxC,CAAC,CAAC;QACH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;aACF;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,IAElB;QACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC/E;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;aACF;YACD,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,IAIvB;QACC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,oBAAoB;YACpB,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC5E,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,IAGtB;QACC,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACnF,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,gBAAgB,CAAC,IAGhB;QACC,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC5E,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,kBAAkB,CAAC,IAGlB;QACC,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC5E,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,qBAAqB,CAAC,IAGrB;QACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,uBAAuB,CAAC,IAGvB;QACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3E;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CACf,IAAmD;QAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YACrC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,+DAA+D;YAC/D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;SACxD,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,cAAc;YACd,GAAG,CAAC,MAAM,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YACxB,gBAAgB;YAChB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YACrB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5B,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAChD,oBAAoB;YACpB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7B,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;SACtD,CAAC,CAAC;QAEH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,IAI1B;QACC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACpD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,wBAAwB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,iCAAiC,CAAC,IAKjC;QACC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC3F,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACpD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,gCAAgC;gBAChC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;aAC1B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,8FAA8F;IAC9F,2BAA2B,CAAC,OAAsB;QAChD,OAAO,wBAAwB,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACH,8BAA8B,CAAC,WAA0B;QACvD,OAAO,iBAAiB,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClF,CAAC;IAED,gDAAgD;IAChD,+BAA+B,CAAC,IAI/B;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC3F,OAAO,wBAAwB,CAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,UAAU,EACV,IAAI,CAAC,SAAS,CACf,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,2BAA2B;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,mEAAmE;IACnE,2BAA2B,CAAC,OAAsB;QAChD,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAClE,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,uBAAuB,CAAC,IAGvB;QACC,OAAO,SAAS,CAAC,sBAAsB,CACrC;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;YACrC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;SACpC,EACD,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,+BAA+B,CAAC,IAG/B;QACC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAChF,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,yBAAyB;IACzB,6EAA6E;IAE7E,oFAAoF;IACpF,gCAAgC,CAAC,IAIhC;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvD,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE;oBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC1D,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,+BAA+B;SACtC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,YAAY,CAAC,IAMZ;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAErF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,QAAQ;YACR,SAAS;YACT,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC,CAAC;QAEH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,IAQd;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG;YACX,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YACtE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACtD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACzD;gBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5C,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aAClB;YACD,wEAAwE;YACxE,kEAAkE;YAClE,sCAAsC;YACtC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACvE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC7D;gBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC5C,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB;SACF,CAAC;QACF,sEAAsE;QACtE,kEAAkE;QAClE,iEAAiE;QACjE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACjD,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAMZ;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,SAAS,CACnB,IAAI,CAAC,+BAA+B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAC/E;YACD,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD;oBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC1D;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,GAAG,YAAY;aAChB;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,IAKxB;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,SAAS,CAChC,IAAI,CAAC,+BAA+B,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CACH,CAAC;QACF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtD,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC3D,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3D,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,2BAA2B;IAC3B,6EAA6E;IAE7E,KAAK,CAAC,UAAU,CACd,IAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAIzB;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAIhC;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,iCAAiC,CAAC;YAChD,GAAG,IAAI;YACP,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;YACpD,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACT,IAAqD;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAIC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAGC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAkD;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,+BAA+B,CAAC;gBACpD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YACF,WAAW;SACZ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,EAAe,EACf,MAA6B;QAE7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,kEAAkE;QAClE,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;YACrC,QAAQ;YACR,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,EAAE,CAAC,YAAY;SAC9B,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9C,uEAAuE;QACvE,iEAAiE;QACjE,gEAAgE;QAChE,0DAA0D;QAC1D,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,YAAY,EACxB,GAAG,EAAE,mEAAmE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,IAIjC;IACC,OAAO,IAAI,iBAAiB,CAAC;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,gBAAgB;QAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,UAAU,CAAC,KAAiB;IACnC,MAAM,QAAQ,GAAG,4DAA4D,CAAC;IAC9E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC;YAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/codec.d.ts CHANGED
@@ -31,7 +31,7 @@
31
31
  * Audit X-1 Pass 2 (2026-05-03) replaced both String body fields with
32
32
  * fixed-32-byte Pubkey. ~324 bytes saved per StakePool.
33
33
  * reward_cadence: u8 (0 hourly, 1 daily, 2 weekly)
34
- * reward_formula: u8 (0 linear-v1, 1 sammy-curve-v1)
34
+ * reward_formula: u8 (0 linear-v1, 1 time-weighted-v1)
35
35
  * total_staked: u64 LE
36
36
  * total_weighted_stake: u64 LE
37
37
  * current_period: u32 LE
@@ -59,10 +59,12 @@
59
59
  * distributed_at: i64 LE
60
60
  * reward_mint: Pubkey
61
61
  */
62
- import type { RewardDistributionAccount, StakePoolAccount, StakeVaultAccount } from './types.js';
62
+ import type { RewardDistributionAccount, StakePlatformConfigAccount, StakePoolAccount, StakeVaultAccount } from './types.js';
63
63
  export declare const STAKE_POOL_DISCRIMINATOR: Buffer<ArrayBuffer>;
64
64
  export declare const STAKE_VAULT_DISCRIMINATOR: Buffer<ArrayBuffer>;
65
65
  export declare const REWARD_DIST_DISCRIMINATOR: Buffer<ArrayBuffer>;
66
+ /** ST-2 follow-on (2026-05-04). sha256("account:PlatformConfig").subarray(0, 8). */
67
+ export declare const STAKE_PLATFORM_CONFIG_DISCRIMINATOR: Buffer<ArrayBuffer>;
66
68
  /** Multiplier scale: stored as u32, displayed as multiplier × 1_000. */
67
69
  export declare const MULTIPLIER_SCALE = 1000;
68
70
  /** Caps shared with the on-chain program. */
@@ -78,7 +80,10 @@ export declare const REWARD_CADENCE_HOURLY = 0;
78
80
  export declare const REWARD_CADENCE_DAILY = 1;
79
81
  export declare const REWARD_CADENCE_WEEKLY = 2;
80
82
  export declare const REWARD_FORMULA_LINEAR_V1 = 0;
81
- export declare const REWARD_FORMULA_SAMMY_V1 = 1;
83
+ /** Pre-mainnet #7 (2026-05-03): renamed from REWARD_FORMULA_SAMMY_V1
84
+ * (which was a placeholder doing identical linear math). The on-chain
85
+ * formula now computes weight = stake × tier_days / max_tier_days. */
86
+ export declare const REWARD_FORMULA_TIME_WEIGHTED_V1 = 1;
82
87
  export declare class StakeCodecError extends Error {
83
88
  constructor(message: string);
84
89
  }
@@ -88,4 +93,9 @@ export declare function decodeStakeVaultAccount(data: Buffer | Uint8Array): Stak
88
93
  export declare function encodeStakeVaultAccount(account: StakeVaultAccount, bump?: number): Buffer;
89
94
  export declare function decodeRewardDistributionAccount(data: Buffer | Uint8Array): RewardDistributionAccount;
90
95
  export declare function encodeRewardDistributionAccount(account: RewardDistributionAccount, bump?: number): Buffer;
96
+ /** Reserved padding length on PlatformConfig. Mirrors the Rust constant
97
+ * `PLATFORM_CONFIG_RESERVED_BYTES`. */
98
+ export declare const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 32;
99
+ export declare function decodeStakePlatformConfigAccount(data: Buffer | Uint8Array): StakePlatformConfigAccount;
100
+ export declare function encodeStakePlatformConfigAccount(account: StakePlatformConfigAccount, bump?: number): Buffer;
91
101
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,wBAAwB,qBAEnC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAQpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAuDlF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,SAAM,GAAG,MAAM,CAyCpF;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAqCpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,SAAM,GAAG,MAAM,CActF;AAMD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,yBAAyB,CA+B3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,EAClC,IAAI,SAAM,GACT,MAAM,CAWR"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,wBAAwB,qBAEnC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,oFAAoF;AACpF,eAAO,MAAM,mCAAmC,qBAE9C,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAQpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C;;uEAEuE;AACvE,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CA2ElF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,SAAM,GAAG,MAAM,CAoDpF;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAiDpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,SAAM,GAAG,MAAM,CAmBtF;AAMD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,yBAAyB,CA+B3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,EAClC,IAAI,SAAM,GACT,MAAM,CAWR;AAQD;wCACwC;AACxC,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,0BAA0B,CA8B5B;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,0BAA0B,EACnC,IAAI,SAAM,GACT,MAAM,CAeR"}
package/dist/codec.js CHANGED
@@ -31,7 +31,7 @@
31
31
  * Audit X-1 Pass 2 (2026-05-03) replaced both String body fields with
32
32
  * fixed-32-byte Pubkey. ~324 bytes saved per StakePool.
33
33
  * reward_cadence: u8 (0 hourly, 1 daily, 2 weekly)
34
- * reward_formula: u8 (0 linear-v1, 1 sammy-curve-v1)
34
+ * reward_formula: u8 (0 linear-v1, 1 time-weighted-v1)
35
35
  * total_staked: u64 LE
36
36
  * total_weighted_stake: u64 LE
37
37
  * current_period: u32 LE
@@ -72,6 +72,10 @@ export const STAKE_VAULT_DISCRIMINATOR = Buffer.from([
72
72
  export const REWARD_DIST_DISCRIMINATOR = Buffer.from([
73
73
  0xf1, 0xfe, 0x40, 0xba, 0xd7, 0x43, 0x19, 0xf7,
74
74
  ]);
75
+ /** ST-2 follow-on (2026-05-04). sha256("account:PlatformConfig").subarray(0, 8). */
76
+ export const STAKE_PLATFORM_CONFIG_DISCRIMINATOR = Buffer.from([
77
+ 0xa0, 0x4e, 0x80, 0x00, 0xf8, 0x53, 0xe6, 0xa0,
78
+ ]);
75
79
  /** Multiplier scale: stored as u32, displayed as multiplier × 1_000. */
76
80
  export const MULTIPLIER_SCALE = 1000;
77
81
  /** Caps shared with the on-chain program. */
@@ -92,7 +96,10 @@ export const REWARD_CADENCE_HOURLY = 0;
92
96
  export const REWARD_CADENCE_DAILY = 1;
93
97
  export const REWARD_CADENCE_WEEKLY = 2;
94
98
  export const REWARD_FORMULA_LINEAR_V1 = 0;
95
- export const REWARD_FORMULA_SAMMY_V1 = 1;
99
+ /** Pre-mainnet #7 (2026-05-03): renamed from REWARD_FORMULA_SAMMY_V1
100
+ * (which was a placeholder doing identical linear math). The on-chain
101
+ * formula now computes weight = stake × tier_days / max_tier_days. */
102
+ export const REWARD_FORMULA_TIME_WEIGHTED_V1 = 1;
96
103
  export class StakeCodecError extends Error {
97
104
  constructor(message) {
98
105
  super(`[StakeCodec] ${message}`);
@@ -131,6 +138,22 @@ export function decodeStakePoolAccount(data) {
131
138
  const currentPeriod = r.readU32LE();
132
139
  const version = r.readU32LE();
133
140
  const createdAt = r.readI64LE();
141
+ // ST-2 follow-on (2026-05-04) — pause flags trailer.
142
+ const pausedByAuthority = r.readBool();
143
+ const pausedByAdmin = r.readBool();
144
+ // ST-3 (2026-05-04) — distribute_rewards cadence floor trailer.
145
+ const lastDistributedAt = r.readI64LE();
146
+ // ST-8 / X-2 (2026-05-04) — per-pool pending_authority trailer
147
+ // (Option<Pubkey>). Length-conditional decoding: returns null if
148
+ // Borsh discriminant byte is 0 (None) OR if buffer pre-dates ST-8
149
+ // size bump (existing 643-byte accounts).
150
+ let pendingAuthority = null;
151
+ if (r.remaining() >= 1) {
152
+ const optDisc = r.readU8();
153
+ if (optDisc === 1 && r.remaining() >= 32) {
154
+ pendingAuthority = r.readPubkey();
155
+ }
156
+ }
134
157
  return {
135
158
  authority,
136
159
  poolId,
@@ -149,6 +172,10 @@ export function decodeStakePoolAccount(data) {
149
172
  currentPeriod,
150
173
  version,
151
174
  createdAt: Number(createdAt),
175
+ pausedByAuthority,
176
+ pausedByAdmin,
177
+ lastDistributedAt: Number(lastDistributedAt),
178
+ pendingAuthority,
152
179
  };
153
180
  }
154
181
  export function encodeStakePoolAccount(account, bump = 255) {
@@ -182,6 +209,18 @@ export function encodeStakePoolAccount(account, bump = 255) {
182
209
  w.writeU32LE(account.currentPeriod);
183
210
  w.writeU32LE(account.version);
184
211
  w.writeI64LE(BigInt(account.createdAt));
212
+ w.writeBool(account.pausedByAuthority);
213
+ w.writeBool(account.pausedByAdmin);
214
+ w.writeI64LE(BigInt(account.lastDistributedAt));
215
+ // ST-8 / X-2 (2026-05-04) — pending_authority: Option<Pubkey> trailer.
216
+ if (account.pendingAuthority) {
217
+ w.writeU8(1);
218
+ w.writePubkey(account.pendingAuthority);
219
+ }
220
+ else {
221
+ w.writeU8(0);
222
+ w.writeBytes(Buffer.alloc(32));
223
+ }
185
224
  return w.toBuffer();
186
225
  }
187
226
  // =============================================================================
@@ -208,6 +247,13 @@ export function decodeStakeVaultAccount(data) {
208
247
  const lastClaimPeriod = r.readU32LE();
209
248
  const lastClaimAt = r.readI64LE();
210
249
  const stakedAt = r.readI64LE();
250
+ // ST-2 (2026-05-04) — wider snapshot trailer. Appended at end of
251
+ // struct so memcmp filters over earlier fields keep their offsets.
252
+ const earlyExitPenaltyBpsSnapshot = r.readU16LE();
253
+ const lockTierDaysSnapshot = r.readU32LE();
254
+ const lockTierMultiplierSnapshot = r.readU32LE();
255
+ const rewardFormulaSnapshot = r.readU8();
256
+ const weightedContributionSnapshot = r.readU64LE();
211
257
  return {
212
258
  poolPda,
213
259
  owner,
@@ -218,6 +264,11 @@ export function decodeStakeVaultAccount(data) {
218
264
  lastClaimPeriod,
219
265
  lastClaimAt: Number(lastClaimAt),
220
266
  stakedAt: Number(stakedAt),
267
+ earlyExitPenaltyBpsSnapshot,
268
+ lockTierDaysSnapshot,
269
+ lockTierMultiplierSnapshot,
270
+ rewardFormulaSnapshot,
271
+ weightedContributionSnapshot,
221
272
  };
222
273
  }
223
274
  export function encodeStakeVaultAccount(account, bump = 255) {
@@ -233,6 +284,11 @@ export function encodeStakeVaultAccount(account, bump = 255) {
233
284
  w.writeU32LE(account.lastClaimPeriod);
234
285
  w.writeI64LE(BigInt(account.lastClaimAt));
235
286
  w.writeI64LE(BigInt(account.stakedAt));
287
+ w.writeU16LE(account.earlyExitPenaltyBpsSnapshot);
288
+ w.writeU32LE(account.lockTierDaysSnapshot);
289
+ w.writeU32LE(account.lockTierMultiplierSnapshot);
290
+ w.writeU8(account.rewardFormulaSnapshot);
291
+ w.writeU64LE(account.weightedContributionSnapshot);
236
292
  return w.toBuffer();
237
293
  }
238
294
  // =============================================================================
@@ -278,6 +334,59 @@ export function encodeRewardDistributionAccount(account, bump = 255) {
278
334
  return w.toBuffer();
279
335
  }
280
336
  // =============================================================================
337
+ // PlatformConfig (ST-2 follow-on, 2026-05-04)
338
+ //
339
+ // 8 (disc) + 1 (bump) + 32 (admin) + 32 (reserved) = 73 bytes.
340
+ // =============================================================================
341
+ /** Reserved padding length on PlatformConfig. Mirrors the Rust constant
342
+ * `PLATFORM_CONFIG_RESERVED_BYTES`. */
343
+ export const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 32;
344
+ export function decodeStakePlatformConfigAccount(data) {
345
+ const buf = data instanceof Buffer ? data : Buffer.from(data);
346
+ if (buf.length < 8) {
347
+ throw new StakeCodecError(`buffer too small (${buf.length} bytes); need at least 8 for discriminator`);
348
+ }
349
+ const disc = buf.subarray(0, 8);
350
+ if (!disc.equals(STAKE_PLATFORM_CONFIG_DISCRIMINATOR)) {
351
+ throw new StakeCodecError(`PlatformConfig discriminator mismatch: expected ${STAKE_PLATFORM_CONFIG_DISCRIMINATOR.toString('hex')}, got ${disc.toString('hex')}`);
352
+ }
353
+ const r = new BorshReader(buf, 8);
354
+ const bump = r.readU8();
355
+ void bump;
356
+ const admin = r.readPubkey();
357
+ // reserved bytes ignored on decode — they're write-only padding.
358
+ for (let i = 0; i < STAKE_PLATFORM_CONFIG_RESERVED_BYTES; i++)
359
+ r.readU8();
360
+ // Audit doc 10 X-2 (2026-05-04) — pending_admin: Option<Pubkey>.
361
+ // Length-conditional decoding: returns `null` if Borsh discriminant
362
+ // is 0 (None) OR if the buffer pre-dates the X-2 size bump.
363
+ let pendingAdmin = null;
364
+ if (r.remaining() >= 1) {
365
+ const optDisc = r.readU8();
366
+ if (optDisc === 1 && r.remaining() >= 32) {
367
+ pendingAdmin = r.readPubkey();
368
+ }
369
+ }
370
+ return { admin, pendingAdmin };
371
+ }
372
+ export function encodeStakePlatformConfigAccount(account, bump = 255) {
373
+ const w = new BorshWriter();
374
+ w.writeBytes(STAKE_PLATFORM_CONFIG_DISCRIMINATOR);
375
+ w.writeU8(bump);
376
+ w.writePubkey(account.admin);
377
+ w.writeBytes(Buffer.alloc(STAKE_PLATFORM_CONFIG_RESERVED_BYTES));
378
+ // X-2: pending_admin: Option<Pubkey> trailer.
379
+ if (account.pendingAdmin) {
380
+ w.writeU8(1);
381
+ w.writePubkey(account.pendingAdmin);
382
+ }
383
+ else {
384
+ w.writeU8(0);
385
+ w.writeBytes(Buffer.alloc(32));
386
+ }
387
+ return w.toBuffer();
388
+ }
389
+ // =============================================================================
281
390
  // Variant encoders
282
391
  // =============================================================================
283
392
  function encodeRewardCadence(c) {
@@ -310,8 +419,8 @@ function encodeRewardFormula(f) {
310
419
  switch (f) {
311
420
  case 'linear-v1':
312
421
  return REWARD_FORMULA_LINEAR_V1;
313
- case 'sammy-curve-v1':
314
- return REWARD_FORMULA_SAMMY_V1;
422
+ case 'time-weighted-v1':
423
+ return REWARD_FORMULA_TIME_WEIGHTED_V1;
315
424
  default: {
316
425
  const _exhaustive = f;
317
426
  throw new StakeCodecError(`unknown rewardFormula: ${_exhaustive}`);
@@ -322,8 +431,8 @@ function decodeRewardFormula(byte) {
322
431
  switch (byte) {
323
432
  case REWARD_FORMULA_LINEAR_V1:
324
433
  return 'linear-v1';
325
- case REWARD_FORMULA_SAMMY_V1:
326
- return 'sammy-curve-v1';
434
+ case REWARD_FORMULA_TIME_WEIGHTED_V1:
435
+ return 'time-weighted-v1';
327
436
  default:
328
437
  throw new StakeCodecError(`unknown rewardFormula byte: ${byte}`);
329
438
  }
@@ -343,12 +452,23 @@ class BorshReader {
343
452
  throw new StakeCodecError(`unexpected end of buffer at offset ${this.offset}, need ${n} more bytes`);
344
453
  }
345
454
  }
455
+ /** Bytes remaining in the buffer past the cursor. */
456
+ remaining() {
457
+ return this.buf.length - this.offset;
458
+ }
346
459
  readU8() {
347
460
  this.require(1);
348
461
  const v = this.buf.readUInt8(this.offset);
349
462
  this.offset += 1;
350
463
  return v;
351
464
  }
465
+ readBool() {
466
+ const tag = this.readU8();
467
+ if (tag !== 0 && tag !== 1) {
468
+ throw new StakeCodecError(`invalid bool byte ${tag} (expected 0 or 1)`);
469
+ }
470
+ return tag === 1;
471
+ }
352
472
  readU16LE() {
353
473
  this.require(2);
354
474
  const v = this.buf.readUInt16LE(this.offset);
@@ -468,6 +588,9 @@ class BorshWriter {
468
588
  b.writeUInt8(v, 0);
469
589
  this.chunks.push(b);
470
590
  }
591
+ writeBool(v) {
592
+ this.writeU8(v ? 1 : 0);
593
+ }
471
594
  writeU16LE(v) {
472
595
  const b = Buffer.alloc(2);
473
596
  b.writeUInt16LE(v, 0);
package/dist/codec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAc5C,gFAAgF;AAChF,uEAAuE;AACvE,gFAAgF;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,uDAAuD;AACvD,kEAAkE;AAElE,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C;;uEAEuE;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAEjD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC9D,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,eAAe,CACvB,8CAA8C,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAChC,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnC,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACxC,+DAA+D;IAC/D,iEAAiE;IACjE,kEAAkE;IAClE,0CAA0C;IAC1C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,gBAAgB,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM;QACN,KAAK;QACL,OAAO;QACP,WAAW;QACX,QAAQ;QACR,gBAAgB;QAChB,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;QAC5B,iBAAiB;QACjB,aAAa;QACb,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAyB,EAAE,IAAI,GAAG,GAAG;IAC1E,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACtF,MAAM,IAAI,eAAe,CACvB,iCAAiC,gBAAgB,SAAS,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EACjD,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,mCAAmC,kBAAkB,SAAS,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,IAAI,OAAO,CAAC,mBAAmB,GAAG,MAAM,EAAE,CAAC;QAC5E,MAAM,IAAI,eAAe,CACvB,6CAA6C,OAAO,CAAC,mBAAmB,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChD,uEAAuE;IACvE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAEhF,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAC/D,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,+CAA+C,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,2BAA2B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,0BAA0B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,4BAA4B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAEnD,OAAO;QACL,OAAO;QACP,KAAK;QACL,YAAY;QACZ,WAAW;QACX,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAC9B,cAAc;QACd,eAAe;QACf,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,2BAA2B;QAC3B,oBAAoB;QACpB,0BAA0B;QAC1B,qBAAqB;QACrB,4BAA4B;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA0B,EAAE,IAAI,GAAG,GAAG;IAC5E,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,MAAM,UAAU,+BAA+B,CAC7C,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,uDAAuD,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAChI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAElC,OAAO;QACL,OAAO;QACP,QAAQ;QACR,gBAAgB;QAChB,uBAAuB;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAkC,EAClC,IAAI,GAAG,GAAG;IAEV,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,8CAA8C;AAC9C,EAAE;AACF,+DAA+D;AAC/D,gFAAgF;AAEhF;wCACwC;AACxC,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAEvD,MAAM,UAAU,gCAAgC,CAC9C,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,eAAe,CACvB,mDAAmD,mCAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACtI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,iEAAiE;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,iEAAiE;IACjE,oEAAoE;IACpE,4DAA4D;IAC5D,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,YAAY,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAmC,EACnC,IAAI,GAAG,GAAG;IAEV,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACjE,8CAA8C;IAC9C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,SAAS,mBAAmB,CAAC,CAAgC;IAC3D,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC;QAClB,KAAK,oBAAoB;YACvB,OAAO,OAAO,CAAC;QACjB,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC;QAClB;YACE,MAAM,IAAI,eAAe,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgB;IAC3C,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,WAAW;YACd,OAAO,wBAAwB,CAAC;QAClC,KAAK,kBAAkB;YACrB,OAAO,+BAA+B,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB;YAC3B,OAAO,WAAW,CAAC;QACrB,KAAK,+BAA+B;YAClC,OAAO,kBAAkB,CAAC;QAC5B;YACE,MAAM,IAAI,eAAe,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,MAAM,WAAW;IAEc;IADrB,MAAM,CAAS;IACvB,YAA6B,GAAW,EAAE,KAAK,GAAG,CAAC;QAAtB,QAAG,GAAH,GAAG,CAAQ;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IACO,OAAO,CAAC,CAAS;QACvB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,eAAe,CACvB,sCAAsC,IAAI,CAAC,MAAM,UAAU,CAAC,aAAa,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,WAAY,CAAC,CAAC;IAC3C,CAAC;IACD,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IACD,eAAe,CAAC,MAAc;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM;YACd,MAAM,IAAI,eAAe,CAAC,iBAAiB,GAAG,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QACnB,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,uBAAuB,CAAC,MAAc;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACvB,sBAAsB,GAAG,gBAAgB,gBAAgB,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,sBAAsB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,wBAAwB;gBAC3B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAClC,KAAK,gBAAgB;gBACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,oDAAoD;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACvC,CAAC;YACD;gBACE,MAAM,IAAI,eAAe,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,mBAAmB;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CACvB,wBAAwB,GAAG,gBAAgB,kBAAkB,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,GAAG,KAAK,4BAA4B,EAAE,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,GAAG,KAAK,iCAAiC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,eAAe,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,WAAW;IACP,MAAM,GAAa,EAAE,CAAC;IAC9B,UAAU,CAAC,CAAS;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAS;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,gBAAgB,CAAC,CAA4B;QAC3C,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,gBAAgB,CAAC,CAAS,EAAE,MAAc;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB,yBAAyB,IAAI,CAAC,MAAM,gBAAgB,MAAM,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,wBAAwB,CAAC,CAA4B,EAAE,MAAc;QACnE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,KAAsB;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,gCAAgC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;YACvD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,uBAAuB,CAAC,CAAqB;QAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,cAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACvC,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO;YACT,KAAK,cAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACvC,+DAA+D;gBAC/D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,CAAC,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,oBAAoB,CAAC,OAA4B;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,+DAA+D;YAC/D,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAU,CAAC,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IACD,QAAQ;QACN,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { EmblemStakeClient, EmblemStakeError, createStakeReader, type EmblemStakeClientOptions, type SolanaSignerInterface, } from './client.js';
2
- export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_SAMMY_V1, StakeCodecError, } from './codec.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
3
3
  export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, STAKE_PROGRAM_ID, type DeriveStakePoolPdaArgs, type DeriveStakeVaultPdaArgs, type DeriveRewardDistPdaArgs, type DerivedPda, } from './pda.js';
4
4
  export type { StakePoolAccount, StakePoolView, StakeVaultAccount, StakeVaultView, RewardDistributionAccount, RewardDistributionView, CreatePoolArgs, StakeArgs, UnstakeArgs, ClaimRewardsArgs, DistributeRewardsArgs, GetVaultArgs, StakeGateEvaluationResult, } from './types.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { EmblemStakeClient, EmblemStakeError, createStakeReader, } from './client.js';
2
- export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_SAMMY_V1, StakeCodecError, } from './codec.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
3
3
  export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, STAKE_PROGRAM_ID, } from './pda.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,UAAU,CAAC"}
package/dist/types.d.ts CHANGED
@@ -39,11 +39,20 @@ export interface StakePoolAccount {
39
39
  earlyExitPenaltyBps: number;
40
40
  /** Where the penalty goes (redistribute / burn / treasury PDA). */
41
41
  penaltyDestination: PenaltyDestination;
42
- /** Reward sources funding this pool. */
42
+ /** **Display-only metadata.** NOT a runtime gate — `distribute_rewards`
43
+ * reads from the pool-seeded reward vault `[b"reward-vault", pool]`
44
+ * regardless of what this field contains. See audit doc 10 ST-4
45
+ * tombstone (2026-05-04) and the Rust-side `RewardSource`
46
+ * doc-comment for the full rationale. Surface this to creators
47
+ * during pool setup as their declared intent; do NOT use it as a
48
+ * proof of where rewards actually come from. */
43
49
  rewardSources: StakeRewardSource[];
44
50
  /** How often distribute_rewards is callable. */
45
51
  rewardCadence: 'hourly' | 'daily' | 'weekly';
46
- /** Reward formula identifier — "linear-v1" until sammy-curve-v1 lands. */
52
+ /** Reward formula identifier — `linear-v1` (proportional, multiplier-driven)
53
+ * or `time-weighted-v1` (vote-escrow style; weight scales with the
54
+ * staker's lock tier as a fraction of the longest tier in the pool).
55
+ * See `RewardFormula` in `@emblemvault/primitives-shared`. */
47
56
  rewardFormula: RewardFormula;
48
57
  /** Total amount currently staked across all vaults. */
49
58
  totalStaked: bigint;
@@ -55,10 +64,70 @@ export interface StakePoolAccount {
55
64
  version: number;
56
65
  /** Unix-seconds at creation. */
57
66
  createdAt: number;
67
+ /** ST-2 follow-on (2026-05-04) — set by `pause_pool` (pool authority);
68
+ * cleared by `unpause_pool`. Independent from `pausedByAdmin`. Pool
69
+ * is "paused" iff `pausedByAuthority || pausedByAdmin`. */
70
+ pausedByAuthority: boolean;
71
+ /** ST-2 follow-on — set by `admin_pause_pool` (platform admin from
72
+ * stake's PlatformConfig); cleared by `admin_unpause_pool`. */
73
+ pausedByAdmin: boolean;
74
+ /** ST-3 (2026-05-04) — unix-seconds of the last successful
75
+ * `distribute_rewards`. The grief-fix gate: each call requires
76
+ * `now >= lastDistributedAt + cadence_seconds(rewardCadence)`,
77
+ * otherwise reverts with `StakeRewardCadenceNotElapsed`. Initialized
78
+ * to `0` at pool creation; first successful distribute always passes
79
+ * the floor (any cadence + `now > 0` clears 0). */
80
+ lastDistributedAt: number;
81
+ /** ST-8 / X-2 (2026-05-04) — per-pool pending authority for the
82
+ * two-step rotation. Set by `propose_authority` (current authority
83
+ * signs); cleared by `accept_authority` (proposed authority signs).
84
+ * `null` when no rotation is in flight. */
85
+ pendingAuthority: SolanaAddress | null;
58
86
  }
59
87
  export interface StakePoolView extends StakePoolAccount {
60
88
  poolPda: SolanaAddress;
61
89
  }
90
+ /**
91
+ * Lightweight summary used by the discovery feed (`listAllPoolsPaged`).
92
+ * Mirrors the launch SDK's `LaunchSummary` pattern.
93
+ *
94
+ * Sorted client-side by `(createdAt DESC, poolPda ASC)` for stable,
95
+ * deterministic pagination — pools created in the same slot share a
96
+ * timestamp; the poolPda tiebreak prevents page-boundary drift.
97
+ */
98
+ export interface StakePoolSummary {
99
+ poolPda: SolanaAddress;
100
+ authority: SolanaAddress;
101
+ asset: SolanaAddress;
102
+ createdAt: number;
103
+ }
104
+ /** Result envelope from `listAllPoolsPaged()`. Mirrors `LaunchListPage`. */
105
+ export interface StakePoolListPage {
106
+ pools: StakePoolSummary[];
107
+ page: number;
108
+ pageSize: number;
109
+ totalCount: number;
110
+ hasMore: boolean;
111
+ }
112
+ /**
113
+ * Stake program PlatformConfig — singleton, PDA seeds [b"platform-config"].
114
+ *
115
+ * ST-2 follow-on (2026-05-04). Mirrors launch + sell convention: each
116
+ * program owns its own admin keypair. Stake's admin authorizes
117
+ * `admin_pause_pool` / `admin_unpause_pool` — the Emblem-side half of
118
+ * the two-key emergency halt.
119
+ */
120
+ export interface StakePlatformConfigAccount {
121
+ /** Pubkey allowed to call `admin_pause_pool` / `admin_unpause_pool`
122
+ * + `propose_admin` (X-2 step 1 — rotate this field via two-step). */
123
+ admin: SolanaAddress;
124
+ /** Audit doc 10 X-2 (2026-05-04) — set by `propose_admin`, cleared by
125
+ * `accept_admin`. `null` when no rotation is in flight. */
126
+ pendingAdmin: SolanaAddress | null;
127
+ }
128
+ export interface StakePlatformConfigView extends StakePlatformConfigAccount {
129
+ platformConfigPda: SolanaAddress;
130
+ }
62
131
  /**
63
132
  * The on-chain StakeVaultAccount — one per (pool, owner).
64
133
  *
@@ -83,6 +152,26 @@ export interface StakeVaultAccount {
83
152
  lastClaimAt: number;
84
153
  /** Unix-seconds at which the stake was first created. */
85
154
  stakedAt: number;
155
+ /** ST-2 (2026-05-04) — `pool.early_exit_penalty_bps` snapshotted
156
+ * at stake time. `unstake` reads this, NOT the live pool value, so
157
+ * a creator who later raises the penalty can't retroactively rug
158
+ * this staker. */
159
+ earlyExitPenaltyBpsSnapshot: number;
160
+ /** ST-2 — `pool.lock_options[lockTierIdx].days` at stake time. Used
161
+ * by the time-weighted-v1 reward formula at claim. */
162
+ lockTierDaysSnapshot: number;
163
+ /** ST-2 — `pool.lock_options[lockTierIdx].multiplier` at stake time.
164
+ * Used by the linear-v1 reward formula at claim. */
165
+ lockTierMultiplierSnapshot: number;
166
+ /** ST-2 — `pool.reward_formula` at stake time. Off-chain observability
167
+ * only — claim-time math uses `weightedContributionSnapshot`. */
168
+ rewardFormulaSnapshot: number;
169
+ /** ST-2 — **load-bearing.** The output of `compute_weighted_contribution`
170
+ * at stake time, snapshotted exactly. `unstake`/`claim` read this
171
+ * directly (no recomputation), guaranteeing the staker's claim
172
+ * share scales identically to what they implicitly committed to at
173
+ * stake time, even if pool params change later. */
174
+ weightedContributionSnapshot: bigint;
86
175
  }
87
176
  export interface StakeVaultView extends StakeVaultAccount {
88
177
  vaultPda: SolanaAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emblemvault/primitives-stake",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "TypeScript SDK for the Emblem stake primitive — lock-up pools, reward vaults, multipliers, and early-exit penalties.",
5
5
  "keywords": [
6
6
  "emblem",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@solana/spl-token": "^0.4.6",
28
28
  "@solana/web3.js": "^1.91.0",
29
- "@emblemvault/primitives-shared": "^0.2.0"
29
+ "@emblemvault/primitives-shared": "^0.3.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^20.0.0",