@gzeoneth/gov-tracker 0.4.0 → 0.5.0-alpha.fix-refresh.3fdec9c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +95 -11
  2. package/dist/abis-json.d.ts +2315 -0
  3. package/dist/abis-json.d.ts.map +1 -0
  4. package/dist/abis-json.js +3207 -0
  5. package/dist/abis-json.js.map +1 -0
  6. package/dist/abis.d.ts +12 -7
  7. package/dist/abis.d.ts.map +1 -1
  8. package/dist/abis.js +32 -1
  9. package/dist/abis.js.map +1 -1
  10. package/dist/calldata/decoder.d.ts.map +1 -1
  11. package/dist/calldata/decoder.js +33 -28
  12. package/dist/calldata/decoder.js.map +1 -1
  13. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  14. package/dist/calldata/parameter-decoder.js +19 -25
  15. package/dist/calldata/parameter-decoder.js.map +1 -1
  16. package/dist/calldata/retryable-ticket.d.ts +2 -2
  17. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  18. package/dist/calldata/retryable-ticket.js +17 -12
  19. package/dist/calldata/retryable-ticket.js.map +1 -1
  20. package/dist/calldata/signature-lookup.js +5 -4
  21. package/dist/calldata/signature-lookup.js.map +1 -1
  22. package/dist/cli/cli.js +112 -20
  23. package/dist/cli/cli.js.map +1 -1
  24. package/dist/cli/lib/cli.d.ts +4 -2
  25. package/dist/cli/lib/cli.d.ts.map +1 -1
  26. package/dist/cli/lib/cli.js +34 -18
  27. package/dist/cli/lib/cli.js.map +1 -1
  28. package/dist/cli/lib/election-check.d.ts.map +1 -1
  29. package/dist/cli/lib/election-check.js +2 -1
  30. package/dist/cli/lib/election-check.js.map +1 -1
  31. package/dist/cli/lib/json-state.js +1 -1
  32. package/dist/cli/lib/json-state.js.map +1 -1
  33. package/dist/cli/tui/components/StageProgress.js +1 -1
  34. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  35. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  36. package/dist/cli/tui/components/StageRow.js +15 -20
  37. package/dist/cli/tui/components/StageRow.js.map +1 -1
  38. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
  39. package/dist/cli/tui/components/VotingStats.js +2 -1
  40. package/dist/cli/tui/components/VotingStats.js.map +1 -1
  41. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  42. package/dist/cli/tui/hooks/useCache.js +2 -1
  43. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  44. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  45. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  46. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  47. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  48. package/dist/cli/tui/hooks/useNavigation.js +2 -3
  49. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  50. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  51. package/dist/cli/tui/hooks/useProposals.js +26 -36
  52. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  53. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  54. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  55. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  56. package/dist/cli/tui/utils/index.d.ts +7 -7
  57. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  58. package/dist/cli/tui/utils/index.js +18 -13
  59. package/dist/cli/tui/utils/index.js.map +1 -1
  60. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  61. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  62. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  63. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  64. package/dist/cli/tui/utils/navigation.d.ts +1 -0
  65. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  66. package/dist/cli/tui/utils/navigation.js +9 -5
  67. package/dist/cli/tui/utils/navigation.js.map +1 -1
  68. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  69. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  70. package/dist/cli/tui/utils/stage-status.d.ts +4 -0
  71. package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
  72. package/dist/cli/tui/utils/stage-status.js +47 -1
  73. package/dist/cli/tui/utils/stage-status.js.map +1 -1
  74. package/dist/cli/tui/utils/time.d.ts +4 -4
  75. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  76. package/dist/cli/tui/utils/time.js +13 -11
  77. package/dist/cli/tui/utils/time.js.map +1 -1
  78. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  79. package/dist/cli/tui/views/CalldataView.js +3 -2
  80. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  81. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  82. package/dist/cli/tui/views/DescriptionView.js +4 -2
  83. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  84. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  85. package/dist/cli/tui/views/ElectionView.js +4 -9
  86. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  87. package/dist/constants.d.ts +54 -23
  88. package/dist/constants.d.ts.map +1 -1
  89. package/dist/constants.js +78 -21
  90. package/dist/constants.js.map +1 -1
  91. package/dist/data/bundled-cache.json +652 -20
  92. package/dist/data/delegate-cache.json +118014 -0
  93. package/dist/deduplication.d.ts.map +1 -1
  94. package/dist/deduplication.js +34 -54
  95. package/dist/deduplication.js.map +1 -1
  96. package/dist/delegates/cache.d.ts +44 -0
  97. package/dist/delegates/cache.d.ts.map +1 -0
  98. package/dist/delegates/cache.js +202 -0
  99. package/dist/delegates/cache.js.map +1 -0
  100. package/dist/delegates/index.d.ts +13 -0
  101. package/dist/delegates/index.d.ts.map +1 -0
  102. package/dist/delegates/index.js +32 -0
  103. package/dist/delegates/index.js.map +1 -0
  104. package/dist/delegates/indexer.d.ts +32 -0
  105. package/dist/delegates/indexer.d.ts.map +1 -0
  106. package/dist/delegates/indexer.js +191 -0
  107. package/dist/delegates/indexer.js.map +1 -0
  108. package/dist/delegates/queries.d.ts +30 -0
  109. package/dist/delegates/queries.d.ts.map +1 -0
  110. package/dist/delegates/queries.js +79 -0
  111. package/dist/delegates/queries.js.map +1 -0
  112. package/dist/discovery/governor-discovery.d.ts +21 -1
  113. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  114. package/dist/discovery/governor-discovery.js +47 -13
  115. package/dist/discovery/governor-discovery.js.map +1 -1
  116. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  117. package/dist/discovery/timelock-discovery.js +27 -30
  118. package/dist/discovery/timelock-discovery.js.map +1 -1
  119. package/dist/election/contracts.d.ts.map +1 -1
  120. package/dist/election/contracts.js +4 -1
  121. package/dist/election/contracts.js.map +1 -1
  122. package/dist/election/details.d.ts.map +1 -1
  123. package/dist/election/details.js +7 -3
  124. package/dist/election/details.js.map +1 -1
  125. package/dist/election/index.d.ts +3 -1
  126. package/dist/election/index.d.ts.map +1 -1
  127. package/dist/election/index.js +12 -1
  128. package/dist/election/index.js.map +1 -1
  129. package/dist/election/params.d.ts.map +1 -1
  130. package/dist/election/params.js +14 -28
  131. package/dist/election/params.js.map +1 -1
  132. package/dist/election/participants.d.ts.map +1 -1
  133. package/dist/election/participants.js +21 -26
  134. package/dist/election/participants.js.map +1 -1
  135. package/dist/election/proposal-ids.js +19 -22
  136. package/dist/election/proposal-ids.js.map +1 -1
  137. package/dist/election/status.d.ts +28 -1
  138. package/dist/election/status.d.ts.map +1 -1
  139. package/dist/election/status.js +116 -3
  140. package/dist/election/status.js.map +1 -1
  141. package/dist/election/write.d.ts +132 -0
  142. package/dist/election/write.d.ts.map +1 -0
  143. package/dist/election/write.js +184 -0
  144. package/dist/election/write.js.map +1 -0
  145. package/dist/governance/index.d.ts +5 -0
  146. package/dist/governance/index.d.ts.map +1 -0
  147. package/dist/governance/index.js +28 -0
  148. package/dist/governance/index.js.map +1 -0
  149. package/dist/governance/read.d.ts +50 -0
  150. package/dist/governance/read.d.ts.map +1 -0
  151. package/dist/governance/read.js +194 -0
  152. package/dist/governance/read.js.map +1 -0
  153. package/dist/governance/write.d.ts +54 -0
  154. package/dist/governance/write.d.ts.map +1 -0
  155. package/dist/governance/write.js +132 -0
  156. package/dist/governance/write.js.map +1 -0
  157. package/dist/index.d.ts +40 -21
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +149 -15
  160. package/dist/index.js.map +1 -1
  161. package/dist/simulation/index.d.ts +4 -1
  162. package/dist/simulation/index.d.ts.map +1 -1
  163. package/dist/simulation/index.js +5 -1
  164. package/dist/simulation/index.js.map +1 -1
  165. package/dist/simulation/simulation-data.d.ts +33 -2
  166. package/dist/simulation/simulation-data.d.ts.map +1 -1
  167. package/dist/simulation/simulation-data.js +68 -24
  168. package/dist/simulation/simulation-data.js.map +1 -1
  169. package/dist/simulation/tenderly-payloads.d.ts +107 -0
  170. package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
  171. package/dist/simulation/tenderly-payloads.js +103 -0
  172. package/dist/simulation/tenderly-payloads.js.map +1 -0
  173. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  174. package/dist/stages/l2-to-l1-message.js +43 -63
  175. package/dist/stages/l2-to-l1-message.js.map +1 -1
  176. package/dist/stages/proposal-queued.js.map +1 -1
  177. package/dist/stages/retryables.d.ts.map +1 -1
  178. package/dist/stages/retryables.js +10 -9
  179. package/dist/stages/retryables.js.map +1 -1
  180. package/dist/stages/timelock.d.ts +43 -3
  181. package/dist/stages/timelock.d.ts.map +1 -1
  182. package/dist/stages/timelock.js +170 -53
  183. package/dist/stages/timelock.js.map +1 -1
  184. package/dist/stages/utils.d.ts +76 -2
  185. package/dist/stages/utils.d.ts.map +1 -1
  186. package/dist/stages/utils.js +185 -30
  187. package/dist/stages/utils.js.map +1 -1
  188. package/dist/tracker/bundled-cache.d.ts +136 -0
  189. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  190. package/dist/tracker/bundled-cache.js +220 -0
  191. package/dist/tracker/bundled-cache.js.map +1 -0
  192. package/dist/tracker/checkpoint-helpers.d.ts +34 -1
  193. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  194. package/dist/tracker/checkpoint-helpers.js +83 -8
  195. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  196. package/dist/tracker/discovery.d.ts +3 -0
  197. package/dist/tracker/discovery.d.ts.map +1 -1
  198. package/dist/tracker/discovery.js +59 -34
  199. package/dist/tracker/discovery.js.map +1 -1
  200. package/dist/tracker/pipeline.d.ts +3 -10
  201. package/dist/tracker/pipeline.d.ts.map +1 -1
  202. package/dist/tracker/pipeline.js +18 -32
  203. package/dist/tracker/pipeline.js.map +1 -1
  204. package/dist/tracker/query.d.ts +1 -0
  205. package/dist/tracker/query.d.ts.map +1 -1
  206. package/dist/tracker/query.js +54 -41
  207. package/dist/tracker/query.js.map +1 -1
  208. package/dist/tracker/state.d.ts +3 -2
  209. package/dist/tracker/state.d.ts.map +1 -1
  210. package/dist/tracker/state.js +9 -5
  211. package/dist/tracker/state.js.map +1 -1
  212. package/dist/tracker.d.ts +33 -11
  213. package/dist/tracker.d.ts.map +1 -1
  214. package/dist/tracker.js +76 -43
  215. package/dist/tracker.js.map +1 -1
  216. package/dist/types/config.d.ts +39 -3
  217. package/dist/types/config.d.ts.map +1 -1
  218. package/dist/types/delegates.d.ts +55 -0
  219. package/dist/types/delegates.d.ts.map +1 -0
  220. package/dist/types/delegates.js +9 -0
  221. package/dist/types/delegates.js.map +1 -0
  222. package/dist/types/election.d.ts +23 -0
  223. package/dist/types/election.d.ts.map +1 -1
  224. package/dist/types/index.d.ts +3 -2
  225. package/dist/types/index.d.ts.map +1 -1
  226. package/dist/types/index.js.map +1 -1
  227. package/dist/types/simulation.d.ts +2 -2
  228. package/dist/types/simulation.d.ts.map +1 -1
  229. package/dist/types/tracking.d.ts +2 -2
  230. package/dist/types/tracking.d.ts.map +1 -1
  231. package/dist/utils/chain.d.ts +5 -1
  232. package/dist/utils/chain.d.ts.map +1 -1
  233. package/dist/utils/chain.js +7 -0
  234. package/dist/utils/chain.js.map +1 -1
  235. package/dist/utils/formatters.d.ts +2 -6
  236. package/dist/utils/formatters.d.ts.map +1 -1
  237. package/dist/utils/formatters.js +9 -12
  238. package/dist/utils/formatters.js.map +1 -1
  239. package/dist/utils/log-filters.js +1 -1
  240. package/dist/utils/log-filters.js.map +1 -1
  241. package/dist/utils/logger.d.ts +2 -0
  242. package/dist/utils/logger.d.ts.map +1 -1
  243. package/dist/utils/logger.js +2 -0
  244. package/dist/utils/logger.js.map +1 -1
  245. package/dist/utils/multicall.d.ts +0 -1
  246. package/dist/utils/multicall.d.ts.map +1 -1
  247. package/dist/utils/rpc-utils.d.ts +5 -0
  248. package/dist/utils/rpc-utils.d.ts.map +1 -1
  249. package/dist/utils/rpc-utils.js +9 -1
  250. package/dist/utils/rpc-utils.js.map +1 -1
  251. package/dist/utils/stage-metadata.d.ts +19 -0
  252. package/dist/utils/stage-metadata.d.ts.map +1 -1
  253. package/dist/utils/stage-metadata.js +44 -0
  254. package/dist/utils/stage-metadata.js.map +1 -1
  255. package/dist/utils/timing.d.ts +3 -10
  256. package/dist/utils/timing.d.ts.map +1 -1
  257. package/dist/utils/timing.js +9 -22
  258. package/dist/utils/timing.js.map +1 -1
  259. package/package.json +7 -3
  260. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  261. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  262. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  263. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  264. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  265. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  266. package/dist/cli/tui/utils/stage-formatter.js +0 -13
  267. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  268. package/dist/cli/tui/utils/text.d.ts +0 -7
  269. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  270. package/dist/cli/tui/utils/text.js +0 -12
  271. package/dist/cli/tui/utils/text.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  * Previously split between stages/base.ts and utils/stage-helpers.ts.
