@hyperttp/core 1.2.0 → 1.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/Core/HyperCore.d.ts +13 -161
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +162 -272
- package/Core/HyperCore.js.map +1 -1
- package/package.json +3 -4
- package/transports/node.d.ts +1 -8
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +232 -113
- package/transports/node.js.map +1 -1
- package/utils/normalize.d.ts +6 -0
- package/utils/normalize.d.ts.map +1 -0
- package/utils/normalize.js +96 -0
- package/utils/normalize.js.map +1 -0
- package/utils/pipeline.d.ts +42 -0
- package/utils/pipeline.d.ts.map +1 -0
- package/utils/pipeline.js +86 -0
- package/utils/pipeline.js.map +1 -0
- package/utils/response.d.ts +4 -0
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +7 -0
- package/utils/response.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utils/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { HyperPlugin, PluginContext, InternalRequest, HttpResponse, HyperttpError, HttpClientOptions } from "@hyperttp/types";
|
|
2
|
+
/**
|
|
3
|
+
* @ru Структура записи хука с метаданными для оптимизации и сортировки.
|
|
4
|
+
* @en Hook record structure with metadata for optimization and sorting.
|
|
5
|
+
*/
|
|
6
|
+
export interface HookRecord<T> {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly priority: number;
|
|
9
|
+
readonly run: T;
|
|
10
|
+
}
|
|
11
|
+
export interface PipelineContainer {
|
|
12
|
+
readonly request: HookRecord<Required<HyperPlugin>["onRequest"]>[];
|
|
13
|
+
readonly responseMutators: HookRecord<Required<HyperPlugin>["onResponse"]>[];
|
|
14
|
+
readonly responseSideEffects: HookRecord<Required<HyperPlugin>["onResponse"]>[];
|
|
15
|
+
readonly error: HookRecord<Required<HyperPlugin>["onError"]>[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @ru Создает пустой контейнер для конвейеров плагинов.
|
|
19
|
+
* @en Creates an empty container for plugin pipelines.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createPipelines(): PipelineContainer;
|
|
22
|
+
/**
|
|
23
|
+
* @ru Вставляет хук в массив с сохранением сортировки по убыванию приоритета (деревья поиска тут избыточны).
|
|
24
|
+
* @en Inserts a hook into the array maintaining descending priority order.
|
|
25
|
+
*/
|
|
26
|
+
export declare function insertHookSorted<T>(list: HookRecord<T>[], hook: HookRecord<T>): void;
|
|
27
|
+
/**
|
|
28
|
+
* @ru Выполняет конвейер пред-запроса. Поддерживает short-circuit (ранний возврат ответа).
|
|
29
|
+
* @en Executes the pre-request pipeline. Supports short-circuiting.
|
|
30
|
+
*/
|
|
31
|
+
export declare function executeRequestPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onRequest"]>[], req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null>;
|
|
32
|
+
/**
|
|
33
|
+
* @ru Выполняет конвейер пост-ответа. Разделен на мутаторы (последовательно) и сайд-эффекты (в фоне).
|
|
34
|
+
* @en Executes the post-response pipeline. Split into mutators (sequential) and side-effects (background).
|
|
35
|
+
*/
|
|
36
|
+
export declare function executeResponsePipeline(mutators: readonly HookRecord<Required<HyperPlugin>["onResponse"]>[], sideEffects: readonly HookRecord<Required<HyperPlugin>["onResponse"]>[], res: HttpResponse<unknown>, req: InternalRequest, ctx: PluginContext, logger?: HttpClientOptions["logger"]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* @ru Выполняет конвейер перехвата ошибок. Первый вернувший HttpResponse плагин прерывает панику.
|
|
39
|
+
* @en Executes the error interception pipeline. First plugin to return HttpResponse stops the panic.
|
|
40
|
+
*/
|
|
41
|
+
export declare function executeErrorPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onError"]>[], error: HyperttpError, req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null>;
|
|
42
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/utils/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAC7E,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CACtC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CACpC,EAAE,CAAC;IACJ,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAOnD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EACrB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAClB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAChE,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAWvC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EACpE,WAAW,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EACvE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,EAC1B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAC9D,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAWvC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ru Создает пустой контейнер для конвейеров плагинов.
|
|
3
|
+
* @en Creates an empty container for plugin pipelines.
|
|
4
|
+
*/
|
|
5
|
+
export function createPipelines() {
|
|
6
|
+
return {
|
|
7
|
+
request: [],
|
|
8
|
+
responseMutators: [],
|
|
9
|
+
responseSideEffects: [],
|
|
10
|
+
error: [],
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @ru Вставляет хук в массив с сохранением сортировки по убыванию приоритета (деревья поиска тут избыточны).
|
|
15
|
+
* @en Inserts a hook into the array maintaining descending priority order.
|
|
16
|
+
*/
|
|
17
|
+
export function insertHookSorted(list, hook) {
|
|
18
|
+
const len = list.length;
|
|
19
|
+
let i = 0;
|
|
20
|
+
while (i < len && list[i].priority >= hook.priority) {
|
|
21
|
+
i++;
|
|
22
|
+
}
|
|
23
|
+
list.splice(i, 0, hook);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @ru Выполняет конвейер пред-запроса. Поддерживает short-circuit (ранний возврат ответа).
|
|
27
|
+
* @en Executes the pre-request pipeline. Supports short-circuiting.
|
|
28
|
+
*/
|
|
29
|
+
export async function executeRequestPipeline(hooks, req, ctx) {
|
|
30
|
+
const len = hooks.length;
|
|
31
|
+
if (len === 0)
|
|
32
|
+
return null;
|
|
33
|
+
for (let i = 0; i < len; i++) {
|
|
34
|
+
const shortCircuit = await hooks[i].run(req, ctx);
|
|
35
|
+
if (shortCircuit) {
|
|
36
|
+
return shortCircuit;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @ru Выполняет конвейер пост-ответа. Разделен на мутаторы (последовательно) и сайд-эффекты (в фоне).
|
|
43
|
+
* @en Executes the post-response pipeline. Split into mutators (sequential) and side-effects (background).
|
|
44
|
+
*/
|
|
45
|
+
export async function executeResponsePipeline(mutators, sideEffects, res, req, ctx, logger) {
|
|
46
|
+
// 1. Запуск фоновых сайд-эффектов (Background Phase) - Fire and Forget безопасно для основного потока
|
|
47
|
+
const seLen = sideEffects.length;
|
|
48
|
+
if (seLen > 0) {
|
|
49
|
+
for (let i = 0; i < seLen; i++) {
|
|
50
|
+
const effect = sideEffects[i];
|
|
51
|
+
try {
|
|
52
|
+
const promise = effect.run(res, req, ctx);
|
|
53
|
+
if (promise && typeof promise.catch === "function") {
|
|
54
|
+
promise.catch((err) => logger?.("warn", `Background hook ${effect.name} crashed: ${err instanceof Error ? err.message : String(err)}`));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
logger?.("warn", `Sync background hook ${effect.name} crashed: ${err instanceof Error ? err.message : String(err)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// 2. Запуск мутаторов ответа (Mutator Phase) - Изменяют объект ответа последовательно
|
|
63
|
+
const mutLen = mutators.length;
|
|
64
|
+
if (mutLen > 0) {
|
|
65
|
+
for (let i = 0; i < mutLen; i++) {
|
|
66
|
+
await mutators[i].run(res, req, ctx);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @ru Выполняет конвейер перехвата ошибок. Первый вернувший HttpResponse плагин прерывает панику.
|
|
72
|
+
* @en Executes the error interception pipeline. First plugin to return HttpResponse stops the panic.
|
|
73
|
+
*/
|
|
74
|
+
export async function executeErrorPipeline(hooks, error, req, ctx) {
|
|
75
|
+
const len = hooks.length;
|
|
76
|
+
if (len === 0)
|
|
77
|
+
return null;
|
|
78
|
+
for (let i = 0; i < len; i++) {
|
|
79
|
+
const recovered = await hooks[i].run(error, req, ctx);
|
|
80
|
+
if (recovered) {
|
|
81
|
+
return recovered;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/utils/pipeline.ts"],"names":[],"mappings":"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"}
|
package/utils/response.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export declare const mapResponseFast: (rawResponse: TransportResponse) => {
|
|
|
22
22
|
body: import("@hyperttp/types").TransportResponsePayload;
|
|
23
23
|
url: string;
|
|
24
24
|
clone: typeof responseCloneHandler;
|
|
25
|
+
json: <T = unknown>() => Promise<T>;
|
|
26
|
+
text: () => Promise<string>;
|
|
27
|
+
dump: () => Promise<void>;
|
|
28
|
+
data: null;
|
|
25
29
|
};
|
|
26
30
|
/**
|
|
27
31
|
* @ru Быстрый маппинг сырого ответа транспорта в специализированный объект потокового ответа StreamResponse.
|
package/utils/response.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,CAsB1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACpB,YAAY,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,CAsB1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACpB,YAAY,CAAC,CAAC,CAAC,CAWjB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,iBAAiB;;;;;;;;;;CAU5D,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,aAAa,iBAAiB,KAC7B,cAAc,CAAC,OAAO,CAKvB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACvC,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,KAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CASlC,CAAC"}
|
package/utils/response.js
CHANGED
|
@@ -35,6 +35,9 @@ export function responseCloneHandler() {
|
|
|
35
35
|
body: cloneBodyFast(this.body),
|
|
36
36
|
url: this.url,
|
|
37
37
|
clone: responseCloneHandler,
|
|
38
|
+
json: this.json,
|
|
39
|
+
text: this.text,
|
|
40
|
+
dump: this.dump,
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
@@ -48,6 +51,10 @@ export const mapResponseFast = (rawResponse) => ({
|
|
|
48
51
|
body: rawResponse.body,
|
|
49
52
|
url: rawResponse.url ?? "",
|
|
50
53
|
clone: responseCloneHandler,
|
|
54
|
+
json: rawResponse.json,
|
|
55
|
+
text: rawResponse.text,
|
|
56
|
+
dump: rawResponse.dump,
|
|
57
|
+
data: null,
|
|
51
58
|
});
|
|
52
59
|
/**
|
|
53
60
|
* @ru Быстрый маппинг сырого ответа транспорта в специализированный объект потокового ответа StreamResponse.
|
package/utils/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAAO,EAAK,EAAE;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,IACE,IAAI,YAAY,UAAU;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAM,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAGlC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAAO,EAAK,EAAE;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,IACE,IAAI,YAAY,UAAU;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAM,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAGlC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAA8B,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,EAAE;IAC1B,KAAK,EAAE,oBAAoB;IAC3B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAA8B,EACL,EAAE,CAAC,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,EAAE;CAC3B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAuC,EACvC,QAA4C,EACT,EAAE;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|