@openzeppelin/guardian-client 0.15.2 → 0.16.1

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 (42) hide show
  1. package/README.md +31 -0
  2. package/dist/conversion.d.ts.map +1 -1
  3. package/dist/conversion.js +8 -2
  4. package/dist/conversion.js.map +1 -1
  5. package/dist/error-codes.d.ts +30 -0
  6. package/dist/error-codes.d.ts.map +1 -0
  7. package/dist/error-codes.js +81 -0
  8. package/dist/error-codes.js.map +1 -0
  9. package/dist/http.d.ts +66 -10
  10. package/dist/http.d.ts.map +1 -1
  11. package/dist/http.js +156 -29
  12. package/dist/http.js.map +1 -1
  13. package/dist/index.d.ts +4 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/server-types.d.ts +17 -0
  18. package/dist/server-types.d.ts.map +1 -1
  19. package/dist/types.d.ts +38 -0
  20. package/dist/types.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/src/conversion.test.ts +53 -0
  23. package/src/conversion.ts +8 -2
  24. package/src/error-codes.test.ts +69 -0
  25. package/src/error-codes.ts +91 -0
  26. package/src/http.test.ts +234 -29
  27. package/src/http.ts +190 -29
  28. package/src/index.ts +9 -0
  29. package/src/server-types.ts +16 -1
  30. package/src/types.ts +36 -1
  31. package/dist/auth-request.test.d.ts +0 -2
  32. package/dist/auth-request.test.d.ts.map +0 -1
  33. package/dist/auth-request.test.js +0 -10
  34. package/dist/auth-request.test.js.map +0 -1
  35. package/dist/conversion.test.d.ts +0 -2
  36. package/dist/conversion.test.d.ts.map +0 -1
  37. package/dist/conversion.test.js +0 -332
  38. package/dist/conversion.test.js.map +0 -1
  39. package/dist/http.test.d.ts +0 -2
  40. package/dist/http.test.d.ts.map +0 -1
  41. package/dist/http.test.js +0 -750
  42. package/dist/http.test.js.map +0 -1
package/src/types.ts CHANGED
@@ -65,7 +65,12 @@ export type DeltaStatus =
65
65
  | { status: 'pending'; timestamp: string; proposerId: string; cosignerSigs: CosignerSignature[] }
66
66
  | { status: 'candidate'; timestamp: string }
67
67
  | { status: 'canonical'; timestamp: string }
68
- | { status: 'discarded'; timestamp: string };
68
+ /** Candidate the Guardian gave up verifying (retry exhaustion or a
69
+ * confirmed-diverged observation) but kept for background
70
+ * reconciliation (issue #345); promoted to `canonical` if the chain
71
+ * ever shows it landed, dropped after a server-side TTL otherwise. */
72
+ | { status: 'retained'; timestamp: string; reason?: 'retry_exhausted' | 'diverged' }
73
+ | { status: 'discarded'; timestamp: string; reason?: string };
69
74
 
70
75
  export type ProposalType =
71
76
  | 'add_signer'
@@ -98,6 +103,8 @@ export interface ProposalMetadata {
98
103
  recipientId?: string;
99
104
  faucetId?: string;
100
105
  amount?: string;
106
+ /** P2ID note visibility, "public" or "private" (issue #322). Absent => public. */
107
+ noteType?: string;
101
108
  }
102
109
 