6
6
  */
7
7
  import { ethers } from "ethers";
8
- import { CallScheduledData, Chain, OperationState, PrepareResult, SerializedCallScheduledData, StageStatus, StageType, TimelockState, TrackedStage } from "../types";
8
+ import { CallScheduledData, Chain, OperationState, PrepareResult, ProposalState, SerializedCallScheduledData, StageStatus, StageType, TimelockState, TrackedStage } from "../types";
9
9
  /** Generic serializer: converts BigNumber fields to strings for JSON storage. */
10
10
  export declare function serialize<T>(data: T, bigNumFields: readonly string[]): T;
11
11
  /** Generic deserializer: converts string fields back to BigNumber. */
@@ -25,7 +25,7 @@ export type TrackingPath = "governor" | "timelock" | "election";
25
25
  * Get stage types for a tracking path.
26
26
  * @param path - The tracking path type: "governor", "timelock", or "election"
27
27
  */
28
- export declare function getStagesForTrackingPath(path: TrackingPath): StageType[];
28
+ export declare function getStagesForTrackingPath(path: TrackingPath): readonly StageType[];
29
29
  /** Get chain for a stage type (L1 stages run on ethereum, others on arb1) */
30
30
  export declare const getChainForStage: (type: StageType) => Chain;
31
31
  export declare function initializeStagesForTrackingPath(path: TrackingPath): TrackedStage[];
