@c9up/ream 0.2.5 → 0.2.6
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/README.md +3 -9
- package/dist/HttpKernel.js +2 -2
- package/dist/HttpKernel.js.map +1 -1
- package/dist/Ignitor.d.ts +3 -3
- package/dist/Ignitor.d.ts.map +1 -1
- package/dist/Ignitor.js +33 -0
- package/dist/Ignitor.js.map +1 -1
- package/dist/helpers/compose.d.ts +30 -0
- package/dist/helpers/compose.d.ts.map +1 -0
- package/dist/helpers/compose.js +27 -0
- package/dist/helpers/compose.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/is.d.ts +69 -16
- package/dist/helpers/is.d.ts.map +1 -1
- package/dist/helpers/is.js +79 -16
- package/dist/helpers/is.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/middleware/Pipeline.d.ts +9 -3
- package/dist/middleware/Pipeline.d.ts.map +1 -1
- package/dist/middleware/Pipeline.js +10 -4
- package/dist/middleware/Pipeline.js.map +1 -1
- package/dist/rpc/RpcRouter.js +2 -2
- package/dist/rpc/RpcRouter.js.map +1 -1
- package/dist/services/app.d.ts +6 -0
- package/dist/services/app.d.ts.map +1 -1
- package/dist/services/app.js +8 -0
- package/dist/services/app.js.map +1 -1
- package/dist/services/config.d.ts +15 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +18 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/encryption.d.ts +23 -0
- package/dist/services/encryption.d.ts.map +1 -0
- package/dist/services/encryption.js +33 -0
- package/dist/services/encryption.js.map +1 -0
- package/dist/services/urlBuilder.d.ts +21 -0
- package/dist/services/urlBuilder.d.ts.map +1 -0
- package/dist/services/urlBuilder.js +34 -0
- package/dist/services/urlBuilder.js.map +1 -0
- package/dist/testing/ApiResponse.d.ts +44 -44
- package/dist/testing/ApiResponse.d.ts.map +1 -1
- package/dist/testing/ApiResponse.js +48 -48
- package/dist/testing/ApiResponse.js.map +1 -1
- package/dist/testing/RequestBuilder.d.ts +39 -39
- package/dist/testing/RequestBuilder.d.ts.map +1 -1
- package/dist/testing/RequestBuilder.js +49 -49
- package/dist/testing/RequestBuilder.js.map +1 -1
- package/dist/testing/TestClient.d.ts +5 -5
- package/dist/testing/TestClient.d.ts.map +1 -1
- package/dist/testing/TestClient.js +7 -7
- package/dist/testing/TestClient.js.map +1 -1
- package/events.win32-x64-msvc.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +13 -1
- package/scheduler.win32-x64-msvc.node +0 -0
- package/src/HttpKernel.ts +2 -2
- package/src/Ignitor.ts +42 -3
- package/src/helpers/compose.ts +84 -0
- package/src/helpers/index.ts +1 -0
- package/src/helpers/is.ts +87 -16
- package/src/index.ts +2 -2
- package/src/middleware/Pipeline.ts +10 -4
- package/src/rpc/RpcRouter.ts +2 -2
- package/src/services/app.ts +9 -0
- package/src/services/config.ts +24 -0
- package/src/services/encryption.ts +42 -0
- package/src/services/urlBuilder.ts +41 -0
- package/src/testing/ApiResponse.ts +52 -52
- package/src/testing/RequestBuilder.ts +55 -55
- package/src/testing/TestClient.ts +8 -8
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rich HTTP test response —
|
|
2
|
+
* Rich HTTP test response — `helix`'s `ApiResponse` parity.
|
|
3
3
|
*
|
|
4
|
-
* Wraps the raw {@link TestResponse} and exposes the full
|
|
4
|
+
* Wraps the raw {@link TestResponse} and exposes the full helix response surface:
|
|
5
5
|
* accessor METHODS (`status()`, `headers()`, `body()`, `text()`, `header()`,
|
|
6
|
-
* `cookies()`, `redirects()`, `error()`, …) matching
|
|
6
|
+
* `cookies()`, `redirects()`, `error()`, …) matching helix exactly, the complete
|
|
7
7
|
* `assert*` family, response `dump*()` debuggers, and `macro()`/`getter()` for
|
|
8
8
|
* consumer extension.
|
|
9
9
|
*
|
|
10
|
-
* `json()` is kept as an additive convenience (not in
|
|
11
|
-
* parity —
|
|
10
|
+
* `json()` is kept as an additive convenience (not in helix, but harmless for
|
|
11
|
+
* parity — helix code never calls it) so `res.json()` call sites need no change.
|
|
12
12
|
*/
|
|
13
13
|
import type { Dict } from '../types/helpers.js';
|
|
14
14
|
/** The raw response shape the low-level sender produces. */
|
|
@@ -39,7 +39,7 @@ export interface ResponseCookie {
|
|
|
39
39
|
value: string;
|
|
40
40
|
[attr: string]: string;
|
|
41
41
|
}
|
|
42
|
-
/** A file parsed from a `multipart/form-data` response —
|
|
42
|
+
/** A file parsed from a `multipart/form-data` response — helix `files()` entry. */
|
|
43
43
|
export interface ResponseFile {
|
|
44
44
|
/** The form field name. */
|
|
45
45
|
fieldName: string;
|
|
@@ -52,7 +52,7 @@ export interface ResponseFile {
|
|
|
52
52
|
/** The raw file bytes. */
|
|
53
53
|
content: Buffer;
|
|
54
54
|
}
|
|
55
|
-
/** The
|
|
55
|
+
/** The helix error object returned by `response.error()`. */
|
|
56
56
|
export interface ResponseError {
|
|
57
57
|
/** The error status code (>= 400). */
|
|
58
58
|
status: number;
|
|
@@ -61,13 +61,13 @@ export interface ResponseError {
|
|
|
61
61
|
}
|
|
62
62
|
/** Extra context the builder threads into the response. */
|
|
63
63
|
export interface ApiResponseMeta {
|
|
64
|
-
/** The (final) request method —
|
|
64
|
+
/** The (final) request method — helix `response.method()`. */
|
|
65
65
|
method?: string;
|
|
66
|
-
/** URLs followed when redirects were configured —
|
|
66
|
+
/** URLs followed when redirects were configured — helix `response.redirects()`. */
|
|
67
67
|
redirects?: string[];
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* Every
|
|
70
|
+
* Every helix status-shortcut assertion, as `methodName → code`. Consumed to
|
|
71
71
|
* generate the `assert*` methods on both {@link ApiResponse} and the builder,
|
|
72
72
|
* so the two surfaces never drift.
|
|
73
73
|
*/
|
|
@@ -98,80 +98,80 @@ export declare const STATUS_ASSERTIONS: {
|
|
|
98
98
|
readonly assertUnprocessableEntity: 422;
|
|
99
99
|
readonly assertLocked: 423;
|
|
100
100
|
readonly assertTooManyRequests: 429;
|
|
101
|
-
/** ream extra (not in
|
|
101
|
+
/** ream extra (not in helix's list, kept for convenience). */
|
|
102
102
|
readonly assertInternalServerError: 500;
|
|
103
103
|
};
|
|
104
104
|
/**
|
|
105
105
|
* The rich response. Constructed by the request builder from a raw
|
|
106
|
-
* {@link TestResponse}; exposes the
|
|
106
|
+
* {@link TestResponse}; exposes the helix accessor + assertion surface.
|
|
107
107
|
*
|
|
108
108
|
* PARITY NOTE: the status code / headers / raw text are METHODS — `status()`,
|
|
109
109
|
* `headers()`, `text()` — and `body()` returns the content-type-parsed body,
|
|
110
|
-
* exactly like
|
|
110
|
+
* exactly like helix. `json()` is kept as an additive convenience.
|
|
111
111
|
*/
|
|
112
112
|
export declare class ApiResponse {
|
|
113
113
|
#private;
|
|
114
114
|
constructor(raw: TestResponse, meta?: ApiResponseMeta);
|
|
115
|
-
/** HTTP status code —
|
|
115
|
+
/** HTTP status code — helix `status()`. */
|
|
116
116
|
status(): number;
|
|
117
|
-
/** Status class digit (2 for 2xx, 4 for 4xx, …) —
|
|
117
|
+
/** Status class digit (2 for 2xx, 4 for 4xx, …) — helix `statusType()`. */
|
|
118
118
|
statusType(): number;
|
|
119
|
-
/** All response headers (lower-cased keys) —
|
|
119
|
+
/** All response headers (lower-cased keys) — helix `headers()`. */
|
|
120
120
|
headers(): Dict;
|
|
121
|
-
/** A single response header value —
|
|
121
|
+
/** A single response header value — helix `header(name)`. */
|
|
122
122
|
header(name: string): string | undefined;
|
|
123
|
-
/** Raw response text —
|
|
123
|
+
/** Raw response text — helix `text()`. */
|
|
124
124
|
text(): string;
|
|
125
125
|
/**
|
|
126
|
-
* The parsed response body —
|
|
126
|
+
* The parsed response body — helix `body()`. Parses by `Content-Type`:
|
|
127
127
|
* `application/json` → object, `application/x-www-form-urlencoded` → object,
|
|
128
128
|
* `multipart/form-data` → the non-file fields (files come from {@link files});
|
|
129
129
|
* otherwise the raw text. A registered parser (`ApiResponse.addParser`) for the
|
|
130
130
|
* content-type takes precedence.
|
|
131
131
|
*/
|
|
132
132
|
body(): unknown;
|
|
133
|
-
/** Convenience JSON parse (additive; not in
|
|
133
|
+
/** Convenience JSON parse (additive; not in helix). */
|
|
134
134
|
json<T = unknown>(): T;
|
|
135
|
-
/** The request method that produced this response —
|
|
135
|
+
/** The request method that produced this response — helix `method()`. */
|
|
136
136
|
method(): string;
|
|
137
|
-
/** Response `Content-Type` without parameters —
|
|
137
|
+
/** Response `Content-Type` without parameters — helix `type()`. */
|
|
138
138
|
type(): string | undefined;
|
|
139
|
-
/** Charset from `Content-Type`, if any —
|
|
139
|
+
/** Charset from `Content-Type`, if any — helix `charset()`. */
|
|
140
140
|
charset(): string | undefined;
|
|
141
|
-
/** All response cookies, parsed from `Set-Cookie` —
|
|
141
|
+
/** All response cookies, parsed from `Set-Cookie` — helix `cookies()`. */
|
|
142
142
|
cookies(): Record<string, ResponseCookie>;
|
|
143
|
-
/** A single parsed response cookie —
|
|
143
|
+
/** A single parsed response cookie — helix `cookie(name)`. */
|
|
144
144
|
cookie(name: string): ResponseCookie | undefined;
|
|
145
|
-
/** URLs followed for a redirected request —
|
|
145
|
+
/** URLs followed for a redirected request — helix `redirects()`. */
|
|
146
146
|
redirects(): string[];
|
|
147
|
-
/** Parsed `Link` header (`rel → url`) —
|
|
147
|
+
/** Parsed `Link` header (`rel → url`) — helix `links()`. */
|
|
148
148
|
links(): Record<string, string>;
|
|
149
149
|
/**
|
|
150
|
-
* Files parsed from a `multipart/form-data` response —
|
|
150
|
+
* Files parsed from a `multipart/form-data` response — helix `files()`. Each
|
|
151
151
|
* entry carries the field name, filename, content-type and the raw bytes.
|
|
152
152
|
* Empty for non-multipart responses.
|
|
153
153
|
*/
|
|
154
154
|
files(): Record<string, ResponseFile>;
|
|
155
|
-
/** Whether the response carries a body —
|
|
155
|
+
/** Whether the response carries a body — helix `hasBody()`. */
|
|
156
156
|
hasBody(): boolean;
|
|
157
|
-
/** Whether the status is an error (>= 400) —
|
|
157
|
+
/** Whether the status is an error (>= 400) — helix `hasError()`. */
|
|
158
158
|
hasError(): boolean;
|
|
159
|
-
/** Whether the status is a server error (>= 500) —
|
|
159
|
+
/** Whether the status is a server error (>= 500) — helix `hasFatalError()`. */
|
|
160
160
|
hasFatalError(): boolean;
|
|
161
161
|
/**
|
|
162
|
-
* The error object when the response is an error, else `undefined` —
|
|
162
|
+
* The error object when the response is an error, else `undefined` — helix
|
|
163
163
|
* `error()`. Exposes `.status` and `.text` (superagent-style).
|
|
164
164
|
*/
|
|
165
165
|
error(): ResponseError | undefined;
|
|
166
|
-
/** Print status + headers + body to stderr —
|
|
166
|
+
/** Print status + headers + body to stderr — helix `response.dump()`. */
|
|
167
167
|
dump(): this;
|
|
168
|
-
/** Print only the response body —
|
|
168
|
+
/** Print only the response body — helix `response.dumpBody()`. */
|
|
169
169
|
dumpBody(): this;
|
|
170
|
-
/** Print only the response headers —
|
|
170
|
+
/** Print only the response headers — helix `response.dumpHeaders()`. */
|
|
171
171
|
dumpHeaders(): this;
|
|
172
|
-
/** Print only the response cookies —
|
|
172
|
+
/** Print only the response cookies — helix `response.dumpCookies()`. */
|
|
173
173
|
dumpCookies(): this;
|
|
174
|
-
/** Print the error object, if any —
|
|
174
|
+
/** Print the error object, if any — helix `response.dumpError()`. */
|
|
175
175
|
dumpError(): this;
|
|
176
176
|
assertStatus(code: number): this;
|
|
177
177
|
assertHeader(name: string, value?: string | RegExp): this;
|
|
@@ -183,28 +183,28 @@ export declare class ApiResponse {
|
|
|
183
183
|
assertBodyNotContains(subset: unknown): this;
|
|
184
184
|
assertTextIncludes(substring: string): this;
|
|
185
185
|
/**
|
|
186
|
-
* Assert the request was redirected to `path` —
|
|
186
|
+
* Assert the request was redirected to `path` — helix `assertRedirectsTo`.
|
|
187
187
|
* Checks the followed redirect chain (`redirects()`); also accepts a direct
|
|
188
188
|
* 3xx `Location` match when no redirects were followed.
|
|
189
189
|
*/
|
|
190
190
|
assertRedirectsTo(path: string): this;
|
|
191
191
|
/**
|
|
192
|
-
* Assert the response conforms to the registered OpenAPI spec —
|
|
193
|
-
* `assertAgainstApiSpec()`.
|
|
194
|
-
*
|
|
192
|
+
* Assert the response conforms to the registered OpenAPI spec — helix
|
|
193
|
+
* `assertAgainstApiSpec()`. helix ships this via the SEPARATE opt-in
|
|
194
|
+
* `a separate OpenAPI-assertions plugin` plugin; register a validator with
|
|
195
195
|
* {@link ApiResponse.registerApiSpecValidator} to enable it. Without one, this
|
|
196
196
|
* throws (never silently passes).
|
|
197
197
|
*/
|
|
198
198
|
assertAgainstApiSpec(): this;
|
|
199
199
|
/**
|
|
200
|
-
* Register a shared property (
|
|
200
|
+
* Register a shared property (helix `ApiResponse.macro`) or lazy getter
|
|
201
201
|
* (`ApiResponse.getter`). The callback is invoked with `this` bound to the
|
|
202
|
-
* response AND the response as its first argument, so both
|
|
202
|
+
* response AND the response as its first argument, so both helix's
|
|
203
203
|
* `function () { return this.header('x') }` and `(res) => res.header('x')` work.
|
|
204
204
|
*/
|
|
205
205
|
static macro(name: string, value: unknown): void;
|
|
206
206
|
static getter(name: string, fn: (this: ApiResponse, res: ApiResponse) => unknown): void;
|
|
207
|
-
/** Register a response body parser for a content-type —
|
|
207
|
+
/** Register a response body parser for a content-type — helix `ApiRequest.addParser`. */
|
|
208
208
|
static addParser(contentType: string, fn: (body: string, headers: Dict) => unknown): void;
|
|
209
209
|
/** Register the validator backing {@link assertAgainstApiSpec} (OpenAPI opt-in). */
|
|
210
210
|
static registerApiSpecValidator(fn: (res: ApiResponse) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiResponse.d.ts","sourceRoot":"","sources":["../../src/testing/ApiResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,IAAI,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAA;CACvB;AAED,wEAAwE;AACxE,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,SAAM,GAAG,MAAM,CAEpD;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjE;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAczD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAcxE;AAOD,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAuBD,
|
|
1
|
+
{"version":3,"file":"ApiResponse.d.ts","sourceRoot":"","sources":["../../src/testing/ApiResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rich HTTP test response —
|
|
2
|
+
* Rich HTTP test response — `helix`'s `ApiResponse` parity.
|
|
3
3
|
*
|
|
4
|
-
* Wraps the raw {@link TestResponse} and exposes the full
|
|
4
|
+
* Wraps the raw {@link TestResponse} and exposes the full helix response surface:
|
|
5
5
|
* accessor METHODS (`status()`, `headers()`, `body()`, `text()`, `header()`,
|
|
6
|
-
* `cookies()`, `redirects()`, `error()`, …) matching
|
|
6
|
+
* `cookies()`, `redirects()`, `error()`, …) matching helix exactly, the complete
|
|
7
7
|
* `assert*` family, response `dump*()` debuggers, and `macro()`/`getter()` for
|
|
8
8
|
* consumer extension.
|
|
9
9
|
*
|
|
10
|
-
* `json()` is kept as an additive convenience (not in
|
|
11
|
-
* parity —
|
|
10
|
+
* `json()` is kept as an additive convenience (not in helix, but harmless for
|
|
11
|
+
* parity — helix code never calls it) so `res.json()` call sites need no change.
|
|
12
12
|
*/
|
|
13
13
|
/** Assertion failure — plain Error so tests see a clean stack trace. */
|
|
14
14
|
export class ExpectationError extends Error {
|
|
@@ -96,7 +96,7 @@ function parseCookies(setCookie) {
|
|
|
96
96
|
}
|
|
97
97
|
return out;
|
|
98
98
|
}
|
|
99
|
-
/** Consumer-registered response parsers (
|
|
99
|
+
/** Consumer-registered response parsers (helix `ApiRequest.addParser`), by content-type. */
|
|
100
100
|
const responseParsers = new Map();
|
|
101
101
|
/**
|
|
102
102
|
* Parse a `multipart/form-data` response body (RFC 7578) into its non-file
|
|
@@ -162,8 +162,8 @@ function splitBuffer(buf, delim) {
|
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
164
|
/**
|
|
165
|
-
* Validator for `assertAgainstApiSpec()` — mirrors
|
|
166
|
-
* is a SEPARATE opt-in (
|
|
165
|
+
* Validator for `assertAgainstApiSpec()` — mirrors helix's OpenAPI plugin, which
|
|
166
|
+
* is a SEPARATE opt-in (`a separate OpenAPI-assertions plugin`). Register one to enable spec
|
|
167
167
|
* assertions; without it, the assertion throws a clear "not configured" error
|
|
168
168
|
* rather than silently passing.
|
|
169
169
|
*/
|
|
@@ -178,7 +178,7 @@ function jsonOf(raw) {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
/**
|
|
181
|
-
* Every
|
|
181
|
+
* Every helix status-shortcut assertion, as `methodName → code`. Consumed to
|
|
182
182
|
* generate the `assert*` methods on both {@link ApiResponse} and the builder,
|
|
183
183
|
* so the two surfaces never drift.
|
|
184
184
|
*/
|
|
@@ -209,19 +209,19 @@ export const STATUS_ASSERTIONS = {
|
|
|
209
209
|
assertUnprocessableEntity: 422,
|
|
210
210
|
assertLocked: 423,
|
|
211
211
|
assertTooManyRequests: 429,
|
|
212
|
-
/** ream extra (not in
|
|
212
|
+
/** ream extra (not in helix's list, kept for convenience). */
|
|
213
213
|
assertInternalServerError: 500,
|
|
214
214
|
};
|
|
215
|
-
/** Consumer-registered macros/getters (
|
|
215
|
+
/** Consumer-registered macros/getters (helix `ApiResponse.macro`/`.getter`). */
|
|
216
216
|
const responseMacros = new Map();
|
|
217
217
|
const responseGetters = new Map();
|
|
218
218
|
/**
|
|
219
219
|
* The rich response. Constructed by the request builder from a raw
|
|
220
|
-
* {@link TestResponse}; exposes the
|
|
220
|
+
* {@link TestResponse}; exposes the helix accessor + assertion surface.
|
|
221
221
|
*
|
|
222
222
|
* PARITY NOTE: the status code / headers / raw text are METHODS — `status()`,
|
|
223
223
|
* `headers()`, `text()` — and `body()` returns the content-type-parsed body,
|
|
224
|
-
* exactly like
|
|
224
|
+
* exactly like helix. `json()` is kept as an additive convenience.
|
|
225
225
|
*/
|
|
226
226
|
// biome-ignore lint/suspicious/noUnsafeDeclarationMerging: the merged interface (StatusAssertions) types the status-shortcut asserts attached to the prototype from STATUS_ASSERTIONS — the same generated-method pattern as EonSchema/Macroable (AdonisJS parity); every member is implemented, so the merge is safe.
|
|
227
227
|
export class ApiResponse {
|
|
@@ -234,29 +234,29 @@ export class ApiResponse {
|
|
|
234
234
|
this.#redirects = meta.redirects ?? [];
|
|
235
235
|
applyResponseExtensions(this);
|
|
236
236
|
}
|
|
237
|
-
// ──
|
|
238
|
-
/** HTTP status code —
|
|
237
|
+
// ── helix accessors (method form) ─────────────────────────────────────────
|
|
238
|
+
/** HTTP status code — helix `status()`. */
|
|
239
239
|
status() {
|
|
240
240
|
return this.#raw.status;
|
|
241
241
|
}
|
|
242
|
-
/** Status class digit (2 for 2xx, 4 for 4xx, …) —
|
|
242
|
+
/** Status class digit (2 for 2xx, 4 for 4xx, …) — helix `statusType()`. */
|
|
243
243
|
statusType() {
|
|
244
244
|
return Math.floor(this.#raw.status / 100);
|
|
245
245
|
}
|
|
246
|
-
/** All response headers (lower-cased keys) —
|
|
246
|
+
/** All response headers (lower-cased keys) — helix `headers()`. */
|
|
247
247
|
headers() {
|
|
248
248
|
return this.#raw.headers;
|
|
249
249
|
}
|
|
250
|
-
/** A single response header value —
|
|
250
|
+
/** A single response header value — helix `header(name)`. */
|
|
251
251
|
header(name) {
|
|
252
252
|
return this.#raw.headers[name.toLowerCase()];
|
|
253
253
|
}
|
|
254
|
-
/** Raw response text —
|
|
254
|
+
/** Raw response text — helix `text()`. */
|
|
255
255
|
text() {
|
|
256
256
|
return this.#raw.body;
|
|
257
257
|
}
|
|
258
258
|
/**
|
|
259
|
-
* The parsed response body —
|
|
259
|
+
* The parsed response body — helix `body()`. Parses by `Content-Type`:
|
|
260
260
|
* `application/json` → object, `application/x-www-form-urlencoded` → object,
|
|
261
261
|
* `multipart/form-data` → the non-file fields (files come from {@link files});
|
|
262
262
|
* otherwise the raw text. A registered parser (`ApiResponse.addParser`) for the
|
|
@@ -281,38 +281,38 @@ export class ApiResponse {
|
|
|
281
281
|
}
|
|
282
282
|
return text;
|
|
283
283
|
}
|
|
284
|
-
/** Convenience JSON parse (additive; not in
|
|
284
|
+
/** Convenience JSON parse (additive; not in helix). */
|
|
285
285
|
json() {
|
|
286
286
|
return JSON.parse(this.#raw.body);
|
|
287
287
|
}
|
|
288
|
-
/** The request method that produced this response —
|
|
288
|
+
/** The request method that produced this response — helix `method()`. */
|
|
289
289
|
method() {
|
|
290
290
|
return this.#method;
|
|
291
291
|
}
|
|
292
|
-
/** Response `Content-Type` without parameters —
|
|
292
|
+
/** Response `Content-Type` without parameters — helix `type()`. */
|
|
293
293
|
type() {
|
|
294
294
|
const ct = this.#raw.headers['content-type'];
|
|
295
295
|
return ct ? (ct.split(';')[0]?.trim() ?? ct) : undefined;
|
|
296
296
|
}
|
|
297
|
-
/** Charset from `Content-Type`, if any —
|
|
297
|
+
/** Charset from `Content-Type`, if any — helix `charset()`. */
|
|
298
298
|
charset() {
|
|
299
299
|
const ct = this.#raw.headers['content-type'] ?? '';
|
|
300
300
|
const m = ct.match(/charset=([^;]+)/i);
|
|
301
301
|
return m ? m[1].trim() : undefined;
|
|
302
302
|
}
|
|
303
|
-
/** All response cookies, parsed from `Set-Cookie` —
|
|
303
|
+
/** All response cookies, parsed from `Set-Cookie` — helix `cookies()`. */
|
|
304
304
|
cookies() {
|
|
305
305
|
return parseCookies(this.#raw.headers['set-cookie']);
|
|
306
306
|
}
|
|
307
|
-
/** A single parsed response cookie —
|
|
307
|
+
/** A single parsed response cookie — helix `cookie(name)`. */
|
|
308
308
|
cookie(name) {
|
|
309
309
|
return this.cookies()[name];
|
|
310
310
|
}
|
|
311
|
-
/** URLs followed for a redirected request —
|
|
311
|
+
/** URLs followed for a redirected request — helix `redirects()`. */
|
|
312
312
|
redirects() {
|
|
313
313
|
return [...this.#redirects];
|
|
314
314
|
}
|
|
315
|
-
/** Parsed `Link` header (`rel → url`) —
|
|
315
|
+
/** Parsed `Link` header (`rel → url`) — helix `links()`. */
|
|
316
316
|
links() {
|
|
317
317
|
const link = this.#raw.headers.link;
|
|
318
318
|
if (!link)
|
|
@@ -326,7 +326,7 @@ export class ApiResponse {
|
|
|
326
326
|
return out;
|
|
327
327
|
}
|
|
328
328
|
/**
|
|
329
|
-
* Files parsed from a `multipart/form-data` response —
|
|
329
|
+
* Files parsed from a `multipart/form-data` response — helix `files()`. Each
|
|
330
330
|
* entry carries the field name, filename, content-type and the raw bytes.
|
|
331
331
|
* Empty for non-multipart responses.
|
|
332
332
|
*/
|
|
@@ -337,20 +337,20 @@ export class ApiResponse {
|
|
|
337
337
|
// Pass the ORIGINAL-case header — multipart boundaries are case-sensitive.
|
|
338
338
|
return parseMultipartResponse(this.#raw.body, ctRaw).files;
|
|
339
339
|
}
|
|
340
|
-
/** Whether the response carries a body —
|
|
340
|
+
/** Whether the response carries a body — helix `hasBody()`. */
|
|
341
341
|
hasBody() {
|
|
342
342
|
return this.#raw.body.length > 0;
|
|
343
343
|
}
|
|
344
|
-
/** Whether the status is an error (>= 400) —
|
|
344
|
+
/** Whether the status is an error (>= 400) — helix `hasError()`. */
|
|
345
345
|
hasError() {
|
|
346
346
|
return this.#raw.status >= 400;
|
|
347
347
|
}
|
|
348
|
-
/** Whether the status is a server error (>= 500) —
|
|
348
|
+
/** Whether the status is a server error (>= 500) — helix `hasFatalError()`. */
|
|
349
349
|
hasFatalError() {
|
|
350
350
|
return this.#raw.status >= 500;
|
|
351
351
|
}
|
|
352
352
|
/**
|
|
353
|
-
* The error object when the response is an error, else `undefined` —
|
|
353
|
+
* The error object when the response is an error, else `undefined` — helix
|
|
354
354
|
* `error()`. Exposes `.status` and `.text` (superagent-style).
|
|
355
355
|
*/
|
|
356
356
|
error() {
|
|
@@ -358,30 +358,30 @@ export class ApiResponse {
|
|
|
358
358
|
return undefined;
|
|
359
359
|
return { status: this.#raw.status, text: this.#raw.body };
|
|
360
360
|
}
|
|
361
|
-
// ── Debugging (
|
|
362
|
-
/** Print status + headers + body to stderr —
|
|
361
|
+
// ── Debugging (helix response `dump*`) ────────────────────────────────────
|
|
362
|
+
/** Print status + headers + body to stderr — helix `response.dump()`. */
|
|
363
363
|
dump() {
|
|
364
364
|
process.stderr.write(`[helix:response.dump] ${this.#method} → ${this.#raw.status}\n` +
|
|
365
365
|
`headers: ${JSON.stringify(this.#raw.headers, null, 2)}\n` +
|
|
366
366
|
`body: ${capBody(this.#raw.body, 2048)}\n`);
|
|
367
367
|
return this;
|
|
368
368
|
}
|
|
369
|
-
/** Print only the response body —
|
|
369
|
+
/** Print only the response body — helix `response.dumpBody()`. */
|
|
370
370
|
dumpBody() {
|
|
371
371
|
process.stderr.write(`[helix:response.dumpBody] ${capBody(this.#raw.body, 2048)}\n`);
|
|
372
372
|
return this;
|
|
373
373
|
}
|
|
374
|
-
/** Print only the response headers —
|
|
374
|
+
/** Print only the response headers — helix `response.dumpHeaders()`. */
|
|
375
375
|
dumpHeaders() {
|
|
376
376
|
process.stderr.write(`[helix:response.dumpHeaders] ${JSON.stringify(this.#raw.headers, null, 2)}\n`);
|
|
377
377
|
return this;
|
|
378
378
|
}
|
|
379
|
-
/** Print only the response cookies —
|
|
379
|
+
/** Print only the response cookies — helix `response.dumpCookies()`. */
|
|
380
380
|
dumpCookies() {
|
|
381
381
|
process.stderr.write(`[helix:response.dumpCookies] ${JSON.stringify(this.cookies(), null, 2)}\n`);
|
|
382
382
|
return this;
|
|
383
383
|
}
|
|
384
|
-
/** Print the error object, if any —
|
|
384
|
+
/** Print the error object, if any — helix `response.dumpError()`. */
|
|
385
385
|
dumpError() {
|
|
386
386
|
process.stderr.write(`[helix:response.dumpError] ${JSON.stringify(this.error(), null, 2)}\n`);
|
|
387
387
|
return this;
|
|
@@ -440,7 +440,7 @@ export class ApiResponse {
|
|
|
440
440
|
return this;
|
|
441
441
|
}
|
|
442
442
|
/**
|
|
443
|
-
* The body used by `assertBody*`, parsed per `Content-Type` (
|
|
443
|
+
* The body used by `assertBody*`, parsed per `Content-Type` (helix parity):
|
|
444
444
|
* urlencoded/multipart → the structured `body()`; JSON or an unknown/absent
|
|
445
445
|
* content-type → a tolerant JSON parse (so bodyless test fakes keep working).
|
|
446
446
|
*/
|
|
@@ -479,7 +479,7 @@ export class ApiResponse {
|
|
|
479
479
|
return this;
|
|
480
480
|
}
|
|
481
481
|
/**
|
|
482
|
-
* Assert the request was redirected to `path` —
|
|
482
|
+
* Assert the request was redirected to `path` — helix `assertRedirectsTo`.
|
|
483
483
|
* Checks the followed redirect chain (`redirects()`); also accepts a direct
|
|
484
484
|
* 3xx `Location` match when no redirects were followed.
|
|
485
485
|
*/
|
|
@@ -499,24 +499,24 @@ export class ApiResponse {
|
|
|
499
499
|
(location ? `, Location "${location}"` : ''));
|
|
500
500
|
}
|
|
501
501
|
/**
|
|
502
|
-
* Assert the response conforms to the registered OpenAPI spec —
|
|
503
|
-
* `assertAgainstApiSpec()`.
|
|
504
|
-
*
|
|
502
|
+
* Assert the response conforms to the registered OpenAPI spec — helix
|
|
503
|
+
* `assertAgainstApiSpec()`. helix ships this via the SEPARATE opt-in
|
|
504
|
+
* `a separate OpenAPI-assertions plugin` plugin; register a validator with
|
|
505
505
|
* {@link ApiResponse.registerApiSpecValidator} to enable it. Without one, this
|
|
506
506
|
* throws (never silently passes).
|
|
507
507
|
*/
|
|
508
508
|
assertAgainstApiSpec() {
|
|
509
509
|
if (!apiSpecValidator) {
|
|
510
510
|
throw new ExpectationError('assertAgainstApiSpec() requires an OpenAPI validator. Register one via ' +
|
|
511
|
-
'ApiResponse.registerApiSpecValidator(fn) (the opt-in equivalent of
|
|
511
|
+
'ApiResponse.registerApiSpecValidator(fn) (the opt-in equivalent of a separate OpenAPI-assertions plugin).');
|
|
512
512
|
}
|
|
513
513
|
apiSpecValidator(this);
|
|
514
514
|
return this;
|
|
515
515
|
}
|
|
516
516
|
/**
|
|
517
|
-
* Register a shared property (
|
|
517
|
+
* Register a shared property (helix `ApiResponse.macro`) or lazy getter
|
|
518
518
|
* (`ApiResponse.getter`). The callback is invoked with `this` bound to the
|
|
519
|
-
* response AND the response as its first argument, so both
|
|
519
|
+
* response AND the response as its first argument, so both helix's
|
|
520
520
|
* `function () { return this.header('x') }` and `(res) => res.header('x')` work.
|
|
521
521
|
*/
|
|
522
522
|
static macro(name, value) {
|
|
@@ -525,7 +525,7 @@ export class ApiResponse {
|
|
|
525
525
|
static getter(name, fn) {
|
|
526
526
|
responseGetters.set(name, fn);
|
|
527
527
|
}
|
|
528
|
-
/** Register a response body parser for a content-type —
|
|
528
|
+
/** Register a response body parser for a content-type — helix `ApiRequest.addParser`. */
|
|
529
529
|
static addParser(contentType, fn) {
|
|
530
530
|
responseParsers.set(contentType, fn);
|
|
531
531
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiResponse.js","sourceRoot":"","sources":["../../src/testing/ApiResponse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApiResponse.js","sourceRoot":"","sources":["../../src/testing/ApiResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,wEAAwE;AACxE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,GAAG,GAAG,GAAG;IAC1C,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAA;AACjE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,CAAU;IAC9C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACjF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,QAAiB;IAC7D,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,MAAM,KAAK,QAAQ,CAAA;IAC5B,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAA;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC7D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAChE,CAAC;AASD,SAAS,YAAY,CAAC,SAA6B;IACjD,MAAM,GAAG,GAAmC,EAAE,CAAA;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAQ;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACxC,MAAM,MAAM,GAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QAC9C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAA;;gBACjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACnF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IACpB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAgBD,4FAA4F;AAC5F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoD,CAAA;AAEnF;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,IAAY,EACZ,WAAmB;IAEnB,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,MAAM,KAAK,GAAiC,EAAE,CAAA;IAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAQ;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/D,mDAAmD;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM;YAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACzF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;YACjE,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,0BAA0B;gBAC1D,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,OAAO;aACR,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,oEAAoE;AACpE,SAAS,WAAW,CAAC,GAAW,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACnC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,GAAG,GAAG,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACnD,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,gEAAgE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,IAAI,gBAA0D,CAAA;AAE9D,qFAAqF;AACrF,SAAS,MAAM,CAAC,GAAiB;IAC/B,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,2CAA2C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAClI,CAAA;IACH,CAAC;AACH,CAAC;AAkBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,GAAG;IACb,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;IACpB,sBAAsB,EAAE,GAAG;IAC3B,WAAW,EAAE,GAAG;IAChB,gBAAgB,EAAE,GAAG;IACrB,kBAAkB,EAAE,GAAG;IACvB,qBAAqB,EAAE,GAAG;IAC1B,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,GAAG;IACnB,sBAAsB,EAAE,GAAG;IAC3B,mBAAmB,EAAE,GAAG;IACxB,oBAAoB,EAAE,GAAG;IACzB,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,GAAG;IACf,oBAAoB,EAAE,GAAG;IACzB,wBAAwB,EAAE,GAAG;IAC7B,qBAAqB,EAAE,GAAG;IAC1B,gBAAgB,EAAE,GAAG;IACrB,0BAA0B,EAAE,GAAG;IAC/B,yBAAyB,EAAE,GAAG;IAC9B,eAAe,EAAE,GAAG;IACpB,yBAAyB,EAAE,GAAG;IAC9B,YAAY,EAAE,GAAG;IACjB,qBAAqB,EAAE,GAAG;IAC1B,8DAA8D;IAC9D,yBAAyB,EAAE,GAAG;CACtB,CAAA;AAEV,gFAAgF;AAChF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAA;AACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4D,CAAA;AAE3F;;;;;;;GAOG;AACH,uTAAuT;AACvT,MAAM,OAAO,WAAW;IACb,IAAI,CAAc;IAClB,OAAO,CAAQ;IACf,UAAU,CAAU;IAE7B,YAAY,GAAiB,EAAE,OAAwB,EAAE;QACvD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAA;QACtC,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,6EAA6E;IAE7E,2CAA2C;IAC3C,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IACzB,CAAC;IAED,2EAA2E;IAC3E,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED,mEAAmE;IACnE,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;IAC1B,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,0CAA0C;IAC1C,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACvB,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvC,2EAA2E;YAC3E,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;QACrF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uDAAuD;IACvD,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,CAAA;IACxC,CAAC;IAED,yEAAyE;IACzE,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,mEAAmE;IACnE,IAAI;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC5C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,CAAC;IAED,+DAA+D;IAC/D,OAAO;QACL,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACtC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACpC,CAAC;IAED,0EAA0E;IAC1E,OAAO;QACL,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,oEAAoE;IACpE,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,4DAA4D;IAC5D,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QACpB,MAAM,GAAG,GAA2B,EAAE,CAAA;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACxD,IAAI,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACrD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,OAAO,EAAE,CAAA;QACnE,2EAA2E;QAC3E,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAA;IAC5D,CAAC;IAED,+DAA+D;IAC/D,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,oEAAoE;IACpE,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA;IAChC,CAAC;IAED,+EAA+E;IAC/E,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,SAAS,CAAA;QACtC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3D,CAAC;IAED,6EAA6E;IAE7E,yEAAyE;IACzE,IAAI;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI;YAC7D,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;YAC1D,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAC7C,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,kEAAkE;IAClE,QAAQ;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,wEAAwE;IACxE,WAAW;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/E,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,wEAAwE;IACxE,WAAW;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5E,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,qEAAqE;IACrE,SAAS;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4EAA4E;IAE5E,YAAY,CAAC,IAAY;QACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAuB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,IAAI,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAA;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACpC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,IAAI,aAAa,KAAK,UAAU,MAAM,GAAG,CAAC,CAAA;YAC1F,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,IAAI,OAAO,KAAK,WAAW,MAAM,GAAG,CAAC,CAAA;QACrF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,IAAI,oCAAoC,CAAC,CAAA;QACzF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAuB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,IAAI,8BAA8B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,QAAQ,EAAE,CACnG,CAAA;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACpC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,IAAI,aAAa,KAAK,UAAU,MAAM,CAAC,KAAK,GAAG,CACnE,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,IAAI,OAAO,KAAK,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,IAAI,gCAAgC,CAAC,CAAA;QACrF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAClE,IAAI,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,UAAU,CAAC,QAAiB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CACxB,sCAAsC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAC7G,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB,CAAC,MAAe;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CACxB,6CAA6C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAClH,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,MAAe;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACpC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CACxB,6DAA6D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAClI,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CACxB,qCAAqC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAY;QAC5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAC3C,IACE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;YACtB,QAAQ;YACR,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EACzB,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC5F,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,IAAI,gBAAgB,KAAK,kBAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpF,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CACxB,yEAAyE;gBACvE,2GAA2G,CAC9G,CAAA;QACH,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,KAAc;QACvC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,EAAoD;QAC9E,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,yFAAyF;IACzF,MAAM,CAAC,SAAS,CAAC,WAAmB,EAAE,EAA4C;QAChF,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,oFAAoF;IACpF,MAAM,CAAC,wBAAwB,CAAC,EAA8B;QAC5D,gBAAgB,GAAG,EAAE,CAAA;IACvB,CAAC;CACF;AAED,+EAA+E;AAC/E,yEAAyE;AACzE,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC/D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE;QACnD,KAAK;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAWD,qEAAqE;AACrE,SAAS,uBAAuB,CAAC,GAAgB;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;YAC/B,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,MAAe,CAAA;QACnB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;YAC/B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,GAAG;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,sFAAsF;oBACtF,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;oBAC1B,QAAQ,GAAG,IAAI,CAAA;gBACjB,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|