103
110
  export interface DeltaObject {
@@ -187,6 +194,34 @@ export interface SignProposalRequest {
187
194
  signature: ProposalSignature;
188
195
  }
189
196
 
197
+ export interface AbandonCandidateResponse {
198
+ accountId: string;
199
+ nonce: number;
200
+ /**
201
+ * `'pending'` while the guardian's worker still has to resolve the
202
+ * abandon intent (the account stays locked until then); `'abandoned'`
203
+ * once the delta is discarded as client-abandoned and the account
204
+ * released; `'retained'` when the worker had already stopped
205
+ * verifying the candidate and released the account — unlocked, but
206
+ * the on-chain outcome is still uncertain: background reconciliation
207
+ * may promote the delta until its retention TTL expires.
208
+ */
209
+ state: 'pending' | 'abandoned' | 'retained';
210
+ /**
211
+ * RFC 3339 UTC timestamp of the recorded abandon request. Retries
212
+ * return the original timestamp; absent once resolved.
213
+ */
214
+ abandonRequestedAt?: string;
215
+ }
216
+
217
+ /**
218
+ * Resolution of an abandon request, as observed via the delta feed.
219
+ * `'retained'` means the account slot is released but the on-chain
220
+ * outcome is still uncertain — "unlocked but unresolved", never to be
221
+ * read as "the transaction did not land".
222
+ */
223
+ export type AbandonStatus = 'waiting' | 'landed' | 'abandoned' | 'retained' | 'unexpected';
224
+
190
225
  export interface PushDeltaResponse {
191
226
  accountId: string;
192
227
  nonce: number;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth-request.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-request.test.d.ts","sourceRoot":"","sources":["../src/auth-request.test.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { RequestAuthPayload } from './auth-request.js';
3
- describe('RequestAuthPayload', () => {
4
- it('canonicalizes object keys recursively', () => {
5
- const left = RequestAuthPayload.fromRequest({ b: 2, a: { y: 2, x: 1 } });
6
- const right = RequestAuthPayload.fromRequest({ a: { x: 1, y: 2 }, b: 2 });
7
- expect(left.toCanonicalJson()).toEqual(right.toCanonicalJson());
8
- });
9
- });
10
- //# sourceMappingURL=auth-request.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-request.test.js","sourceRoot":"","sources":["../src/auth-request.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=conversion.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversion.test.d.ts","sourceRoot":"","sources":["../src/conversion.test.ts"],"names":[],"mappings":""}
@@ -1,332 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { fromServerCosignerSignature, fromServerConfigureResponse, fromServerDeltaObject, fromServerDeltaStatus, fromServerProposalMetadata, fromServerStateObject, toServerConfigureRequest, toServerCosignerSignature, toServerDeltaProposalRequest, toServerDeltaStatus, toServerExecutionDelta, toServerProposalMetadata, toServerSignProposalRequest, } from './conversion.js';
3
- describe('conversion', () => {
4
- describe('fromServer conversions (server → camelCase)', () => {
5
- it('converts CosignerSignature', () => {
6
- const server = {
7
- signer_id: '0xabc',
8
- signature: { scheme: 'falcon', signature: '0x123' },
9
- timestamp: '2024-01-01T00:00:00Z',
10
- };
11
- const result = fromServerCosignerSignature(server);
12
- expect(result).toEqual({
13
- signerId: '0xabc',
14
- signature: { scheme: 'falcon', signature: '0x123' },
15
- timestamp: '2024-01-01T00:00:00Z',
16
- });
17
- });
18
- it('converts pending DeltaStatus', () => {
19
- const server = {
20
- status: 'pending',
21
- timestamp: '2024-01-01T00:00:00Z',
22
- proposer_id: '0xproposer',
23
- cosigner_sigs: [
24
- { signer_id: '0xsig1', signature: { scheme: 'falcon', signature: '0x1' }, timestamp: '2024-01-01T00:00:00Z' },
25
- ],
26
- };
27
- const result = fromServerDeltaStatus(server);
28
- expect(result).toEqual({
29
- status: 'pending',
30
- timestamp: '2024-01-01T00:00:00Z',
31
- proposerId: '0xproposer',
32
- cosignerSigs: [
33
- { signerId: '0xsig1', signature: { scheme: 'falcon', signature: '0x1' }, timestamp: '2024-01-01T00:00:00Z' },
34
- ],
35
- });
36
- });
37
- it('converts candidate/canonical/discarded DeltaStatus', () => {
38
- const statuses = [
39
- { status: 'candidate', timestamp: '2024-01-01T00:00:00Z' },
40
- { status: 'canonical', timestamp: '2024-01-02T00:00:00Z' },
41
- { status: 'discarded', timestamp: '2024-01-03T00:00:00Z' },
42
- ];
43
- for (const server of statuses) {
44
- const result = fromServerDeltaStatus(server);
45
- expect(result.status).toBe(server.status);
46
- expect(result.timestamp).toBe(server.timestamp);
47
- }
48
- });
49
- it('converts ProposalMetadata with all fields', () => {
50
- const server = {
51
- proposal_type: 'update_procedure_threshold',
52
- target_threshold: 2,
53
- target_procedure: 'send_asset',
54
- signer_commitments: ['0x1', '0x2'],
55
- salt: '0xsalt',
56
- description: 'test',
57
- new_guardian_pubkey: '0xpubkey',
58
- new_guardian_endpoint: 'http://guardian',
59
- note_ids: ['0xnote1'],
60
- recipient_id: '0xrecipient',
61
- faucet_id: '0xfaucet',
62
- amount: '1000',
63
- };
64
- const result = fromServerProposalMetadata(server);
65
- expect(result).toEqual({
66
- proposalType: 'update_procedure_threshold',
67
- targetThreshold: 2,
68
- targetProcedure: 'send_asset',
69
- signerCommitments: ['0x1', '0x2'],
70
- salt: '0xsalt',
71
- description: 'test',
72
- newGuardianPubkey: '0xpubkey',
73
- newGuardianEndpoint: 'http://guardian',
74
- noteIds: ['0xnote1'],
75
- recipientId: '0xrecipient',
76
- faucetId: '0xfaucet',
77
- amount: '1000',
78
- });
79
- });
80
- it('converts ProposalMetadata with partial fields', () => {
81
- const server = {
82
- proposal_type: 'p2id',
83
- description: 'send funds',
84
- };
85
- const result = fromServerProposalMetadata(server);
86
- expect(result.proposalType).toBe('p2id');
87
- expect(result.description).toBe('send funds');
88
- expect(result.targetThreshold).toBeUndefined();
89
- });
90
- it('preserves an arbitrary custom proposal_type (issue #266)', () => {
91
- const server = {
92
- proposal_type: 'b2agg',
93
- description: 'agglayer bridge note',
94
- };
95
- const result = fromServerProposalMetadata(server);
96
- expect(result.proposalType).toBe('b2agg');
97
- });
98
- it('preserves an arbitrary custom proposalType on the camelCase→server path (issue #266)', () => {
99
- const result = toServerProposalMetadata({
100
- proposalType: 'b2agg',
101
- description: 'agglayer bridge note',
102
- });
103
- expect(result.proposal_type).toBe('b2agg');
104
- });
105
- it('converts DeltaObject', () => {
106
- const server = {
107
- account_id: '0xaccount',
108
- nonce: 1,
109
- prev_commitment: '0xprev',
110
- new_commitment: '0xnew',
111
- delta_payload: {
112
- tx_summary: { data: 'base64data' },
113
- signatures: [{ signer_id: '0xsig', signature: { scheme: 'falcon', signature: '0x123' } }],
114
- metadata: { proposal_type: 'add_signer', description: 'test' },
115
- },
116
- ack_sig: '0xack',
117
- status: { status: 'canonical', timestamp: '2024-01-01T00:00:00Z' },
118
- };
119
- const result = fromServerDeltaObject(server);
120
- expect(result.accountId).toBe('0xaccount');
121
- expect(result.nonce).toBe(1);
122
- expect(result.prevCommitment).toBe('0xprev');
123
- expect(result.newCommitment).toBe('0xnew');
124
- expect(result.deltaPayload.txSummary.data).toBe('base64data');
125
- expect(result.deltaPayload.signatures[0].signerId).toBe('0xsig');
126
- expect(result.deltaPayload.metadata?.proposalType).toBe('add_signer');
127
- expect(result.ackSig).toBe('0xack');
128
- expect(result.status.status).toBe('canonical');
129
- });
130
- it('converts DeltaObject without optional fields', () => {
131
- const server = {
132
- account_id: '0xaccount',
133
- nonce: 1,
134
- prev_commitment: '0xprev',
135
- delta_payload: {
136
- tx_summary: { data: 'base64data' },
137
- signatures: [],
138
- },
139
- status: { status: 'pending', timestamp: '2024-01-01T00:00:00Z', proposer_id: '0xp', cosigner_sigs: [] },
140
- };
141
- const result = fromServerDeltaObject(server);
142
- expect(result.newCommitment).toBeUndefined();
143
- expect(result.deltaPayload.metadata).toBeUndefined();
144
- expect(result.ackSig).toBeUndefined();
145
- });
146
- it('converts StateObject', () => {
147
- const server = {
148
- account_id: '0xaccount',
149
- commitment: '0xcommit',
150
- state_json: { data: 'statedata' },
151
- created_at: '2024-01-01T00:00:00Z',
152
- updated_at: '2024-01-02T00:00:00Z',
153
- };
154
- const result = fromServerStateObject(server);
155
- expect(result).toEqual({
156
- accountId: '0xaccount',
157
- commitment: '0xcommit',
158
- stateJson: { data: 'statedata' },
159
- createdAt: '2024-01-01T00:00:00Z',
160
- updatedAt: '2024-01-02T00:00:00Z',
161
- });
162
- });
163
- it('converts ConfigureResponse', () => {
164
- const server = {
165
- success: true,
166
- message: 'configured',
167
- ack_pubkey: '0xpubkey',
168
- };
169
- const result = fromServerConfigureResponse(server);
170
- expect(result).toEqual({
171
- success: true,
172
- message: 'configured',
173
- ackPubkey: '0xpubkey',
174
- });
175
- });
176
- });
177
- describe('toServer conversions (camelCase → server)', () => {
178
- it('converts CosignerSignature', () => {
179
- const sig = {
180
- signerId: '0xabc',
181
- signature: { scheme: 'falcon', signature: '0x123' },
182
- timestamp: '2024-01-01T00:00:00Z',
183
- };
184
- const result = toServerCosignerSignature(sig);
185
- expect(result).toEqual({
186
- signer_id: '0xabc',
187
- signature: { scheme: 'falcon', signature: '0x123' },
188
- timestamp: '2024-01-01T00:00:00Z',
189
- });
190
- });
191
- it('converts pending DeltaStatus', () => {
192
- const status = {
193
- status: 'pending',
194
- timestamp: '2024-01-01T00:00:00Z',
195
- proposerId: '0xproposer',
196
- cosignerSigs: [
197
- { signerId: '0xsig1', signature: { scheme: 'falcon', signature: '0x1' }, timestamp: '2024-01-01T00:00:00Z' },
198
- ],
199
- };
200
- const result = toServerDeltaStatus(status);
201
- expect(result).toEqual({
202
- status: 'pending',
203
- timestamp: '2024-01-01T00:00:00Z',
204
- proposer_id: '0xproposer',
205
- cosigner_sigs: [
206
- { signer_id: '0xsig1', signature: { scheme: 'falcon', signature: '0x1' }, timestamp: '2024-01-01T00:00:00Z' },
207
- ],
208
- });
209
- });
210
- it('converts ProposalMetadata', () => {
211
- const meta = {
212
- proposalType: 'update_procedure_threshold',
213
- targetThreshold: 2,
214
- targetProcedure: 'receive_asset',
215
- signerCommitments: ['0x1', '0x2'],
216
- salt: '0xsalt',
217
- description: 'test',
218
- };
219
- const result = toServerProposalMetadata(meta);
220
- expect(result).toEqual({
221
- proposal_type: 'update_procedure_threshold',
222
- target_threshold: 2,
223
- target_procedure: 'receive_asset',
224
- signer_commitments: ['0x1', '0x2'],
225
- salt: '0xsalt',
226
- description: 'test',
227
- new_guardian_pubkey: undefined,
228
- new_guardian_endpoint: undefined,
229
- note_ids: undefined,
230
- recipient_id: undefined,
231
- faucet_id: undefined,
232
- amount: undefined,
233
- });
234
- });
235
- it('converts ConfigureRequest', () => {
236
- const req = {
237
- accountId: '0xaccount',
238
- auth: { MidenFalconRpo: { cosigner_commitments: ['0x1', '0x2'] } },
239
- initialState: { data: 'statedata', accountId: '0xaccount' },
240
- };
241
- const result = toServerConfigureRequest(req);
242
- expect(result).toEqual({
243
- account_id: '0xaccount',
244
- auth: { MidenFalconRpo: { cosigner_commitments: ['0x1', '0x2'] } },
245
- initial_state: { data: 'statedata', account_id: '0xaccount' },
246
- });
247
- });
248
- it('converts DeltaProposalRequest', () => {
249
- const req = {
250
- accountId: '0xaccount',
251
- nonce: 1,
252
- deltaPayload: {
253
- txSummary: { data: 'base64data' },
254
- signatures: [{ signerId: '0xsig', signature: { scheme: 'falcon', signature: '0x123' } }],
255
- metadata: { proposalType: 'add_signer', description: 'test' },
256
- },
257
- };
258
- const result = toServerDeltaProposalRequest(req);
259
- expect(result.account_id).toBe('0xaccount');
260
- expect(result.nonce).toBe(1);
261
- expect(result.delta_payload.tx_summary.data).toBe('base64data');
262
- expect(result.delta_payload.signatures[0].signer_id).toBe('0xsig');
263
- expect(result.delta_payload.metadata?.proposal_type).toBe('add_signer');
264
- });
265
- it('converts SignProposalRequest', () => {
266
- const req = {
267
- accountId: '0xaccount',
268
- commitment: '0xcommit',
269
- signature: { scheme: 'falcon', signature: '0x123' },
270
- };
271
- const result = toServerSignProposalRequest(req);
272
- expect(result).toEqual({
273
- account_id: '0xaccount',
274
- commitment: '0xcommit',
275
- signature: { scheme: 'falcon', signature: '0x123' },
276
- });
277
- });
278
- it('converts ExecutionDelta', () => {
279
- const delta = {
280
- accountId: '0xaccount',
281
- nonce: 1,
282
- prevCommitment: '0xprev',
283
- newCommitment: '0xnew',
284
- deltaPayload: { data: 'base64data' },
285
- ackSig: '0xack',
286
- status: { status: 'canonical', timestamp: '2024-01-01T00:00:00Z' },
287
- };
288
- const result = toServerExecutionDelta(delta);
289
- expect(result.account_id).toBe('0xaccount');
290
- expect(result.nonce).toBe(1);
291
- expect(result.prev_commitment).toBe('0xprev');
292
- expect(result.new_commitment).toBe('0xnew');
293
- expect(result.delta_payload.data).toBe('base64data');
294
- expect(result.ack_sig).toBe('0xack');
295
- expect(result.status.status).toBe('canonical');
296
- });
297
- });
298
- describe('roundtrip conversions', () => {
299
- it('DeltaStatus survives roundtrip', () => {
300
- const original = {
301
- status: 'pending',
302
- timestamp: '2024-01-01T00:00:00Z',
303
- proposerId: '0xproposer',
304
- cosignerSigs: [
305
- { signerId: '0xsig', signature: { scheme: 'falcon', signature: '0x123' }, timestamp: '2024-01-01T00:00:00Z' },
306
- ],
307
- };
308
- const server = toServerDeltaStatus(original);
309
- const result = fromServerDeltaStatus(server);
310
- expect(result).toEqual(original);
311
- });
312
- it('ProposalMetadata survives roundtrip', () => {
313
- const original = {
314
- proposalType: 'p2id',
315
- description: 'send funds',
316
- recipientId: '0xrecipient',
317
- faucetId: '0xfaucet',
318
- amount: '1000',
319
- salt: '0xsalt',
320
- };
321
- const server = toServerProposalMetadata(original);
322
- const result = fromServerProposalMetadata(server);
323
- expect(result.proposalType).toBe(original.proposalType);
324
- expect(result.description).toBe(original.description);
325
- expect(result.recipientId).toBe(original.recipientId);
326
- expect(result.faucetId).toBe(original.faucetId);
327
- expect(result.amount).toBe(original.amount);
328
- expect(result.salt).toBe(original.salt);
329
- });
330
- });
331
- });
332
- //# sourceMappingURL=conversion.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversion.test.js","sourceRoot":"","sources":["../src/conversion.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAmBzB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAA4B;gBACtC,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;gBACnD,SAAS,EAAE,sBAAsB;aAClC,CAAC;YAEF,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;gBACnD,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAsB;gBAChC,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,sBAAsB;gBACjC,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE;oBACb,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;iBAC9G;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,sBAAsB;gBACjC,UAAU,EAAE,YAAY;gBACxB,YAAY,EAAE;oBACZ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;iBAC7G;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,QAAQ,GAAwB;gBACpC,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;gBAC1D,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;gBAC1D,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;aAC3D,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAA2B;gBACrC,aAAa,EAAE,4BAA4B;gBAC3C,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,YAAY;gBAC9B,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBAClC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,UAAU;gBAC/B,qBAAqB,EAAE,iBAAiB;gBACxC,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,YAAY,EAAE,aAAa;gBAC3B,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,MAAM;aACf,CAAC;YAEF,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,YAAY,EAAE,4BAA4B;gBAC1C,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,YAAY;gBAC7B,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBACjC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,iBAAiB,EAAE,UAAU;gBAC7B,mBAAmB,EAAE,iBAAiB;gBACtC,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,WAAW,EAAE,aAAa;gBAC1B,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAA2B;gBACrC,aAAa,EAAE,MAAM;gBACrB,WAAW,EAAE,YAAY;aAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,MAAM,GAA2B;gBACrC,aAAa,EAAE,OAAO;gBACtB,WAAW,EAAE,sBAAsB;aACpC,CAAC;YAEF,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;YAC9F,MAAM,MAAM,GAAG,wBAAwB,CAAC;gBACtC,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,sBAAsB;aACpC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAsB;gBAChC,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,CAAC;gBACR,eAAe,EAAE,QAAQ;gBACzB,cAAc,EAAE,OAAO;gBACvB,aAAa,EAAE;oBACb,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAClC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;oBACzF,QAAQ,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC/D;gBACD,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;aACnE,CAAC;YAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAsB;gBAChC,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,CAAC;gBACR,eAAe,EAAE,QAAQ;gBACzB,aAAa,EAAE;oBACb,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAClC,UAAU,EAAE,EAAE;iBACf;gBACD,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;aACxG,CAAC;YAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAsB;gBAChC,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACjC,UAAU,EAAE,sBAAsB;gBAClC,UAAU,EAAE,sBAAsB;aACnC,CAAC;YAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAChC,SAAS,EAAE,sBAAsB;gBACjC,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAA4B;gBACtC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,UAAU;aACvB,CAAC;YAEF,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,GAAG,GAAsB;gBAC7B,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;gBACnD,SAAS,EAAE,sBAAsB;aAClC,CAAC;YAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;gBACnD,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAgB;gBAC1B,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,sBAAsB;gBACjC,UAAU,EAAE,YAAY;gBACxB,YAAY,EAAE;oBACZ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;iBAC7G;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAE3C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,sBAAsB;gBACjC,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE;oBACb,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;iBAC9G;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,IAAI,GAAqB;gBAC7B,YAAY,EAAE,4BAA4B;gBAC1C,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,eAAe;gBAChC,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBACjC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB,CAAC;YAEF,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,aAAa,EAAE,4BAA4B;gBAC3C,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,eAAe;gBACjC,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBAClC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,SAAS;gBAC9B,qBAAqB,EAAE,SAAS;gBAChC,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,SAAS;gBACvB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,GAAG,GAAqB;gBAC5B,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;aAC5D,CAAC;YAEF,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,GAAG,GAAyB;gBAChC,SAAS,EAAE,WAAW;gBACtB,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE;oBACZ,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBACjC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;oBACxF,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC9D;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,GAAG,GAAwB;gBAC/B,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;aACpD,CAAC;YAEF,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;aACpD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,KAAK,GAAmB;gBAC5B,SAAS,EAAE,WAAW;gBACtB,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,QAAQ;gBACxB,aAAa,EAAE,OAAO;gBACtB,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;gBACpC,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;aACnE,CAAC;YAEF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,QAAQ,GAAgB;gBAC5B,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,sBAAsB;gBACjC,UAAU,EAAE,YAAY;gBACxB,YAAY,EAAE;oBACZ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;iBAC9G;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,QAAQ,GAAqB;gBACjC,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,aAAa;gBAC1B,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=http.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.test.d.ts","sourceRoot":"","sources":["../src/http.test.ts"],"names":[],"mappings":""}