@agg-build/sdk 4.26.0 → 4.27.2
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/agg-websocket-CK2iXfti.mjs +1427 -0
- package/dist/agg-websocket-CK2iXfti.mjs.map +1 -0
- package/dist/agg-websocket-DJbIfxKb.js +1478 -0
- package/dist/agg-websocket-DoUDmsvW.d.mts +6009 -0
- package/dist/agg-websocket-DoUDmsvW.d.mts.map +1 -0
- package/dist/agg-websocket-DoUDmsvW.d.ts +6009 -0
- package/dist/agg-websocket-DoUDmsvW.d.ts.map +1 -0
- package/dist/browser.d.mts +67 -66
- package/dist/browser.d.mts.map +1 -0
- package/dist/browser.d.ts +67 -66
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +720 -2173
- package/dist/browser.mjs +423 -799
- package/dist/browser.mjs.map +1 -0
- package/dist/candle-builder-BNewIe9K.mjs +148 -0
- package/dist/candle-builder-BNewIe9K.mjs.map +1 -0
- package/dist/candle-builder-BULYdxB4.js +151 -0
- package/dist/index.d.mts +2 -1349
- package/dist/index.d.ts +2 -1349
- package/dist/index.js +2794 -4808
- package/dist/index.mjs +2788 -2512
- package/dist/index.mjs.map +1 -0
- package/dist/market-data.d.mts +6 -6
- package/dist/market-data.d.mts.map +1 -0
- package/dist/market-data.d.ts +6 -6
- package/dist/market-data.d.ts.map +1 -0
- package/dist/market-data.js +314 -1900
- package/dist/market-data.mjs +314 -350
- package/dist/market-data.mjs.map +1 -0
- package/dist/server.d.mts +235 -234
- package/dist/server.d.mts.map +1 -0
- package/dist/server.d.ts +235 -234
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +168 -296
- package/dist/server.mjs +163 -234
- package/dist/server.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/agg-websocket-x_U4-orL.d.mts +0 -4598
- package/dist/agg-websocket-x_U4-orL.d.ts +0 -4598
- package/dist/chunk-CPMSVNBO.mjs +0 -2199
- package/dist/chunk-VD5UTAVD.mjs +0 -158
- package/dist/chunk-WNQUEZJF.mjs +0 -58
package/dist/server.d.ts
CHANGED
|
@@ -1,263 +1,264 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
//#region src/server.d.ts
|
|
2
|
+
export interface ExternalIdAssertion {
|
|
3
|
+
externalId: string;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
hmac: string;
|
|
5
6
|
}
|
|
6
|
-
declare function signExternalId(appSecret: string, externalId: string): ExternalIdAssertion;
|
|
7
|
-
declare class WebhookVerificationError extends Error {
|
|
8
|
-
|
|
7
|
+
export declare function signExternalId(appSecret: string, externalId: string): ExternalIdAssertion;
|
|
8
|
+
export declare class WebhookVerificationError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
9
10
|
}
|
|
10
|
-
interface VerifyWebhookOptions {
|
|
11
|
-
|
|
11
|
+
export interface VerifyWebhookOptions {
|
|
12
|
+
toleranceSeconds?: number;
|
|
12
13
|
}
|
|
13
|
-
declare function verifyWebhook(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): void;
|
|
14
|
-
declare function parseWebhookEvent(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): WebhookEvent;
|
|
14
|
+
export declare function verifyWebhook(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): void;
|
|
15
|
+
export declare function parseWebhookEvent(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): WebhookEvent;
|
|
15
16
|
/**
|
|
16
17
|
* Async, edge-runtime-friendly variant of {@link verifyWebhook}. Same
|
|
17
18
|
* Svix v1 signing scheme. Use this in Cloudflare Workers / Vercel Edge /
|
|
18
19
|
* Deno / Bun. The sync variant remains available for Node.js consumers.
|
|
19
20
|
*/
|
|
20
|
-
declare function verifyWebhookAsync(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): Promise<void>;
|
|
21
|
+
export declare function verifyWebhookAsync(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): Promise<void>;
|
|
21
22
|
/**
|
|
22
23
|
* Async, edge-runtime-friendly variant of {@link parseWebhookEvent}.
|
|
23
24
|
*/
|
|
24
|
-
declare function parseWebhookEventAsync(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): Promise<WebhookEvent>;
|
|
25
|
+
export declare function parseWebhookEventAsync(payload: string, headers: Record<string, string | string[] | undefined>, secret: string, options?: VerifyWebhookOptions): Promise<WebhookEvent>;
|
|
25
26
|
interface WebhookEventBase {
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
id: string;
|
|
28
|
+
createdAt: string;
|
|
28
29
|
}
|
|
29
|
-
interface AccountsCreatedEvent extends WebhookEventBase {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
export interface AccountsCreatedEvent extends WebhookEventBase {
|
|
31
|
+
type: "accounts.created";
|
|
32
|
+
data: {
|
|
33
|
+
userId: string;
|
|
34
|
+
appId: string;
|
|
35
|
+
createdAt: string;
|
|
36
|
+
email: string | null;
|
|
37
|
+
};
|
|
37
38
|
}
|
|
38
|
-
interface AccountsLinkedEvent extends WebhookEventBase {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
export interface AccountsLinkedEvent extends WebhookEventBase {
|
|
40
|
+
type: "accounts.linked";
|
|
41
|
+
data: {
|
|
42
|
+
userId: string;
|
|
43
|
+
externalId: string;
|
|
44
|
+
linkedAt: string;
|
|
45
|
+
};
|
|
45
46
|
}
|
|
46
|
-
interface WalletsReadyEvent extends WebhookEventBase {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
export interface WalletsReadyEvent extends WebhookEventBase {
|
|
48
|
+
type: "wallets.ready";
|
|
49
|
+
data: {
|
|
50
|
+
userId: string;
|
|
51
|
+
evmAddress: string;
|
|
52
|
+
svmAddress: string;
|
|
53
|
+
createdAt: string;
|
|
54
|
+
};
|
|
54
55
|
}
|
|
55
|
-
interface TradesPlacedEvent extends WebhookEventBase {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
56
|
+
export interface TradesPlacedEvent extends WebhookEventBase {
|
|
57
|
+
type: "trades.placed";
|
|
58
|
+
data: {
|
|
59
|
+
orderId: string;
|
|
60
|
+
userId: string;
|
|
61
|
+
side: string;
|
|
62
|
+
timestamp: string;
|
|
63
|
+
/** Your trade id from `POST /execution/orders`, or `null` if the trade did not carry one. */
|
|
64
|
+
externalId: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Never emitted by the server in 1.x — the SDK type lied
|
|
67
|
+
* here for several releases. Reads always return `undefined`. The field
|
|
68
|
+
* is retained as `undefined`-typed for one minor release so existing
|
|
69
|
+
* partner code that destructures it keeps compiling; remove in 2.0.
|
|
70
|
+
*/
|
|
71
|
+
venue?: undefined;
|
|
72
|
+
/** @deprecated See `venue`. */
|
|
73
|
+
venueMarketId?: undefined;
|
|
74
|
+
};
|
|
74
75
|
}
|
|
75
|
-
interface TradesFilledEvent extends WebhookEventBase {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
76
|
+
export interface TradesFilledEvent extends WebhookEventBase {
|
|
77
|
+
type: "trades.filled";
|
|
78
|
+
data: {
|
|
79
|
+
orderId: string;
|
|
80
|
+
userId: string;
|
|
81
|
+
status: string;
|
|
82
|
+
timestamp: string;
|
|
83
|
+
/** Your trade id from `POST /execution/orders`, or `null` if the trade did not carry one. */
|
|
84
|
+
externalId: string | null;
|
|
85
|
+
/**
|
|
86
|
+
* Post-execution accuracy data. All `*Raw` values are decimal strings in
|
|
87
|
+
* 6-decimal atomic units. `*PriceRaw` are decimal strings (e.g. "0.5").
|
|
88
|
+
* `partialFillReason` is set only on `status === "partial_fill"`.
|
|
89
|
+
*/
|
|
90
|
+
filledAmountRaw?: string;
|
|
91
|
+
quotedSharesRaw?: string;
|
|
92
|
+
actualSharesRaw?: string;
|
|
93
|
+
quotedToWinRaw?: string;
|
|
94
|
+
actualToWinRaw?: string;
|
|
95
|
+
quotedPriceRaw?: string;
|
|
96
|
+
executionPriceRaw?: string;
|
|
97
|
+
partialFillReason?: string;
|
|
98
|
+
/** @deprecated See `executionPriceRaw` — never emitted; remove in 2.0. */
|
|
99
|
+
fillPrice?: undefined;
|
|
100
|
+
/** @deprecated See `actualSharesRaw` / `filledAmountRaw` — never emitted; remove in 2.0. */
|
|
101
|
+
fillSize?: undefined;
|
|
102
|
+
};
|
|
102
103
|
}
|
|
103
104
|
/**
|
|
104
105
|
* A self-custody trade's app fee reached its final state. Sent once per trade,
|
|
105
106
|
* a few seconds after `trades.filled` (the fee needs the user's second
|
|
106
107
|
* signature and an on-chain confirmation).
|
|
107
108
|
*/
|
|
108
|
-
interface TradesFeeReconciledEvent extends WebhookEventBase {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
109
|
+
export interface TradesFeeReconciledEvent extends WebhookEventBase {
|
|
110
|
+
type: "trades.fee_reconciled";
|
|
111
|
+
data: {
|
|
112
|
+
dagRunId: string;
|
|
113
|
+
quoteId: string;
|
|
114
|
+
userId: string;
|
|
115
|
+
/** Every order in the trade. The fee is charged once across all of them. */
|
|
116
|
+
orders: Array<{
|
|
117
|
+
orderId: string;
|
|
118
|
+
externalId: string | null;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* `confirmed`, `under_collected`, `failed`, `skipped_zero`, … or `none`
|
|
122
|
+
* when no fee applied to the trade.
|
|
123
|
+
*/
|
|
124
|
+
status: string;
|
|
125
|
+
/** Token-native atomic units. `"0"` when `status` is `none`. */
|
|
126
|
+
feeDueRaw: string;
|
|
127
|
+
feeCollectedRaw: string;
|
|
128
|
+
appShareRaw: string;
|
|
129
|
+
platformShareRaw: string;
|
|
130
|
+
chainId: string | null;
|
|
131
|
+
tokenSymbol: string | null;
|
|
132
|
+
tokenAddress: string | null;
|
|
133
|
+
appTxHash: string | null;
|
|
134
|
+
platformTxHash: string | null;
|
|
135
|
+
timestamp: string;
|
|
136
|
+
};
|
|
136
137
|
}
|
|
137
|
-
interface MarketsResolvedEvent extends WebhookEventBase {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
138
|
+
export interface MarketsResolvedEvent extends WebhookEventBase {
|
|
139
|
+
type: "markets.resolved";
|
|
140
|
+
data: {
|
|
141
|
+
venueMarketId: string;
|
|
142
|
+
externalIdentifier: string;
|
|
143
|
+
status: string;
|
|
144
|
+
outcomes: Array<{
|
|
145
|
+
label: string;
|
|
146
|
+
winner?: boolean;
|
|
147
|
+
externalIdentifier?: string;
|
|
148
|
+
}>;
|
|
149
|
+
affectedUsersCount: number;
|
|
150
|
+
/**
|
|
151
|
+
* Path on the AGG API where this resolution's affected users can be
|
|
152
|
+
* paginated. Combine with the configured base URL — e.g.
|
|
153
|
+
* `https://api.agg.market${detailsPath}`.
|
|
154
|
+
*/
|
|
155
|
+
detailsPath: string;
|
|
156
|
+
/**
|
|
157
|
+
* @deprecated Singular `outcome` was never emitted; use `outcomes` array.
|
|
158
|
+
* Remove in 2.0.
|
|
159
|
+
*/
|
|
160
|
+
outcome?: undefined;
|
|
161
|
+
};
|
|
161
162
|
}
|
|
162
|
-
interface DepositsConfirmedEvent extends WebhookEventBase {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
163
|
+
export interface DepositsConfirmedEvent extends WebhookEventBase {
|
|
164
|
+
type: "deposits.confirmed";
|
|
165
|
+
data: {
|
|
166
|
+
userId: string;
|
|
167
|
+
chainId: number;
|
|
168
|
+
tokenSymbol: string;
|
|
169
|
+
tokenAddress: string;
|
|
170
|
+
/** Token-native atomic units (6 decimals for USDC). */
|
|
171
|
+
amountRaw: string;
|
|
172
|
+
txHash: string;
|
|
173
|
+
fromAddress: string;
|
|
174
|
+
timestamp: string;
|
|
175
|
+
};
|
|
175
176
|
}
|
|
176
|
-
interface UnknownWebhookEvent extends WebhookEventBase {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
export interface UnknownWebhookEvent extends WebhookEventBase {
|
|
178
|
+
type: string;
|
|
179
|
+
data: Record<string, unknown>;
|
|
179
180
|
}
|
|
180
|
-
type KnownWebhookEvent = AccountsCreatedEvent | AccountsLinkedEvent | WalletsReadyEvent | TradesPlacedEvent | TradesFilledEvent | TradesFeeReconciledEvent | MarketsResolvedEvent | DepositsConfirmedEvent;
|
|
181
|
-
type WebhookEvent = KnownWebhookEvent | UnknownWebhookEvent;
|
|
182
|
-
interface AggAdminClientOptions {
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
export type KnownWebhookEvent = AccountsCreatedEvent | AccountsLinkedEvent | WalletsReadyEvent | TradesPlacedEvent | TradesFilledEvent | TradesFeeReconciledEvent | MarketsResolvedEvent | DepositsConfirmedEvent;
|
|
182
|
+
export type WebhookEvent = KnownWebhookEvent | UnknownWebhookEvent;
|
|
183
|
+
export interface AggAdminClientOptions {
|
|
184
|
+
baseUrl: string;
|
|
185
|
+
apiKey: string;
|
|
185
186
|
}
|
|
186
|
-
declare class AggAdminClient {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
187
|
+
export declare class AggAdminClient {
|
|
188
|
+
private readonly baseUrl;
|
|
189
|
+
private readonly apiKey;
|
|
190
|
+
constructor(options: AggAdminClientOptions);
|
|
191
|
+
request<T>(path: string, init?: RequestInit & {
|
|
192
|
+
query?: Record<string, string | string[] | undefined>;
|
|
193
|
+
}): Promise<T>;
|
|
194
|
+
private rawFetch;
|
|
195
|
+
private throwResponseError;
|
|
196
|
+
listUsers(appId: string, query?: {
|
|
197
|
+
limit?: number;
|
|
198
|
+
cursor?: string;
|
|
199
|
+
search?: string;
|
|
200
|
+
}): Promise<{
|
|
201
|
+
data: {
|
|
202
|
+
id: string;
|
|
203
|
+
username: string | null;
|
|
204
|
+
externalId: string | null;
|
|
205
|
+
suspended: boolean;
|
|
206
|
+
createdAt: string;
|
|
207
|
+
}[];
|
|
208
|
+
nextCursor: string | null;
|
|
209
|
+
hasMore: boolean;
|
|
210
|
+
}>;
|
|
211
|
+
getUser(appId: string, userId: string): Promise<{
|
|
212
|
+
id: string;
|
|
213
|
+
username: string | null;
|
|
214
|
+
externalId: string | null;
|
|
215
|
+
suspended: boolean;
|
|
216
|
+
createdAt: string;
|
|
217
|
+
updatedAt: string;
|
|
218
|
+
_count: {
|
|
219
|
+
orders: number;
|
|
220
|
+
};
|
|
221
|
+
}>;
|
|
222
|
+
getAnalytics(appId: string): Promise<{
|
|
223
|
+
totalUsers: number;
|
|
224
|
+
totalOrders: number;
|
|
225
|
+
ordersByStatus: Record<string, number>;
|
|
226
|
+
ordersByVenue: Record<string, number>;
|
|
227
|
+
usersLast30Days: number;
|
|
228
|
+
usersLast7Days: number;
|
|
229
|
+
ordersLast30Days: number;
|
|
230
|
+
ordersLast7Days: number;
|
|
231
|
+
}>;
|
|
232
|
+
listOrders(appId: string, query?: {
|
|
233
|
+
limit?: number;
|
|
234
|
+
cursor?: string;
|
|
235
|
+
venue?: string;
|
|
236
|
+
status?: string;
|
|
237
|
+
}): Promise<{
|
|
238
|
+
data: unknown[];
|
|
239
|
+
nextCursor: string | null;
|
|
240
|
+
hasMore: boolean;
|
|
241
|
+
}>;
|
|
242
|
+
rotateWebhookSecret(appId: string, webhookId: string): Promise<{
|
|
243
|
+
secret: string;
|
|
244
|
+
}>;
|
|
245
|
+
replayWebhookDeliveries(appId: string, webhookId: string): Promise<{
|
|
246
|
+
success: boolean;
|
|
247
|
+
}>;
|
|
248
|
+
listMarketResolutionUsers(appId: string, venueMarketId: string, query?: {
|
|
249
|
+
limit?: number;
|
|
250
|
+
cursor?: string;
|
|
251
|
+
includeEmails?: boolean;
|
|
252
|
+
}): Promise<{
|
|
253
|
+
venueMarketId: string;
|
|
254
|
+
note: string;
|
|
255
|
+
data: {
|
|
256
|
+
userId: string;
|
|
257
|
+
email?: string | null;
|
|
258
|
+
}[];
|
|
259
|
+
nextCursor: string | null;
|
|
260
|
+
hasMore: boolean;
|
|
261
|
+
}>;
|
|
261
262
|
}
|
|
262
|
-
|
|
263
|
-
|
|
263
|
+
//#endregion
|
|
264
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","names":[],"sources":["../src/server.ts"],"mappings":";iBAIiB;EACf;EACA;EACA;;wBAGc,eAAe,mBAAmB,qBAAqB;qBAyC1D,iCAAiC;EAChC,YAAA;;iBAMG;EACf;;wBAGc,cACd,iBACA,SAAS,+CACT,gBACA,UAAU;wBAmCI,kBACd,iBACA,SAAS,+CACT,gBACA,UAAU,uBACT;;;;;;wBAgBmB,mBACpB,iBACA,SAAS,+CACT,gBACA,UAAU,uBACT;;;;wBAyCmB,uBACpB,iBACA,SAAS,+CACT,gBACA,UAAU,uBACT,QAAQ;UAoBD;EACR;EACA;;iBAGe,6BAA6B;EAC5C;EACA;IAAQ;IAAgB;IAAe;IAAmB;;;iBAG3C,4BAA4B;EAC3C;EACA;IAAQ;IAAgB;IAAoB;;;iBAG7B,0BAA0B;EACzC;EACA;IACE;IACA;IACA;IACA;;;iBAIa,0BAA0B;EACzC;EACA;IACE;IACA;IACA;IACA;;IAEA;;;;;;;IAOA;;IAEA;;;iBAIa,0BAA0B;EACzC;EACA;IACE;IACA;IACA;IACA;;IAEA;;;;;;IAMA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;;IAEA;;;;;;;;iBASa,iCAAiC;EAChD;EACA;IACE;IACA;IACA;;IAEA,QAAQ;MAAQ;MAAiB;;;;;;IAKjC;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;iBAIa,6BAA6B;EAC5C;EACA;IACE;IACA;IACA;IACA,UAAU;MAAQ;MAAe;MAAkB;;IACnD;;;;;;IAMA;;;;;IAKA;;;iBAIa,+BAA+B;EAC9C;EACA;IACE;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;;iBAIa,4BAA4B;EAC3C;EACA,MAAM;;YAGI,oBACR,uBACA,sBACA,oBACA,oBACA,oBACA,2BACA,uBACA;YAEQ,eAAe,oBAAoB;iBAI9B;EACf;EACA;;qBAGW;mBACM;mBACA;EAEL,YAAA,SAAS;EAOR,QAAQ,GACnB,cACA,OAAO;IAAgB,QAAQ;MAC9B,QAAQ;UAQG;UA2BA;EAiBR,UAAU,eAAe;IAAU;IAAgB;IAAiB;MAAiB;IAEjF;MACJ;MACA;MACA;MACA;MACA;;IAEU;IACH;;EAUP,QAAQ,eAAe,iBAAc;IAEnC;IACM;IACE;IACD;IACA;IACA;IACH;MAAE;;;EAMR,aAAa,gBAAa;IAEhB;IACC;IACG,gBAAA;IACD,eAAA;IACE;IACD;IACE;IACD;;EAIf,WACJ,eACA;IAAU;IAAgB;IAAiB;IAAgB;MAAiB;IAGpE;IACM;IACH;;EAaP,oBAAoB,eAAe,oBAAiB;IAC1B;;EAK1B,wBAAwB,eAAe,oBAAiB;IAC7B;;EAO3B,0BACJ,eACA,uBACA;IAAU;IAAgB;IAAiB;MAAyB;IAGnD;IACT;IACA;MAAE;MAAgB;;IACZ;IACH"}
|