@@ -47,6 +47,31 @@ export declare function splitStages(stages: TrackedStage[]): {
47
47
  parentStages: TrackedStage[];
48
48
  timelockStages: TrackedStage[];
49
49
  };
50
+ /**
51
+ * Merge stages from different sources into a single array.
52
+ *
53
+ * Useful for combining stages from a governor proposal checkpoint
54
+ * with its linked timelock checkpoint into a unified timeline.
55
+ *
56
+ * When duplicates exist (same type), prefers the stage with more progress:
57
+ * 1. Higher status priority (COMPLETED > READY > PENDING > NOT_STARTED)
58
+ * 2. More transactions recorded
59
+ *
60
+ * @param primaryStages - Primary stage array (typically from governor/election)
61
+ * @param secondaryStages - Secondary stages to merge (typically from timelock)
62
+ * @returns Merged array with duplicates resolved
63
+ */
64
+ export declare function mergeStages(primaryStages: TrackedStage[], secondaryStages: TrackedStage[]): TrackedStage[];
65
+ /**
66
+ * Normalize stages into canonical pipeline order.
67
+ *
68
+ * Sorts stages by their natural execution order in the governance pipeline.
69
+ * Useful after merging stages from multiple sources.
70
+ *
71
+ * @param stages - Array of stages in any order
72
+ * @returns Stages sorted in canonical order
73
+ */
74
+ export declare function normalizeTimeline(stages: TrackedStage[]): TrackedStage[];
50
75
  /**
51
76
  * Check if stages have any timelock progress (for determining if we need linked checkpoint).
52
77
  * Returns true if any timelock path stage has been started.
@@ -105,6 +130,36 @@ export declare function getTrackingStatusSummary(stages: TrackedStage[]): {
105
130
  failed: number;
106
131
  skipped: number;
107
132
  };
133
+ /**
134
+ * Lifecycle phase representing where a proposal or timelock operation is now.
135
+ *
136
+ * Phases describe what's currently happening:
137
+ * - `voting` - Active voting period
138
+ * - `queued` - Passed voting, entering timelock execution
139
+ * - `l2_delay` - Waiting for L2 timelock delay
140
+ * - `bridging` - L2→L1 message in transit
141
+ * - `l1_delay` - Waiting for L1 timelock delay
142
+ * - `finalizing` - Retryable tickets pending execution
143
+ * - `executed` - Complete
144
+ * - `failed` - Failed at some stage
145
+ * - `unknown` - Cannot determine phase
146
+ */
147
+ export type LifecyclePhase = "voting" | "queued" | "l2_delay" | "bridging" | "l1_delay" | "finalizing" | "executed" | "failed" | "unknown";
148
+ /**
149
+ * Get the current lifecycle phase from tracked stages.
150
+ *
151
+ * @param stages - Array of tracked stages
152
+ * @returns The current lifecycle phase
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const phase = getLifecyclePhase(result.stages);
157
+ * if (phase === "l1_delay") {
158
+ * console.log("Waiting for L1 timelock delay...");
159
+ * }
160
+ * ```
161
+ */
162
+ export declare function getLifecyclePhase(stages: TrackedStage[]): LifecyclePhase;
108
163
  /**
109
164
  * Extract the operationId from tracked stages.
110
165
  *
@@ -129,6 +184,25 @@ export declare function extractOperationId(stages: TrackedStage[]): string | und
129
184
  * @see https://docs.arbitrum.foundation/concepts/lifecycle-anatomy-aip-proposal
130
185
  */
131
186
  export declare function isConstitutional(governorOrTimelockAddress: string): boolean;
187
+ /**
188
+ * Derive the OZ Governor `ProposalState` from a list of tracked stages.
189
+ *
190
+ * The `VOTING_ACTIVE` stage captures `proposalState` as a snapshot when voting
191
+ * ends — so it freezes at `"Queued"` once the proposal is queued and never
192
+ * advances to `"Executed"` even after the timelock finishes. This helper
193
+ * supersedes that snapshot for post-voting progression by reading the actual
194
+ * stage statuses.
195
+ *
196
+ * The caller should pass the merged stage set (parent + linked timelock) so
197
+ * that the full lifecycle is visible.
198
+ *
199
+ * @param stages - Merged tracked stages (parent + any linked timelock stages)
200
+ * @param fallback - State to return when stages can't determine the phase yet
201
+ * (typically the voting snapshot). Used for pre-queue phases
202
+ * (`Pending` / `Active`) which live only in the voting data.
203
+ * @returns The best-known `ProposalState` or the fallback.
204
+ */
205
+ export declare function deriveProposalState(stages: TrackedStage[], fallback?: ProposalState): ProposalState | undefined;
132
206
  /** Timelock stage types (consolidated stages that require execution) */
133
207
  export declare const TIMELOCK_STAGE_TYPES: readonly ["L2_TIMELOCK", "L1_TIMELOCK"];
