@appkit/llamacpp-cli 1.14.0 → 2.0.0
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 +5 -3
- package/dist/lib/anthropic-converter.d.ts.map +1 -1
- package/dist/lib/anthropic-converter.js +31 -1
- package/dist/lib/anthropic-converter.js.map +1 -1
- package/dist/lib/anthropic-stream-converter.d.ts.map +1 -1
- package/dist/lib/anthropic-stream-converter.js +44 -5
- package/dist/lib/anthropic-stream-converter.js.map +1 -1
- package/dist/lib/router-server.d.ts +4 -7
- package/dist/lib/router-server.d.ts.map +1 -1
- package/dist/lib/router-server.js +49 -170
- package/dist/lib/router-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# llamacpp-cli
|
|
2
2
|
|
|
3
|
+
> **Note:** llamacpp-cli only works on **macOS** and requires [llama.cpp](https://github.com/ggerganov/llama.cpp) to be installed.
|
|
4
|
+
|
|
3
5
|
> Manage llama.cpp servers like Ollama—but faster. Full control over llama-server with macOS launchctl integration.
|
|
4
6
|
|
|
5
7
|
CLI tool to manage local llama.cpp servers on macOS. Provides an Ollama-like experience for managing GGUF models and llama-server instances, with **significantly faster response times** than Ollama.
|
|
@@ -377,7 +379,7 @@ The `llamacpp server monitor` command is deprecated. Use `llamacpp` instead to l
|
|
|
377
379
|
|
|
378
380
|
## Router (Unified Endpoint)
|
|
379
381
|
|
|
380
|
-
The router provides a single
|
|
382
|
+
The router provides a single unified endpoint that automatically routes requests to the correct backend server based on the model name. Supports both OpenAI and Anthropic API formats. Perfect for LLM clients that don't support multiple endpoints.
|
|
381
383
|
|
|
382
384
|
### Quick Start
|
|
383
385
|
|
|
@@ -427,8 +429,8 @@ response = client.chat.completions.create(
|
|
|
427
429
|
- `GET /v1/models` - List all available models from running servers
|
|
428
430
|
|
|
429
431
|
**Anthropic-Compatible:**
|
|
430
|
-
- `POST /v1/messages` - Anthropic Messages API (with tool calling support)
|
|
431
|
-
- `POST /v1/messages/count_tokens` - Token counting
|
|
432
|
+
- `POST /v1/messages` - Anthropic Messages API (with streaming and tool calling support)
|
|
433
|
+
- `POST /v1/messages/count_tokens` - Token counting (estimated)
|
|
432
434
|
- `GET /v1/models/{model}` - Retrieve specific model info
|
|
433
435
|
|
|
434
436
|
**System:**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-converter.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic-converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAKzB,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,6BAA6B,CAAC;AAMrC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,GAAG,iBAAiB,CAmDpF;
|
|
1
|
+
{"version":3,"file":"anthropic-converter.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic-converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAKzB,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,6BAA6B,CAAC;AAMrC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,GAAG,iBAAiB,CAmDpF;AAkID,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,kBAAkB,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,yBAAyB,CA6C3B;AA0BD,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAiCzE;AAMD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;EAmCvE"}
|
|
@@ -141,6 +141,33 @@ function extractTextFromContentBlocks(blocks) {
|
|
|
141
141
|
// ============================================================================
|
|
142
142
|
// Response Conversion: OpenAI → Anthropic
|
|
143
143
|
// ============================================================================
|
|
144
|
+
/**
|
|
145
|
+
* Recursively unescape strings in tool call parameters
|
|
146
|
+
* Fixes issue where llama.cpp doesn't properly unescape Qwen3's XML format
|
|
147
|
+
*/
|
|
148
|
+
function unescapeToolParameters(obj) {
|
|
149
|
+
if (typeof obj === 'string') {
|
|
150
|
+
// Unescape common escape sequences
|
|
151
|
+
return obj
|
|
152
|
+
.replace(/\\n/g, '\n')
|
|
153
|
+
.replace(/\\r/g, '\r')
|
|
154
|
+
.replace(/\\t/g, '\t')
|
|
155
|
+
.replace(/\\"/g, '"')
|
|
156
|
+
.replace(/\\'/g, "'")
|
|
157
|
+
.replace(/\\\\/g, '\\'); // Backslash must be last
|
|
158
|
+
}
|
|
159
|
+
if (Array.isArray(obj)) {
|
|
160
|
+
return obj.map(unescapeToolParameters);
|
|
161
|
+
}
|
|
162
|
+
if (obj !== null && typeof obj === 'object') {
|
|
163
|
+
const result = {};
|
|
164
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
165
|
+
result[key] = unescapeToolParameters(value);
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
return obj;
|
|
170
|
+
}
|
|
144
171
|
function toMessagesResponse(openaiRes, messageId) {
|
|
145
172
|
const id = messageId || generateMessageId();
|
|
146
173
|
const choice = openaiRes.choices[0];
|
|
@@ -156,11 +183,14 @@ function toMessagesResponse(openaiRes, messageId) {
|
|
|
156
183
|
// Add tool calls
|
|
157
184
|
if (message.tool_calls) {
|
|
158
185
|
for (const tc of message.tool_calls) {
|
|
186
|
+
const rawInput = JSON.parse(tc.function.arguments || '{}');
|
|
187
|
+
// Unescape strings to fix llama.cpp XML parsing issue with Qwen3
|
|
188
|
+
const unescapedInput = unescapeToolParameters(rawInput);
|
|
159
189
|
content.push({
|
|
160
190
|
type: 'tool_use',
|
|
161
191
|
id: tc.id,
|
|
162
192
|
name: tc.function.name,
|
|
163
|
-
input:
|
|
193
|
+
input: unescapedInput,
|
|
164
194
|
});
|
|
165
195
|
}
|
|
166
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/lib/anthropic-converter.ts"],"names":[],"mappings":";;AAmBA,kDAmDC;
|
|
1
|
+
{"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/lib/anthropic-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-stream-converter.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic-stream-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAOrB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic-stream-converter.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic-stream-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAOrB,MAAM,6BAA6B,CAAC;AAiCrC;;;;GAIG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,oBAAoB,CAAS;IAGrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,aAAa,CAAqB;gBAE9B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAOnE;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,oBAAoB,EAAE;IA2E7D,OAAO,CAAC,oBAAoB;IAwD5B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;CAkBxB"}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnthropicStreamConverter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Recursively unescape strings in tool call parameters
|
|
6
|
+
* Fixes issue where llama.cpp doesn't properly unescape Qwen3's XML format
|
|
7
|
+
*/
|
|
8
|
+
function unescapeToolParameters(obj) {
|
|
9
|
+
if (typeof obj === 'string') {
|
|
10
|
+
// Unescape common escape sequences
|
|
11
|
+
return obj
|
|
12
|
+
.replace(/\\n/g, '\n')
|
|
13
|
+
.replace(/\\r/g, '\r')
|
|
14
|
+
.replace(/\\t/g, '\t')
|
|
15
|
+
.replace(/\\"/g, '"')
|
|
16
|
+
.replace(/\\'/g, "'")
|
|
17
|
+
.replace(/\\\\/g, '\\'); // Backslash must be last
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(obj)) {
|
|
20
|
+
return obj.map(unescapeToolParameters);
|
|
21
|
+
}
|
|
22
|
+
if (obj !== null && typeof obj === 'object') {
|
|
23
|
+
const result = {};
|
|
24
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
25
|
+
result[key] = unescapeToolParameters(value);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
return obj;
|
|
30
|
+
}
|
|
4
31
|
/**
|
|
5
32
|
* StreamConverter manages state for converting OpenAI streaming responses to Anthropic format.
|
|
6
33
|
*
|
|
@@ -60,9 +87,22 @@ class AnthropicStreamConverter {
|
|
|
60
87
|
events.push(this.createContentBlockStopEvent(this.contentIndex));
|
|
61
88
|
this.contentIndex++;
|
|
62
89
|
}
|
|
63
|
-
// Close any open tool calls
|
|
90
|
+
// Close any open tool calls - send unescaped input before closing
|
|
64
91
|
for (const [index, state] of this.toolCallsInProgress.entries()) {
|
|
65
92
|
if (state.started && !state.completed) {
|
|
93
|
+
// Send unescaped tool input now that it's complete
|
|
94
|
+
if (state.arguments) {
|
|
95
|
+
try {
|
|
96
|
+
const parsedInput = JSON.parse(state.arguments);
|
|
97
|
+
const unescapedInput = unescapeToolParameters(parsedInput);
|
|
98
|
+
const correctedJson = JSON.stringify(unescapedInput);
|
|
99
|
+
events.push(this.createInputJsonDeltaEvent(state.blockIndex, correctedJson));
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
// If parsing fails, send raw arguments
|
|
103
|
+
events.push(this.createInputJsonDeltaEvent(state.blockIndex, state.arguments));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
66
106
|
events.push(this.createContentBlockStopEvent(state.blockIndex));
|
|
67
107
|
state.completed = true;
|
|
68
108
|
}
|
|
@@ -113,10 +153,9 @@ class AnthropicStreamConverter {
|
|
|
113
153
|
state.blockIndex = this.contentIndex;
|
|
114
154
|
events.push(this.createToolUseStartEvent(state.id, state.name));
|
|
115
155
|
}
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
156
|
+
// NOTE: We don't send input_json_delta events incrementally anymore.
|
|
157
|
+
// Instead, we buffer the arguments and send them unescaped when the tool call completes.
|
|
158
|
+
// This fixes the issue where llama.cpp doesn't properly unescape Qwen3's XML format.
|
|
120
159
|
return events;
|
|
121
160
|
}
|
|
122
161
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-stream-converter.js","sourceRoot":"","sources":["../../src/lib/anthropic-stream-converter.ts"],"names":[],"mappings":";;;AAWA;;;;GAIG;AACH,MAAa,wBAAwB;IAenC,YAAY,EAAU,EAAE,KAAa,EAAE,oBAA4B;QAZ3D,eAAU,GAAY,IAAI,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QAEzB,iBAAY,GAAW,CAAC,CAAC;QAGjC,iBAAiB;QACT,gBAAW,GAAY,KAAK,CAAC;QAC7B,uBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;QACvD,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAGxC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAA4B;QAClC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,sBAAsB;QACtB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,gCAAgC;YAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"anthropic-stream-converter.js","sourceRoot":"","sources":["../../src/lib/anthropic-stream-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,20 +27,17 @@ declare class RouterServer {
|
|
|
27
27
|
private handleModelRetrieve;
|
|
28
28
|
/**
|
|
29
29
|
* Count tokens endpoint - Anthropic token counting API
|
|
30
|
+
* Uses rough estimation since we can't proxy to llama.cpp for this
|
|
30
31
|
*/
|
|
31
32
|
private handleCountTokens;
|
|
32
33
|
/**
|
|
33
|
-
* Anthropic Messages API endpoint -
|
|
34
|
+
* Anthropic Messages API endpoint - proxy directly to llama.cpp's /v1/messages
|
|
34
35
|
*/
|
|
35
36
|
private handleAnthropicMessages;
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
+
* Proxy Anthropic Messages request directly to llama.cpp (no conversion)
|
|
38
39
|
*/
|
|
39
|
-
private
|
|
40
|
-
/**
|
|
41
|
-
* Handle streaming Anthropic Messages request
|
|
42
|
-
*/
|
|
43
|
-
private handleAnthropicStreaming;
|
|
40
|
+
private proxyAnthropicRequest;
|
|
44
41
|
/**
|
|
45
42
|
* Chat completions endpoint - route to backend server
|
|
46
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-server.d.ts","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"router-server.d.ts","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":";AAgCA;;GAEG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;YACW,aAAa;IA8C3B;;OAEG;YACW,YAAY;IAS1B;;OAEG;YACW,YAAY;IAoB1B;;;OAGG;YACW,mBAAmB;IAiBjC;;;OAGG;YACW,iBAAiB;IAiC/B;;OAEG;YACW,uBAAuB;IA0GrC;;OAEG;YACW,qBAAqB;IA4FnC;;OAEG;YACW,qBAAqB;IAmEnC;;OAEG;YACW,gBAAgB;IA4E9B;;OAEG;YACW,YAAY;IA4D1B;;OAEG;YACW,QAAQ;IAStB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;YACW,aAAa;IAwB3B;;OAEG;YACW,UAAU;IAyBxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;YACW,kBAAkB;CAwCjC;AAkBD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -42,8 +42,6 @@ const fs = __importStar(require("fs/promises"));
|
|
|
42
42
|
const path = __importStar(require("path"));
|
|
43
43
|
const file_utils_1 = require("../utils/file-utils");
|
|
44
44
|
const router_logger_1 = require("./router-logger");
|
|
45
|
-
const anthropic_converter_1 = require("./anthropic-converter");
|
|
46
|
-
const anthropic_stream_converter_1 = require("./anthropic-stream-converter");
|
|
47
45
|
/**
|
|
48
46
|
* Router HTTP server - proxies requests to backend llama.cpp servers
|
|
49
47
|
*/
|
|
@@ -190,6 +188,7 @@ class RouterServer {
|
|
|
190
188
|
}
|
|
191
189
|
/**
|
|
192
190
|
* Count tokens endpoint - Anthropic token counting API
|
|
191
|
+
* Uses rough estimation since we can't proxy to llama.cpp for this
|
|
193
192
|
*/
|
|
194
193
|
async handleCountTokens(req, res) {
|
|
195
194
|
try {
|
|
@@ -221,7 +220,7 @@ class RouterServer {
|
|
|
221
220
|
}
|
|
222
221
|
}
|
|
223
222
|
/**
|
|
224
|
-
* Anthropic Messages API endpoint -
|
|
223
|
+
* Anthropic Messages API endpoint - proxy directly to llama.cpp's /v1/messages
|
|
225
224
|
*/
|
|
226
225
|
async handleAnthropicMessages(req, res) {
|
|
227
226
|
const timer = new router_logger_1.RequestTimer();
|
|
@@ -239,9 +238,8 @@ class RouterServer {
|
|
|
239
238
|
catch (error) {
|
|
240
239
|
statusCode = 400;
|
|
241
240
|
errorMsg = 'Invalid JSON in request body';
|
|
242
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
243
241
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
244
|
-
res.end(JSON.stringify(
|
|
242
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'invalid_request_error', message: errorMsg } }));
|
|
245
243
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg);
|
|
246
244
|
return;
|
|
247
245
|
}
|
|
@@ -257,27 +255,24 @@ class RouterServer {
|
|
|
257
255
|
if (!anthropicRequest.model) {
|
|
258
256
|
statusCode = 400;
|
|
259
257
|
errorMsg = 'Missing "model" field in request';
|
|
260
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
261
258
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
262
|
-
res.end(JSON.stringify(
|
|
259
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'invalid_request_error', message: errorMsg } }));
|
|
263
260
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
264
261
|
return;
|
|
265
262
|
}
|
|
266
263
|
if (!anthropicRequest.max_tokens || anthropicRequest.max_tokens <= 0) {
|
|
267
264
|
statusCode = 400;
|
|
268
265
|
errorMsg = 'max_tokens is required and must be positive';
|
|
269
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
270
266
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
271
|
-
res.end(JSON.stringify(
|
|
267
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'invalid_request_error', message: errorMsg } }));
|
|
272
268
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
273
269
|
return;
|
|
274
270
|
}
|
|
275
271
|
if (!anthropicRequest.messages || anthropicRequest.messages.length === 0) {
|
|
276
272
|
statusCode = 400;
|
|
277
273
|
errorMsg = 'messages is required and must be non-empty';
|
|
278
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
279
274
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
280
|
-
res.end(JSON.stringify(
|
|
275
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'invalid_request_error', message: errorMsg } }));
|
|
281
276
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
282
277
|
return;
|
|
283
278
|
}
|
|
@@ -286,9 +281,8 @@ class RouterServer {
|
|
|
286
281
|
if (!server) {
|
|
287
282
|
statusCode = 404;
|
|
288
283
|
errorMsg = `No server found for model: ${modelName}`;
|
|
289
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
290
284
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
291
|
-
res.end(JSON.stringify(
|
|
285
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'not_found_error', message: errorMsg } }));
|
|
292
286
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
293
287
|
return;
|
|
294
288
|
}
|
|
@@ -296,44 +290,34 @@ class RouterServer {
|
|
|
296
290
|
if (server.status !== 'running') {
|
|
297
291
|
statusCode = 503;
|
|
298
292
|
errorMsg = `Server for model ${modelName} is not running (status: ${server.status})`;
|
|
299
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
300
293
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
301
|
-
res.end(JSON.stringify(
|
|
294
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'overloaded_error', message: errorMsg } }));
|
|
302
295
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
303
296
|
return;
|
|
304
297
|
}
|
|
305
|
-
//
|
|
306
|
-
const openAIRequest = (0, anthropic_converter_1.fromMessagesRequest)(anthropicRequest);
|
|
307
|
-
// Generate message ID for response
|
|
308
|
-
const messageId = (0, anthropic_converter_1.generateMessageId)();
|
|
309
|
-
// Proxy request to backend
|
|
298
|
+
// Proxy request directly to llama.cpp's /v1/messages endpoint
|
|
310
299
|
const backendHost = server.host === '0.0.0.0' ? '127.0.0.1' : server.host;
|
|
311
|
-
const backendUrl = `http://${backendHost}:${server.port}/v1/
|
|
312
|
-
//
|
|
313
|
-
|
|
314
|
-
await this.handleAnthropicStreaming(anthropicRequest, openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server);
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
await this.handleAnthropicNonStreaming(openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server);
|
|
318
|
-
}
|
|
300
|
+
const backendUrl = `http://${backendHost}:${server.port}/v1/messages`;
|
|
301
|
+
// Proxy the request as-is (no conversion needed)
|
|
302
|
+
await this.proxyAnthropicRequest(backendUrl, anthropicRequest, res, timer, modelName, promptPreview, server);
|
|
319
303
|
}
|
|
320
304
|
catch (error) {
|
|
321
305
|
console.error('[Router] Error handling Anthropic messages request:', error);
|
|
322
306
|
statusCode = 500;
|
|
323
307
|
errorMsg = error.message;
|
|
324
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
325
308
|
if (!res.headersSent) {
|
|
326
309
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
327
|
-
res.end(JSON.stringify(
|
|
310
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'api_error', message: errorMsg } }));
|
|
328
311
|
}
|
|
329
312
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
|
|
330
313
|
}
|
|
331
314
|
}
|
|
332
315
|
/**
|
|
333
|
-
*
|
|
316
|
+
* Proxy Anthropic Messages request directly to llama.cpp (no conversion)
|
|
334
317
|
*/
|
|
335
|
-
async
|
|
318
|
+
async proxyAnthropicRequest(backendUrl, anthropicRequest, res, timer, modelName, promptPreview, server) {
|
|
336
319
|
const url = new url_1.URL(backendUrl);
|
|
320
|
+
const requestBody = JSON.stringify(anthropicRequest);
|
|
337
321
|
const options = {
|
|
338
322
|
hostname: url.hostname,
|
|
339
323
|
port: url.port,
|
|
@@ -341,71 +325,50 @@ class RouterServer {
|
|
|
341
325
|
method: 'POST',
|
|
342
326
|
headers: {
|
|
343
327
|
'Content-Type': 'application/json',
|
|
328
|
+
'Content-Length': Buffer.byteLength(requestBody),
|
|
344
329
|
},
|
|
345
330
|
timeout: this.config.requestTimeout,
|
|
346
331
|
};
|
|
347
332
|
return new Promise((resolve, reject) => {
|
|
348
333
|
const backendReq = http.request(options, (backendRes) => {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
362
|
-
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
363
|
-
res.end(JSON.stringify(anthropicError));
|
|
364
|
-
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
|
|
365
|
-
reject(new Error(errorMsg));
|
|
366
|
-
return;
|
|
367
|
-
}
|
|
368
|
-
// Check if response has required fields for a completion
|
|
369
|
-
if (!parsedResponse.choices || !Array.isArray(parsedResponse.choices) || parsedResponse.choices.length === 0) {
|
|
370
|
-
const statusCode = 502;
|
|
371
|
-
const errorMsg = 'Invalid backend response: missing choices array';
|
|
372
|
-
console.error('[Router] Backend response missing choices:', responseData.slice(0, 500));
|
|
373
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
374
|
-
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
375
|
-
res.end(JSON.stringify(anthropicError));
|
|
376
|
-
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
|
|
377
|
-
reject(new Error(errorMsg));
|
|
378
|
-
return;
|
|
379
|
-
}
|
|
380
|
-
const openAIResponse = parsedResponse;
|
|
381
|
-
// Convert OpenAI response to Anthropic format
|
|
382
|
-
const anthropicResponse = (0, anthropic_converter_1.toMessagesResponse)(openAIResponse, messageId);
|
|
383
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
384
|
-
res.end(JSON.stringify(anthropicResponse));
|
|
385
|
-
await this.logRequest(modelName, '/v1/messages', 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
|
|
334
|
+
// Handle streaming vs non-streaming
|
|
335
|
+
if (anthropicRequest.stream) {
|
|
336
|
+
// For streaming, set SSE headers and pipe response
|
|
337
|
+
res.writeHead(backendRes.statusCode || 200, {
|
|
338
|
+
'Content-Type': 'text/event-stream',
|
|
339
|
+
'Cache-Control': 'no-cache',
|
|
340
|
+
'Connection': 'keep-alive',
|
|
341
|
+
});
|
|
342
|
+
// Pipe response directly (llama.cpp sends correct Anthropic SSE format)
|
|
343
|
+
backendRes.pipe(res);
|
|
344
|
+
backendRes.on('end', async () => {
|
|
345
|
+
await this.logRequest(modelName, '/v1/messages', backendRes.statusCode || 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
|
|
386
346
|
resolve();
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
// For non-streaming, collect response and forward
|
|
351
|
+
let responseData = '';
|
|
352
|
+
backendRes.on('data', (chunk) => {
|
|
353
|
+
responseData += chunk.toString();
|
|
354
|
+
});
|
|
355
|
+
backendRes.on('end', async () => {
|
|
356
|
+
res.writeHead(backendRes.statusCode || 200, {
|
|
357
|
+
'Content-Type': 'application/json',
|
|
358
|
+
});
|
|
359
|
+
res.end(responseData);
|
|
360
|
+
await this.logRequest(modelName, '/v1/messages', backendRes.statusCode || 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
|
|
361
|
+
resolve();
|
|
362
|
+
});
|
|
363
|
+
}
|
|
400
364
|
});
|
|
401
365
|
backendReq.on('error', async (error) => {
|
|
402
366
|
console.error('[Router] Proxy request failed:', error);
|
|
403
367
|
const statusCode = 502;
|
|
404
368
|
const errorMsg = `Backend request failed: ${error.message}`;
|
|
405
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
406
369
|
if (!res.headersSent) {
|
|
407
370
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
408
|
-
res.end(JSON.stringify(
|
|
371
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'api_error', message: errorMsg } }));
|
|
409
372
|
}
|
|
410
373
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
|
|
411
374
|
reject(error);
|
|
@@ -415,98 +378,14 @@ class RouterServer {
|
|
|
415
378
|
backendReq.destroy();
|
|
416
379
|
const statusCode = 504;
|
|
417
380
|
const errorMsg = 'Request timeout';
|
|
418
|
-
const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
|
|
419
381
|
if (!res.headersSent) {
|
|
420
382
|
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
421
|
-
res.end(JSON.stringify(
|
|
383
|
+
res.end(JSON.stringify({ type: 'error', error: { type: 'api_error', message: errorMsg } }));
|
|
422
384
|
}
|
|
423
385
|
await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
|
|
424
386
|
reject(new Error('Request timeout'));
|
|
425
387
|
});
|
|
426
|
-
backendReq.write(
|
|
427
|
-
backendReq.end();
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
/**
|
|
431
|
-
* Handle streaming Anthropic Messages request
|
|
432
|
-
*/
|
|
433
|
-
async handleAnthropicStreaming(anthropicRequest, openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server) {
|
|
434
|
-
// Set SSE headers
|
|
435
|
-
res.writeHead(200, {
|
|
436
|
-
'Content-Type': 'text/event-stream',
|
|
437
|
-
'Cache-Control': 'no-cache',
|
|
438
|
-
'Connection': 'keep-alive',
|
|
439
|
-
});
|
|
440
|
-
// Create stream converter
|
|
441
|
-
const estimatedTokens = (0, anthropic_converter_1.estimateInputTokens)(anthropicRequest);
|
|
442
|
-
const converter = new anthropic_stream_converter_1.AnthropicStreamConverter(messageId, anthropicRequest.model, estimatedTokens);
|
|
443
|
-
const url = new url_1.URL(backendUrl);
|
|
444
|
-
const options = {
|
|
445
|
-
hostname: url.hostname,
|
|
446
|
-
port: url.port,
|
|
447
|
-
path: url.pathname,
|
|
448
|
-
method: 'POST',
|
|
449
|
-
headers: {
|
|
450
|
-
'Content-Type': 'application/json',
|
|
451
|
-
},
|
|
452
|
-
timeout: this.config.requestTimeout,
|
|
453
|
-
};
|
|
454
|
-
return new Promise((resolve, reject) => {
|
|
455
|
-
const backendReq = http.request(options, (backendRes) => {
|
|
456
|
-
let buffer = '';
|
|
457
|
-
backendRes.on('data', (chunk) => {
|
|
458
|
-
buffer += chunk.toString();
|
|
459
|
-
// Process complete SSE events
|
|
460
|
-
const lines = buffer.split('\n');
|
|
461
|
-
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
462
|
-
for (const line of lines) {
|
|
463
|
-
if (line.startsWith('data: ')) {
|
|
464
|
-
const data = line.slice(6);
|
|
465
|
-
if (data === '[DONE]') {
|
|
466
|
-
res.write('data: [DONE]\n\n');
|
|
467
|
-
continue;
|
|
468
|
-
}
|
|
469
|
-
try {
|
|
470
|
-
const chunk = JSON.parse(data);
|
|
471
|
-
const events = converter.process(chunk);
|
|
472
|
-
// Emit Anthropic SSE events
|
|
473
|
-
for (const event of events) {
|
|
474
|
-
res.write(`event: ${event.type}\n`);
|
|
475
|
-
res.write(`data: ${JSON.stringify(event)}\n\n`);
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
catch (error) {
|
|
479
|
-
console.error('[Router] Error parsing streaming chunk:', error);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
});
|
|
484
|
-
backendRes.on('end', async () => {
|
|
485
|
-
res.end();
|
|
486
|
-
await this.logRequest(modelName, '/v1/messages', 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
|
|
487
|
-
resolve();
|
|
488
|
-
});
|
|
489
|
-
});
|
|
490
|
-
backendReq.on('error', async (error) => {
|
|
491
|
-
console.error('[Router] Streaming proxy request failed:', error);
|
|
492
|
-
const errorEvent = (0, anthropic_converter_1.createAnthropicError)(502, `Backend request failed: ${error.message}`);
|
|
493
|
-
res.write(`event: error\n`);
|
|
494
|
-
res.write(`data: ${JSON.stringify(errorEvent)}\n\n`);
|
|
495
|
-
res.end();
|
|
496
|
-
await this.logRequest(modelName, '/v1/messages', 502, timer.elapsed(), error.message, `${server.host}:${server.port}`, promptPreview);
|
|
497
|
-
reject(error);
|
|
498
|
-
});
|
|
499
|
-
backendReq.on('timeout', async () => {
|
|
500
|
-
console.error('[Router] Streaming proxy request timed out');
|
|
501
|
-
backendReq.destroy();
|
|
502
|
-
const errorEvent = (0, anthropic_converter_1.createAnthropicError)(504, 'Request timeout');
|
|
503
|
-
res.write(`event: error\n`);
|
|
504
|
-
res.write(`data: ${JSON.stringify(errorEvent)}\n\n`);
|
|
505
|
-
res.end();
|
|
506
|
-
await this.logRequest(modelName, '/v1/messages', 504, timer.elapsed(), 'Request timeout', `${server.host}:${server.port}`, promptPreview);
|
|
507
|
-
reject(new Error('Request timeout'));
|
|
508
|
-
});
|
|
509
|
-
backendReq.write(JSON.stringify(openAIRequest));
|
|
388
|
+
backendReq.write(requestBody);
|
|
510
389
|
backendReq.end();
|
|
511
390
|
});
|
|
512
391
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-server.js","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,6CAA+B;AAC/B,6BAA0B;AAC1B,gDAAkC;AAClC,2CAA6B;AAG7B,oDAAwF;AACxF,mDAA6E;AAC7E,+DAM+B;AAC/B,6EAAwE;AAyBxE;;GAEG;AACH,MAAM,YAAY;IAKhB,KAAK,CAAC,UAAU;QACd,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,yBAAY,GAAE,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,MAAM,IAAA,uBAAU,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAA,qBAAQ,EAAe,UAAU,CAAC,CAAC;QAEvD,yCAAyC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpD,4BAA4B;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAEnC,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACjD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC1D,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,GAAyB,EAAE,GAAwB;QAC7E,eAAe;QACf,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAE7E,2BAA2B;QAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;YAEnC,IAAI,GAAG,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACpC,uCAAuC;gBACvC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,GAAG,KAAK,YAAY,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACpD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACpF,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvE,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjE,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,GAAyB,EAAE,GAAwB;QAC5E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,GAAyB,EAAE,GAAwB;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAgB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,MAAM,CAAC,SAAS;YACpB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAChE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAmB;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAyB,EAAE,GAAwB,EAAE,OAAe;QACpG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAEpF,iFAAiF;QACjF,kEAAkE;QAClE,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACzG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;SAC5C,CAAC;QAEF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,GAAyB,EAAE,GAAwB;QACjF,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjC,iEAAiE;YACjE,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,UAAU,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACnH,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5F,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAElD,mDAAmD;YACnD,MAAM,QAAQ,GAAG;gBACf,YAAY,EAAE,eAAe;aAC9B,CAAC;YAEF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,GAAyB,EAAE,GAAwB;QACvF,MAAM,KAAK,GAAG,IAAI,4BAAY,EAAE,CAAC;QACjC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,QAA4B,CAAC;QACjC,IAAI,aAAiC,CAAC;QAEtC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,gBAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,CAAC;gBAC1C,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACxF,OAAO;YACT,CAAC;YAED,wCAAwC;YACxC,SAAS,GAAG,gBAAgB,CAAC,KAAK,IAAI,SAAS,CAAC;YAChD,IAAI,gBAAgB,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACvE,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACnD,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC5B,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,kCAAkC,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,gBAAgB,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;gBACrE,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,6CAA6C,CAAC;gBACzD,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzE,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,4CAA4C,CAAC;gBACxD,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,SAAS,EAAE,CAAC;gBACrD,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YAED,6BAA6B;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,oBAAoB,SAAS,4BAA4B,MAAM,CAAC,MAAM,GAAG,CAAC;gBACrF,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClH,OAAO;YACT,CAAC;YAED,6CAA6C;YAC7C,MAAM,aAAa,GAAsB,IAAA,yCAAmB,EAAC,gBAAgB,CAAC,CAAC;YAE/E,mCAAmC;YACnC,MAAM,SAAS,GAAG,IAAA,uCAAiB,GAAE,CAAC;YAEtC,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1E,MAAM,UAAU,GAAG,UAAU,WAAW,IAAI,MAAM,CAAC,IAAI,sBAAsB,CAAC;YAE9E,oCAAoC;YACpC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,wBAAwB,CACjC,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,aAAa,EACb,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,2BAA2B,CACpC,aAAa,EACb,UAAU,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,aAAa,EACb,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;YAC5E,UAAU,GAAG,GAAG,CAAC;YACjB,QAAQ,GAAI,KAAe,CAAC,OAAO,CAAC;YACpC,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,2BAA2B,CACvC,aAAgC,EAChC,UAAkB,EAClB,SAAiB,EACjB,GAAwB,EACxB,KAAmB,EACnB,SAAiB,EACjB,aAAiC,EACjC,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,OAAO,GAAwB;YACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtD,IAAI,YAAY,GAAG,EAAE,CAAC;gBAEtB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC9B,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBAC9B,IAAI,CAAC;wBACH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBAEhD,qCAAqC;wBACrC,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;4BACzB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,GAAG,CAAC;4BAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;4BACjE,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;4BAC5D,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;4BAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;4BACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;4BACxI,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAC5B,OAAO;wBACT,CAAC;wBAED,yDAAyD;wBACzD,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7G,MAAM,UAAU,GAAG,GAAG,CAAC;4BACvB,MAAM,QAAQ,GAAG,iDAAiD,CAAC;4BACnE,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;4BACxF,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;4BAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;4BACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;4BACxI,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAC5B,OAAO;wBACT,CAAC;wBAED,MAAM,cAAc,GAAuB,cAAc,CAAC;wBAE1D,8CAA8C;wBAC9C,MAAM,iBAAiB,GAAG,IAAA,wCAAkB,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;wBAExE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAE3C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;wBAClI,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;wBACpE,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC1E,MAAM,UAAU,GAAG,GAAG,CAAC;wBACvB,MAAM,QAAQ,GAAG,uCAAwC,KAAe,CAAC,OAAO,EAAE,CAAC;wBACnF,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBAClE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;wBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;wBACxI,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,MAAM,QAAQ,GAAG,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5D,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBACxI,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBACxI,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,gBAA0C,EAC1C,aAAgC,EAChC,UAAkB,EAClB,SAAiB,EACjB,GAAwB,EACxB,KAAmB,EACnB,SAAiB,EACjB,aAAiC,EACjC,MAAoB;QAEpB,kBAAkB;QAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,eAAe,GAAG,IAAA,yCAAmB,EAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,qDAAwB,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAEnG,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,OAAO,GAAwB;YACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtD,IAAI,MAAM,GAAG,EAAE,CAAC;gBAEhB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAE3B,8BAA8B;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,iCAAiC;oBAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACtB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gCAC9B,SAAS;4BACX,CAAC;4BAED,IAAI,CAAC;gCACH,MAAM,KAAK,GAA0B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACtD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAExC,4BAA4B;gCAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oCAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;oCACpC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCAClD,CAAC;4BACH,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;oBAClI,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,IAAA,0CAAoB,EAAC,GAAG,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzF,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBACtI,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAA,0CAAoB,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBAChE,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBAC1I,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,GAAyB,EAAE,GAAwB;QACrF,MAAM,KAAK,GAAG,IAAI,4BAAY,EAAE,CAAC;QACjC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,QAA4B,CAAC;QACjC,IAAI,aAAiC,CAAC;QAEtC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,WAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAChG,OAAO;YACT,CAAC;YAED,wCAAwC;YACxC,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YAC3C,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAEvD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACvB,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,kCAAkC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC1H,OAAO;YACT,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,SAAS,EAAE,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC1H,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,qBAAqB,SAAS,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBAChJ,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,8EAA8E;YAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1E,MAAM,UAAU,GAAG,UAAU,WAAW,IAAI,MAAM,CAAC,IAAI,sBAAsB,CAAC;YAC9E,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE3D,cAAc;YACd,UAAU,GAAG,GAAG,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QACnJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,GAAI,KAAe,CAAC,OAAO,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC1H,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAyB,EAAE,GAAwB;QAChF,MAAM,KAAK,GAAG,IAAI,4BAAY,EAAE,CAAC;QACjC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,QAA4B,CAAC;QACjC,IAAI,aAAiC,CAAC;QAEtC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,WAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,wCAAwC;YACxC,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YAC3C,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAEvD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACvB,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,kCAAkC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACpH,OAAO;YACT,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,8BAA8B,SAAS,EAAE,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACpH,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,qBAAqB,SAAS,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBAC1I,OAAO;YACT,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,GAAG,GAAG,CAAC;gBACjB,QAAQ,GAAG,qBAAqB,SAAS,oCAAoC,CAAC;gBAC9E,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;gBAC1I,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,8EAA8E;YAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1E,MAAM,UAAU,GAAG,UAAU,WAAW,IAAI,MAAM,CAAC,IAAI,gBAAgB,CAAC;YACxE,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE3D,cAAc;YACd,UAAU,GAAG,GAAG,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QAC7I,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,GAAI,KAAe,CAAC,OAAO,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YACpH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,UAAkB,EAClB,WAAgB,EAChB,WAAiC,EACjC,GAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAwB;YACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;aACjD;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACxD,6BAA6B;gBAC7B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAE5D,kBAAkB;gBAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,qCAAqC,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;gBACxF,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,oBAAoB;YACpB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAC,GAAyB;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,GAAwB,EAAE,UAAkB,EAAE,KAAa,EAAE,OAAgB;QAC7F,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAkB,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,OAAO;YAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAExC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,UAAU,GAAG,IAAA,0BAAa,GAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAmB,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAQ,EAAe,QAAQ,CAAC,CAAC;oBACtD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,KAAa,EACb,QAAgB,EAChB,UAAkB,EAClB,UAAkB,EAClB,KAAc,EACd,OAAgB,EAChB,MAAe;QAEf,MAAM,KAAK,GAAmB;YAC5B,SAAS,EAAE,4BAAY,CAAC,GAAG,EAAE;YAC7B,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YACnE,UAAU;YACV,UAAU;YACV,KAAK;YACL,OAAO;YACP,MAAM;SACP,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,WAAgB;QAC3C,IAAI,CAAC;YACH,kDAAkD;YAClD,IAAI,WAAW,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,MAAM,eAAe,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;qBAC9C,OAAO,EAAE;qBACT,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAE3C,IAAI,eAAe,EAAE,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ;wBACzD,CAAC,CAAC,eAAe,CAAC,OAAO;wBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;oBACjD,CAAC,CAAC,WAAW,CAAC,KAAK;oBACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;wBAClC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;wBACtB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3C,+FAA+F;QAC/F,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;YACzC,OAAO,IAAI;iBACR,WAAW,EAAE;iBACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;iBACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAE,+CAA+C;QAC5E,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE/C,wBAAwB;QACxB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAChE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,6BAA6B;QAC7B,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAC3D,CAAC;QACF,IAAI,oBAAoB;YAAE,OAAO,oBAAoB,CAAC;QAEtD,4CAA4C;QAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;YAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAC/D,CAAC;YACF,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAC;QAC5C,CAAC;QAED,sFAAsF;QACtF,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,iBAAiB,CAClD,CAAC;QACF,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAkBQ,oCAAY;AAhBrB,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"router-server.js","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":"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"}
|