134
208
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ exports.getStagesForTrackingPath = getStagesForTrackingPath;
13
13
  exports.initializeStagesForTrackingPath = initializeStagesForTrackingPath;
14
14
  exports.isTimelockPathStage = isTimelockPathStage;
15
15
  exports.splitStages = splitStages;
16
+ exports.mergeStages = mergeStages;
17
+ exports.normalizeTimeline = normalizeTimeline;
16
18
  exports.hasTimelockProgress = hasTimelockProgress;
17
19
  exports.findStage = findStage;
18
20
  exports.updateStageInList = updateStageInList;
@@ -24,8 +26,10 @@ exports.findExecutableStage = findExecutableStage;
24
26
  exports.findAllExecutableStages = findAllExecutableStages;
25
27
  exports.needsAction = needsAction;
26
28
  exports.getTrackingStatusSummary = getTrackingStatusSummary;
29
+ exports.getLifecyclePhase = getLifecyclePhase;
27
30
  exports.extractOperationId = extractOperationId;
28
31
  exports.isConstitutional = isConstitutional;
32
+ exports.deriveProposalState = deriveProposalState;
29
33
  exports.isTimelockStage = isTimelockStage;
30
34
  exports.getBlockTimestamp = getBlockTimestamp;
31
35
  exports.calculateEtaFromScheduledData = calculateEtaFromScheduledData;
@@ -110,7 +114,7 @@ function createStage(type, chain, status = "NOT_STARTED") {
110
114
  executable: false,
111
115
  };
112
116
  }
113
- /** Common timelock stages shared by all paths */
117
+ /** Common timelock stages shared by all paths (single source of truth) */
114
118
  const COMMON_TIMELOCK_STAGES = [
115
119
  "L2_TIMELOCK",
116
120
  "L2_TO_L1_MESSAGE",
@@ -163,13 +167,8 @@ function initializeStagesForTrackingPath(path) {
163
167
  // ============================================================================
164
168
  // Modular Caching: Stage Splitting
165
169
  // ============================================================================
166
- /** All timelock path stages for modular caching (full path, not just executable) */
167
- const TIMELOCK_PATH_STAGES = new Set([
168
- "L2_TIMELOCK",
169
- "L2_TO_L1_MESSAGE",
170
- "L1_TIMELOCK",
171
- "RETRYABLE_EXECUTED",
172
- ]);
170
+ /** Timelock path stages as a Set (derived from COMMON_TIMELOCK_STAGES) */
171
+ const TIMELOCK_PATH_STAGES = new Set(COMMON_TIMELOCK_STAGES);
173
172
  /**
174
173
  * Check if a stage type is part of the timelock path (for modular caching).
175
174
  * Includes all stages after proposal/election execution: L2_TIMELOCK → RETRYABLE_EXECUTED
@@ -191,6 +190,84 @@ function splitStages(stages) {
191
190
  const timelockStages = stages.filter((s) => isTimelockPathStage(s.type));
192
191
  return { parentStages, timelockStages };
193
192
  }
193
+ /**
194
+ * Canonical stage ordering for normalization.
195
+ * Matches the natural flow: election/governor → timelock path.
196
+ */
197
+ const STAGE_ORDER = {
198
+ // Election path
199
+ CREATE_ELECTION: 0,
200
+ NOMINEE_ELECTION: 1,
201
+ NOMINEE_VETTING: 2,
202
+ MEMBER_ELECTION: 3,
203
+ // Governor path
204
+ PROPOSAL_CREATED: 10,
205
+ VOTING_ACTIVE: 11,
206
+ PROPOSAL_QUEUED: 12,
207
+ // Shared timelock path
208
+ L2_TIMELOCK: 20,
209
+ L2_TO_L1_MESSAGE: 21,
210
+ L1_TIMELOCK: 22,
211
+ RETRYABLE_EXECUTED: 23,
212
+ };
213
+ /**
214
+ * Merge stages from different sources into a single array.
215
+ *
216
+ * Useful for combining stages from a governor proposal checkpoint
217
+ * with its linked timelock checkpoint into a unified timeline.
218
+ *
219
+ * When duplicates exist (same type), prefers the stage with more progress:
220
+ * 1. Higher status priority (COMPLETED > READY > PENDING > NOT_STARTED)
221
+ * 2. More transactions recorded
222
+ *
223
+ * @param primaryStages - Primary stage array (typically from governor/election)
224
+ * @param secondaryStages - Secondary stages to merge (typically from timelock)
225
+ * @returns Merged array with duplicates resolved
226
+ */
227
+ function mergeStages(primaryStages, secondaryStages) {
228
+ const STATUS_PRIORITY = {
229
+ COMPLETED: 5,
230
+ FAILED: 4,
231
+ CANCELED: 4,
232
+ READY: 3,
233
+ PENDING: 2,
234
+ SKIPPED: 1,
235
+ NOT_STARTED: 0,
236
+ };
237
+ const stageMap = new Map();
238
+ // Add primary stages first
239
+ for (const stage of primaryStages) {
240
+ stageMap.set(stage.type, stage);
241
+ }
242
+ // Merge secondary stages, keeping the one with more progress
243
+ for (const stage of secondaryStages) {
244
+ const existing = stageMap.get(stage.type);
245
+ if (!existing) {
246
+ stageMap.set(stage.type, stage);
247
+ continue;
248
+ }
249
+ const existingPriority = STATUS_PRIORITY[existing.status];
250
+ const newPriority = STATUS_PRIORITY[stage.status];
251
+ // Prefer higher status, or more transactions if same status
252
+ if (newPriority > existingPriority ||
253
+ (newPriority === existingPriority && stage.transactions.length > existing.transactions.length)) {
254
+ stageMap.set(stage.type, stage);
255
+ }
256
+ }
257
+ return Array.from(stageMap.values());
258
+ }
259
+ /**
260
+ * Normalize stages into canonical pipeline order.
261
+ *
262
+ * Sorts stages by their natural execution order in the governance pipeline.
263
+ * Useful after merging stages from multiple sources.
264
+ *
265
+ * @param stages - Array of stages in any order
266
+ * @returns Stages sorted in canonical order
267
+ */
268
+ function normalizeTimeline(stages) {
269
+ return [...stages].sort((a, b) => STAGE_ORDER[a.type] - STAGE_ORDER[b.type]);
270
+ }
194
271
  /**
195
272
  * Check if stages have any timelock progress (for determining if we need linked checkpoint).
196
273
  * Returns true if any timelock path stage has been started.
@@ -270,27 +347,67 @@ function needsAction(stages) {
270
347
  * Get summary of stage statuses (single pass)
271
348
  */
272
349
  function getTrackingStatusSummary(stages) {
273
- let completed = 0, pending = 0, ready = 0, failed = 0, skipped = 0;
274
- for (const stage of stages) {
275
- switch (stage.status) {
276
- case "COMPLETED":
277
- completed++;
278
- break;
279
- case "PENDING":
280
- pending++;
281
- break;
282
- case "READY":
283
- ready++;
284
- break;
285
- case "FAILED":
286
- failed++;
287
- break;
288
- case "SKIPPED":
289
- skipped++;
290
- break;
291
- }
350
+ const counts = { completed: 0, pending: 0, ready: 0, failed: 0, skipped: 0 };
351
+ const statusKey = {
352
+ COMPLETED: "completed",
353
+ PENDING: "pending",
354
+ READY: "ready",
355
+ FAILED: "failed",
356
+ SKIPPED: "skipped",
357
+ };
358
+ for (const { status } of stages) {
359
+ const key = statusKey[status];
360
+ if (key)
361
+ counts[key]++;
292
362
  }
293
- return { total: stages.length, completed, pending, ready, failed, skipped };
363
+ return { total: stages.length, ...counts };
364
+ }
365
+ /**
366
+ * Get the current lifecycle phase from tracked stages.
367
+ *
368
+ * @param stages - Array of tracked stages
369
+ * @returns The current lifecycle phase
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * const phase = getLifecyclePhase(result.stages);
374
+ * if (phase === "l1_delay") {
375
+ * console.log("Waiting for L1 timelock delay...");
376
+ * }
377
+ * ```
378
+ */
379
+ function getLifecyclePhase(stages) {
380
+ if (stages.length === 0)
381
+ return "unknown";
382
+ if (stages.some((s) => s.status === "FAILED"))
383
+ return "failed";
384
+ if (areAllStagesComplete(stages))
385
+ return "executed";
386
+ const stageMap = new Map(stages.map((s) => [s.type, s]));
387
+ const isComplete = (type) => isStageSuccess(stageMap.get(type)?.status);
388
+ const isWaiting = (type) => {
389
+ const status = stageMap.get(type)?.status;
390
+ return status === "PENDING" || status === "READY" || status === "NOT_STARTED";
391
+ };
392
+ // Governor path
393
+ if (stageMap.has("VOTING_ACTIVE") && isWaiting("VOTING_ACTIVE"))
394
+ return "voting";
395
+ if (stageMap.has("PROPOSAL_QUEUED") && isWaiting("PROPOSAL_QUEUED"))
396
+ return "queued";
397
+ // Timelock path
398
+ if (stageMap.has("L2_TIMELOCK") && isWaiting("L2_TIMELOCK"))
399
+ return "l2_delay";
400
+ if (stageMap.has("L2_TO_L1_MESSAGE") && isWaiting("L2_TO_L1_MESSAGE"))
401
+ return "bridging";
402
+ if (stageMap.has("L1_TIMELOCK") && isWaiting("L1_TIMELOCK"))
403
+ return "l1_delay";
404
+ if (stageMap.has("RETRYABLE_EXECUTED") && isWaiting("RETRYABLE_EXECUTED"))
405
+ return "finalizing";
406
+ // L2-only path: L2 timelock complete, remaining stages skipped
407
+ if (isComplete("L2_TIMELOCK") && stageMap.get("L2_TO_L1_MESSAGE")?.status === "SKIPPED") {
408
+ return "executed";
409
+ }
410
+ return "unknown";
294
411
  }
295
412
  /**
296
413
  * Extract the operationId from tracked stages.
@@ -335,6 +452,44 @@ function isConstitutional(governorOrTimelockAddress) {
335
452
  constants_1.ADDRESSES.L2_CONSTITUTIONAL_TIMELOCK,
336
453
  ]);
337
454
  }
455
+ /**
456
+ * Derive the OZ Governor `ProposalState` from a list of tracked stages.
457
+ *
458
+ * The `VOTING_ACTIVE` stage captures `proposalState` as a snapshot when voting
459
+ * ends — so it freezes at `"Queued"` once the proposal is queued and never
460
+ * advances to `"Executed"` even after the timelock finishes. This helper
461
+ * supersedes that snapshot for post-voting progression by reading the actual
462
+ * stage statuses.
463
+ *
464
+ * The caller should pass the merged stage set (parent + linked timelock) so
465
+ * that the full lifecycle is visible.
466
+ *
467
+ * @param stages - Merged tracked stages (parent + any linked timelock stages)
468
+ * @param fallback - State to return when stages can't determine the phase yet
469
+ * (typically the voting snapshot). Used for pre-queue phases
470
+ * (`Pending` / `Active`) which live only in the voting data.
471
+ * @returns The best-known `ProposalState` or the fallback.
472
+ */
473
+ function deriveProposalState(stages, fallback) {
474
+ if (stages.length === 0)
475
+ return fallback;
476
+ const byType = new Map(stages.map((s) => [s.type, s]));
477
+ const statusOf = (t) => byType.get(t)?.status;
478
+ const isSuccess = (t) => isStageSuccess(statusOf(t));
479
+ if (isSuccess("RETRYABLE_EXECUTED"))
480
+ return "Executed";
481
+ if (isSuccess("L2_TIMELOCK") && statusOf("L2_TO_L1_MESSAGE") === "SKIPPED")
482
+ return "Executed";
483
+ if (stages.some((s) => s.status === "CANCELED"))
484
+ return "Canceled";
485
+ if (statusOf("VOTING_ACTIVE") === "FAILED")
486
+ return "Defeated";
487
+ if (isSuccess("PROPOSAL_QUEUED"))
488
+ return "Queued";
489
+ if (isSuccess("VOTING_ACTIVE"))
490
+ return "Succeeded";
491
+ return fallback;
492
+ }
338
493
  /** Timelock stage types (consolidated stages that require execution) */
339
494
  exports.TIMELOCK_STAGE_TYPES = ["L2_TIMELOCK", "L1_TIMELOCK"];
340
495
  /**
@@ -400,8 +555,8 @@ async function checkOperationReady(timelockAddress, operationId, provider) {
400
555
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationReady", [operationId]),
401
556
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationDone", [operationId]),
402
557
  ]);
403
- const isReady = results[0];
404
- const isDone = results[1];
558
+ const isReady = results[0] ?? false;
559
+ const isDone = results[1] ?? false;
405
560
  if (isReady)
406
561
  return null; // Ready - no error
407
562
  if (isDone) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgCH,8BAYC;AAGD,kCAQC;AAkFD,4DASC;AAaD,0EAIC;AAkBD,kDAEC;AAWD,kCAOC;AAMD,kDAEC;AAKD,8BAEC;AAKD,8CAKC;AASD,0CAEC;AAKD,wCAEC;AAKD,0CAOC;AAKD,oDAEC;AAKD,kDAEC;AAKD,0DAEC;AAWD,kCAEC;AAKD,4DAmCC;AAWD,gDAWC;AAmBD,4CAKC;AAQD,0CAEC;AAcD,8CAsBC;AAQD,sEAOC;AAUD,kCAEC;AAMD,kDAmBC;AAmBD,0DA8BC;AAGD,0DAKC;AAGD,oDAcC;AAGD,8DAUC;AAYD,0DAaC;AAaD,4CAKC;AAED,0CAEC;AAED,kEAOC;AAED,gEAMC;AAOD,gFA+CC;AArqBD,mCAA2C;AAC3C,oCAakB;AAClB,kCAA4C;AAC5C,4CAAyC;AACzC,0CAA6C;AAC7C,kDAAoD;AACpD,kDAA+D;AAC/D,uCAAyC;AACzC,wEAAwE;AAExE,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAE1E,iFAAiF;AACjF,SAAgB,SAAS,CAAI,IAAO,EAAE,YAA+B;IACnE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1B,GAAG;gBACH,OAAQ,GAA8B,CAAC,QAAQ,KAAK,UAAU;gBAC5D,CAAC,CAAE,GAAkC,CAAC,QAAQ,EAAE;gBAChD,CAAC,CAAC,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,SAAgB,WAAW,CAAI,IAAO,EAAE,YAA+B;IACrE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AAC7C,MAAM,0BAA0B,GAAG,CAAC,IAAuB,EAA+B,EAAE,CACjG,SAAS,CAAC,IAAI,EAAE,4BAA4B,CAA2C,CAAC;AAD7E,QAAA,0BAA0B,8BACmD;AAE1F,uDAAuD;AAChD,MAAM,4BAA4B,GAAG,CAC1C,IAAiC,EACd,EAAE,CACrB,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAiC,CAAC;AAHrE,QAAA,4BAA4B,gCAGyC;AAElF,oCAAoC;AAC7B,MAAM,+BAA+B,GAAG,CAAC,IAAyB,EAAE,EAAE,CAC3E,IAAI,CAAC,GAAG,CAAC,kCAA0B,CAAC,CAAC;AAD1B,QAAA,+BAA+B,mCACL;AAChC,MAAM,iCAAiC,GAAG,CAAC,IAAmC,EAAE,EAAE,CACvF,IAAI,CAAC,GAAG,CAAC,oCAA4B,CAAC,CAAC;AAD5B,QAAA,iCAAiC,qCACL;AAEzC,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,WAAW,CAClB,IAAe,EACf,KAAY,EACZ,SAAsB,aAAa;IAEnC,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IACtC,0EAA0E;IAC1E,uEAAuE;IACvE,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO;QACP,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;KACF,CAAC;AACpB,CAAC;AAED,iDAAiD;AACjD,MAAM,sBAAsB,GAAgB;IAC1C,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,oBAAoB;CACrB,CAAC;AAEF,oDAAoD;AACpD,MAAM,oBAAoB,GAAgB;IACxC,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,GAAG,sBAAsB;CAC1B,CAAC;AAEF,mDAAmD;AACnD,MAAM,oBAAoB,GAAgB,sBAAsB,CAAC;AAEjE,gDAAgD;AAChD,MAAM,eAAe,GAAgB;IACnC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,GAAG,sBAAsB;CAC1B,CAAC;AAOF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAkB;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,8CAA8C;AAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAY,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5E,6EAA6E;AACtE,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAS,EAAE,CACzD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AAD/B,QAAA,gBAAgB,oBACe;AAE5C,SAAgB,+BAA+B,CAAC,IAAkB;IAChE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,WAAW,CAAC,IAAI,EAAE,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,oFAAoF;AACpF,MAAM,oBAAoB,GAAmB,IAAI,GAAG,CAAC;IACnD,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,oBAAoB;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,IAAe;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAIhD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,MAAsB,EAAE,IAAe;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,YAA0B;IAE1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA+B;IAC5D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAsB;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAsB;IACzD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAChD,OAAO,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,MAAsB;IAQ7D,IAAI,SAAS,GAAG,CAAC,EACf,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,SAAS,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,yEAAyE;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAAC,yBAAiC;IAChE,OAAO,IAAA,mBAAW,EAAC,yBAAyB,EAAE;QAC5C,qBAAS,CAAC,uBAAuB;QACjC,qBAAS,CAAC,0BAA0B;KACrC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AAC3D,QAAA,oBAAoB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAC;AAE5E;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAwB;IACtD,OAAQ,4BAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,yEAAyE;AACzE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAkD,CAAC;AAE1F;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,QAAmC;IAEnC,IAAI,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,YAAoB,EACpB,QAAmC;IAEnC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,SAAS,GAAG,YAAY,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,eAAuB,EACvB,WAAmB,EACnB,QAAmC;IAEnC,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAS,EAAC,QAAQ,EAAE;QACxC,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,kBAAkB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9F,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAC;KAC9F,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAY,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAY,CAAC;IAErC,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAC7D,CAAC;AAgBD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAmB;IACzD,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,4BAAoB,EAAE,CAAC;QAC7C,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,MAAM;IACvB,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,yCAAiC,EAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEzF,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,iBAAiB;KAClB,CAAC;IAEF,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;QACzC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QAClE,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2DAA2D;AAC3D,SAAgB,uBAAuB,CAAC,aAA4B;IAClE,OAAO,CACL,aAAa,CAAC,gBAAgB;QAC9B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,cAA8B,EAC9B,QAAmC;IAEnC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,6BAA6B,CAClC,aAAa,CAAC,aAAa,CAAC,WAAW,EACvC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC5C,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,iEAAiE;AACjE,SAAgB,yBAAyB,CACvC,eAAuB,EACvB,WAAmB,EACnB,gBAAqC;IAErC,MAAM,OAAO,GAA4B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC1E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,IAAA,uCAA+B,EAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,sEAAsE;AACtE,SAAgB,uBAAuB,CACrC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,WAAW,CAChB,0BAA0B,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,gBAAgB,CAC9B,KAAa,EACb,WAAc;IAEd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAgB,2BAA2B,CACzC,KAAmB,EACnB,WAAc,EACd,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,8DAA8D;AACvD,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,eAAuB,EACvB,WAAmB,EACnB,QAAmC,EACnC,KAAY,EACZ,SAAiB,EACjB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAA,0CAAqB,EAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;QAChF,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;SACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAChB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;QACtC,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;YACnD,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,UAAU;SACxB,CAAC;aACD,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC;aACtD,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,cAAc,EAAE,KAAK,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;aACX,MAAM,CAAC,WAAW,CAAC;aACnB,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aAC5E,KAAK,EAAE;QACV,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiCH,8BAYC;AAGD,kCAQC;AAkFD,4DASC;AAaD,0EAIC;AAaD,kDAEC;AAWD,kCAOC;AAqCD,kCA0CC;AAWD,8CAEC;AAMD,kDAEC;AAKD,8BAEC;AAKD,8CAKC;AASD,0CAEC;AAKD,wCAEC;AAKD,0CAOC;AAKD,oDAEC;AAKD,kDAEC;AAKD,0DAEC;AAWD,kCAEC;AAKD,4DAqBC;AAyCD,8CA6BC;AAWD,gDAWC;AAmBD,4CAKC;AAoBD,kDAkBC;AAQD,0CAEC;AAcD,8CAsBC;AAQD,sEAOC;AAUD,kCAEC;AAMD,kDAmBC;AAmBD,0DA8BC;AAGD,0DAKC;AAGD,oDAcC;AAGD,8DAUC;AAYD,0DAaC;AAaD,4CAKC;AAED,0CAEC;AAED,kEAOC;AAED,gEAMC;AAOD,gFA+CC;AA31BD,mCAA2C;AAC3C,oCAckB;AAClB,kCAA4C;AAC5C,4CAAyC;AACzC,0CAA6C;AAC7C,kDAAoD;AACpD,kDAA+D;AAC/D,uCAAyC;AACzC,wEAAwE;AAExE,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAE1E,iFAAiF;AACjF,SAAgB,SAAS,CAAI,IAAO,EAAE,YAA+B;IACnE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1B,GAAG;gBACH,OAAQ,GAA8B,CAAC,QAAQ,KAAK,UAAU;gBAC5D,CAAC,CAAE,GAAkC,CAAC,QAAQ,EAAE;gBAChD,CAAC,CAAC,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,SAAgB,WAAW,CAAI,IAAO,EAAE,YAA+B;IACrE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AAC7C,MAAM,0BAA0B,GAAG,CAAC,IAAuB,EAA+B,EAAE,CACjG,SAAS,CAAC,IAAI,EAAE,4BAA4B,CAA2C,CAAC;AAD7E,QAAA,0BAA0B,8BACmD;AAE1F,uDAAuD;AAChD,MAAM,4BAA4B,GAAG,CAC1C,IAAiC,EACd,EAAE,CACrB,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAiC,CAAC;AAHrE,QAAA,4BAA4B,gCAGyC;AAElF,oCAAoC;AAC7B,MAAM,+BAA+B,GAAG,CAAC,IAAyB,EAAE,EAAE,CAC3E,IAAI,CAAC,GAAG,CAAC,kCAA0B,CAAC,CAAC;AAD1B,QAAA,+BAA+B,mCACL;AAChC,MAAM,iCAAiC,GAAG,CAAC,IAAmC,EAAE,EAAE,CACvF,IAAI,CAAC,GAAG,CAAC,oCAA4B,CAAC,CAAC;AAD5B,QAAA,iCAAiC,qCACL;AAEzC,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,WAAW,CAClB,IAAe,EACf,KAAY,EACZ,SAAsB,aAAa;IAEnC,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IACtC,0EAA0E;IAC1E,uEAAuE;IACvE,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO;QACP,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;KACF,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,MAAM,sBAAsB,GAAyB;IACnD,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,oBAAoB;CACZ,CAAC;AAEX,oDAAoD;AACpD,MAAM,oBAAoB,GAAyB;IACjD,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,GAAG,sBAAsB;CACjB,CAAC;AAEX,mDAAmD;AACnD,MAAM,oBAAoB,GAAyB,sBAAsB,CAAC;AAE1E,gDAAgD;AAChD,MAAM,eAAe,GAAyB;IAC5C,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,GAAG,sBAAsB;CACjB,CAAC;AAOX;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAkB;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,8CAA8C;AAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAY,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5E,6EAA6E;AACtE,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAS,EAAE,CACzD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AAD/B,QAAA,gBAAgB,oBACe;AAE5C,SAAgB,+BAA+B,CAAC,IAAkB;IAChE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,WAAW,CAAC,IAAI,EAAE,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,0EAA0E;AAC1E,MAAM,oBAAoB,GAA2B,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAErF;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,IAAe;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAIhD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW,GAA8B;IAC7C,gBAAgB;IAChB,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;IAClB,gBAAgB;IAChB,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,uBAAuB;IACvB,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,EAAE;IACf,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,WAAW,CACzB,aAA6B,EAC7B,eAA+B;IAE/B,MAAM,eAAe,GAAgC;QACnD,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,2BAA2B;IAC3B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElD,4DAA4D;QAC5D,IACE,WAAW,GAAG,gBAAgB;YAC9B,CAAC,WAAW,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAC9F,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,MAAsB;IACtD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,MAAsB,EAAE,IAAe;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,YAA0B;IAE1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA+B;IAC5D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAsB;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAsB;IACzD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAChD,OAAO,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,MAAsB;IAQ7D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAwC;QACrD,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC7C,CAAC;AA2BD;;;;;;;;;;;;;GAaG;AACH,SAAgB,iBAAiB,CAAC,MAAsB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/D,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAEpD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC1C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC;IAChF,CAAC,CAAC;IAEF,gBAAgB;IAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjF,IAAI,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC;QAAE,OAAO,QAAQ,CAAC;IAErF,gBAAgB;IAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC;QAAE,OAAO,UAAU,CAAC;IACzF,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,oBAAoB,CAAC;QAAE,OAAO,YAAY,CAAC;IAE/F,+DAA+D;IAC/D,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,yEAAyE;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAAC,yBAAiC;IAChE,OAAO,IAAA,mBAAW,EAAC,yBAAyB,EAAE;QAC5C,qBAAS,CAAC,uBAAuB;QACjC,qBAAS,CAAC,0BAA0B;KACrC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,mBAAmB,CACjC,MAAsB,EACtB,QAAwB;IAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,SAAS,CAAC,oBAAoB,CAAC;QAAE,OAAO,UAAU,CAAC;IACvD,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,kBAAkB,CAAC,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC9F,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACnE,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC;IAC9D,IAAI,SAAS,CAAC,iBAAiB,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,SAAS,CAAC,eAAe,CAAC;QAAE,OAAO,WAAW,CAAC;IAEnD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AAC3D,QAAA,oBAAoB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAC;AAE5E;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAwB;IACtD,OAAQ,4BAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,yEAAyE;AACzE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAkD,CAAC;AAE1F;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,QAAmC;IAEnC,IAAI,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,YAAoB,EACpB,QAAmC;IAEnC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,SAAS,GAAG,YAAY,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,eAAuB,EACvB,WAAmB,EACnB,QAAmC;IAEnC,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAS,EAAC,QAAQ,EAAE;QACxC,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,kBAAkB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9F,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAC;KAC9F,CAAC,CAAC;IAEH,MAAM,OAAO,GAAI,OAAO,CAAC,CAAC,CAAyB,IAAI,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAI,OAAO,CAAC,CAAC,CAAyB,IAAI,KAAK,CAAC;IAE5D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAC7D,CAAC;AAgBD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAmB;IACzD,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,4BAAoB,EAAE,CAAC;QAC7C,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,MAAM;IACvB,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,yCAAiC,EAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEzF,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,iBAAiB;KAClB,CAAC;IAEF,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;QACzC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QAClE,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2DAA2D;AAC3D,SAAgB,uBAAuB,CAAC,aAA4B;IAClE,OAAO,CACL,aAAa,CAAC,gBAAgB;QAC9B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,cAA8B,EAC9B,QAAmC;IAEnC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,6BAA6B,CAClC,aAAa,CAAC,aAAa,CAAC,WAAW,EACvC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC5C,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,iEAAiE;AACjE,SAAgB,yBAAyB,CACvC,eAAuB,EACvB,WAAmB,EACnB,gBAAqC;IAErC,MAAM,OAAO,GAA4B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC1E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,IAAA,uCAA+B,EAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,sEAAsE;AACtE,SAAgB,uBAAuB,CACrC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,WAAW,CAChB,0BAA0B,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,gBAAgB,CAC9B,KAAa,EACb,WAAc;IAEd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAgB,2BAA2B,CACzC,KAAmB,EACnB,WAAc,EACd,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,8DAA8D;AACvD,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,eAAuB,EACvB,WAAmB,EACnB,QAAmC,EACnC,KAAY,EACZ,SAAiB,EACjB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAA,0CAAqB,EAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;QAChF,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;SACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAChB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;QACtC,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;YACnD,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,UAAU;SACxB,CAAC;aACD,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC;aACtD,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,cAAc,EAAE,KAAK,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;aACX,MAAM,CAAC,WAAW,CAAC;aACnB,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aAC5E,KAAK,EAAE;QACV,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Bundled Cache Extraction Utilities
3
+ *
4
+ * Type-safe utilities for extracting data from the bundled cache JSON.
5
+ * These eliminate the need for consumers to parse checkpoint internals.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
10
+ * import { extractProposals, getWatermarksFromCache } from "@gzeoneth/gov-tracker";
11
+ *
12
+ * const proposals = extractProposals(bundledCache);
13
+ * const watermarks = getWatermarksFromCache(bundledCache);
14
+ * ```
15
+ */
16
+ import type { TrackingCheckpoint, TrackedStage, TimelockLink, DiscoveryWatermarks, VotingActiveData, ProposalState } from "../types";
17
+ /**
18
+ * Type for the bundled cache JSON structure
19
+ */
20
+ export type BundledCache = Record<string, TrackingCheckpoint>;
21
+ /**
22
+ * Extracted proposal metadata from a checkpoint
23
+ */
24
+ export interface ExtractedProposal {
25
+ cacheKey: string;
26
+ proposalId: string;
27
+ governorAddress: string;
28
+ creationTxHash: string;
29
+ stages: TrackedStage[];
30
+ isComplete: boolean;
31
+ timelockLink?: TimelockLink;
32
+ currentState?: ProposalState;
33
+ operationId?: string;
34
+ }
35
+ /**
36
+ * Extracted timelock operation metadata from a checkpoint
37
+ */
38
+ export interface ExtractedTimelockOp {
39
+ cacheKey: string;
40
+ timelockAddress: string;
41
+ operationId: string;
42
+ scheduledTxHash: string;
43
+ stages: TrackedStage[];
44
+ isComplete: boolean;
45
+ }
46
+ /**
47
+ * Extracted election metadata from a checkpoint
48
+ */
49
+ export interface ExtractedElection {
50
+ cacheKey: string;
51
+ electionIndex: number;
52
+ stages: TrackedStage[];
53
+ phase?: string;
54
+ isComplete: boolean;
55
+ }
56
+ /**
57
+ * Extract proposal metadata from bundled cache
58
+ *
59
+ * Filters to governor-type checkpoints (excludes elections, timelocks, discovery).
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
64
+ * const proposals = extractProposals(bundledCache);
65
+ *
66
+ * for (const p of proposals) {
67
+ * console.log(`Proposal ${p.proposalId}: ${p.isComplete ? "done" : "active"}`);
68
+ * }
69
+ * ```
70
+ */
71
+ export declare function extractProposals(cache: BundledCache): ExtractedProposal[];
72
+ /**
73
+ * Extract timelock operation metadata from bundled cache
74
+ *
75
+ * Filters to timelock-type checkpoints only.
76
+ */
77
+ export declare function extractTimelockOps(cache: BundledCache): ExtractedTimelockOp[];
78
+ /**
79
+ * Extract election metadata from bundled cache
80
+ *
81
+ * Filters to election-type checkpoints only.
82
+ */
83
+ export declare function extractElections(cache: BundledCache): ExtractedElection[];
84
+ /**
85
+ * Get discovery watermarks from bundled cache
86
+ *
87
+ * Returns the watermarks stored in the discovery:watermarks checkpoint.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
92
+ * const watermarks = getWatermarksFromCache(bundledCache);
93
+ *
94
+ * if (watermarks) {
95
+ * console.log("Core Governor scanned to block:", watermarks.constitutionalGovernor);
96
+ * }
97
+ * ```
98
+ */
99
+ export declare function getWatermarksFromCache(cache: BundledCache): DiscoveryWatermarks | null;
100
+ /**
101
+ * Extract all operation IDs from governor checkpoints
102
+ *
103
+ * Returns a Map of proposalId -> operationId for all proposals that have
104
+ * been queued in a timelock.
105
+ *
106
+ * @param cache - The bundled cache object to extract from
107
+ * @returns Map of proposalId to operationId for queued proposals
108
+ */
109
+ export declare function extractOperationIds(cache: BundledCache): Map<string, string>;
110
+ /**
111
+ * Extract TimelockLink from stages array
112
+ *
113
+ * Helper to get timelock link data from completed PROPOSAL_QUEUED stage.
114
+ *
115
+ * @param stages - Array of tracked stages from a proposal
116
+ * @returns TimelockLink if PROPOSAL_QUEUED stage is complete, undefined otherwise
117
+ */
118
+ export declare function extractTimelockLinkFromStages(stages: TrackedStage[]): TimelockLink | undefined;
119
+ /**
120
+ * Get voting data from stages array
121
+ *
122
+ * Extracts typed vote counts and proposal state from VOTING_ACTIVE stage.
123
+ *
124
+ * @param stages - Array of tracked stages from a proposal
125
+ * @returns VotingActiveData if VOTING_ACTIVE stage exists, null otherwise
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const votingData = getVotingDataFromStages(result.stages);
130
+ * if (votingData) {
131
+ * console.log(`For: ${votingData.forVotesRaw}, Against: ${votingData.againstVotesRaw}`);
132
+ * }
133
+ * ```
134
+ */
135
+ export declare function getVotingDataFromStages(stages: TrackedStage[]): VotingActiveData | null;
136
+ //# sourceMappingURL=bundled-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled-cache.d.ts","sourceRoot":"","sources":["../../src/tracker/bundled-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAKnB,gBAAgB,EAChB,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CA+CzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,EAAE,CAoB7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAoBzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,GAAG,IAAI,CAKtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,SAAS,CAa9F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAMvF"}