@shalwin04/x404r-sdk 0.1.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.
Files changed (58) hide show
  1. package/README.md +391 -0
  2. package/dist/ai/index.d.ts +21 -0
  3. package/dist/ai/index.d.ts.map +1 -0
  4. package/dist/ai/index.js +344 -0
  5. package/dist/ai/index.js.map +1 -0
  6. package/dist/backend/cloud.d.ts +91 -0
  7. package/dist/backend/cloud.d.ts.map +1 -0
  8. package/dist/backend/cloud.js +257 -0
  9. package/dist/backend/cloud.js.map +1 -0
  10. package/dist/backend/embedded.d.ts +79 -0
  11. package/dist/backend/embedded.d.ts.map +1 -0
  12. package/dist/backend/embedded.js +307 -0
  13. package/dist/backend/embedded.js.map +1 -0
  14. package/dist/backend/index.d.ts +11 -0
  15. package/dist/backend/index.d.ts.map +1 -0
  16. package/dist/backend/index.js +8 -0
  17. package/dist/backend/index.js.map +1 -0
  18. package/dist/backend/interface.d.ts +88 -0
  19. package/dist/backend/interface.d.ts.map +1 -0
  20. package/dist/backend/interface.js +11 -0
  21. package/dist/backend/interface.js.map +1 -0
  22. package/dist/chaos.d.ts +117 -0
  23. package/dist/chaos.d.ts.map +1 -0
  24. package/dist/chaos.js +215 -0
  25. package/dist/chaos.js.map +1 -0
  26. package/dist/client.d.ts +242 -0
  27. package/dist/client.d.ts.map +1 -0
  28. package/dist/client.js +401 -0
  29. package/dist/client.js.map +1 -0
  30. package/dist/context.d.ts +18 -0
  31. package/dist/context.d.ts.map +1 -0
  32. package/dist/context.js +65 -0
  33. package/dist/context.js.map +1 -0
  34. package/dist/durable.d.ts +90 -0
  35. package/dist/durable.d.ts.map +1 -0
  36. package/dist/durable.js +143 -0
  37. package/dist/durable.js.map +1 -0
  38. package/dist/index.d.ts +74 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +76 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/metrics.d.ts +279 -0
  43. package/dist/metrics.d.ts.map +1 -0
  44. package/dist/metrics.js +693 -0
  45. package/dist/metrics.js.map +1 -0
  46. package/dist/types.d.ts +240 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +16 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/worker.d.ts +74 -0
  51. package/dist/worker.d.ts.map +1 -0
  52. package/dist/worker.js +269 -0
  53. package/dist/worker.js.map +1 -0
  54. package/dist/workflow.d.ts +48 -0
  55. package/dist/workflow.d.ts.map +1 -0
  56. package/dist/workflow.js +190 -0
  57. package/dist/workflow.js.map +1 -0
  58. package/package.json +93 -0
@@ -0,0 +1,344 @@
1
+ /**
2
+ * AI Provider Abstraction
3
+ * Supports Gemini, OpenAI, Anthropic, and AWS Bedrock
4
+ */
5
+ // Token pricing per 1M tokens (USD)
6
+ const PRICING = {
7
+ 'gemini-2.5-flash': { input: 0.075, output: 0.30 },
8
+ 'gemini-1.5-pro': { input: 3.50, output: 10.50 },
9
+ 'gpt-4-turbo-preview': { input: 10.00, output: 30.00 },
10
+ 'gpt-4o': { input: 5.00, output: 15.00 },
11
+ 'claude-3-sonnet': { input: 3.00, output: 15.00 },
12
+ 'claude-3-haiku': { input: 0.25, output: 1.25 },
13
+ 'anthropic.claude-3-sonnet-20240229-v1:0': { input: 3.00, output: 15.00 },
14
+ 'anthropic.claude-3-haiku-20240307-v1:0': { input: 0.25, output: 1.25 },
15
+ };
16
+ export function estimateCost(model, usage) {
17
+ const pricing = PRICING[model] || { input: 1.00, output: 2.00 }; // Default pricing
18
+ return ((usage.inputTokens / 1_000_000) * pricing.input +
19
+ (usage.outputTokens / 1_000_000) * pricing.output);
20
+ }
21
+ /**
22
+ * Create an AI provider from configuration
23
+ */
24
+ export async function createAIProvider(config) {
25
+ switch (config.provider) {
26
+ case 'gemini':
27
+ return GeminiProvider.create(config.apiKey, config.defaultModel);
28
+ case 'openai':
29
+ return OpenAIProvider.create(config.apiKey, config.defaultModel);
30
+ case 'anthropic':
31
+ return AnthropicProvider.create(config.apiKey, config.defaultModel);
32
+ case 'bedrock':
33
+ return BedrockProvider.create(config.region || 'us-east-1', config.defaultModel);
34
+ default:
35
+ throw new Error(`Unknown AI provider: ${config.provider}`);
36
+ }
37
+ }
38
+ /**
39
+ * Gemini AI Provider
40
+ */
41
+ class GeminiProvider {
42
+ client;
43
+ defaultModel;
44
+ constructor(client, defaultModel) {
45
+ this.client = client;
46
+ this.defaultModel = defaultModel;
47
+ }
48
+ static async create(apiKey, defaultModel) {
49
+ const { GoogleGenerativeAI } = await import('@google/generative-ai');
50
+ const client = new GoogleGenerativeAI(apiKey);
51
+ return new GeminiProvider(client, defaultModel || 'gemini-2.5-flash');
52
+ }
53
+ async generate(prompt, options) {
54
+ const model = this.client.getGenerativeModel({
55
+ model: options?.model || this.defaultModel,
56
+ });
57
+ const fullPrompt = options?.systemPrompt
58
+ ? `${options.systemPrompt}\n\n${prompt}`
59
+ : prompt;
60
+ const result = await model.generateContent({
61
+ contents: [{ role: 'user', parts: [{ text: fullPrompt }] }],
62
+ generationConfig: {
63
+ temperature: options?.temperature ?? 0.7,
64
+ maxOutputTokens: options?.maxTokens ?? 2048,
65
+ },
66
+ });
67
+ return result.response.text();
68
+ }
69
+ async generateJSON(prompt, schema) {
70
+ const jsonPrompt = schema
71
+ ? `${prompt}\n\nRespond with valid JSON matching this schema:\n${JSON.stringify(schema, null, 2)}\n\nOnly output the JSON, no markdown or explanation.`
72
+ : `${prompt}\n\nRespond with valid JSON only. No markdown or explanation.`;
73
+ const response = await this.generate(jsonPrompt);
74
+ // Clean and parse response
75
+ const cleaned = response
76
+ .replace(/```json\n?/g, '')
77
+ .replace(/```\n?/g, '')
78
+ .trim();
79
+ return JSON.parse(cleaned);
80
+ }
81
+ async embed(text) {
82
+ // Use a simple hash-based embedding as fallback
83
+ // In production, you would use a proper embedding model
84
+ const hash = text.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
85
+ const embedding = new Array(768).fill(0).map((_, i) => Math.sin(hash * (i + 1)) * Math.cos(hash / (i + 1)));
86
+ return embedding;
87
+ }
88
+ }
89
+ /**
90
+ * OpenAI Provider
91
+ */
92
+ class OpenAIProvider {
93
+ client;
94
+ defaultModel;
95
+ constructor(client, defaultModel) {
96
+ this.client = client;
97
+ this.defaultModel = defaultModel;
98
+ }
99
+ static async create(apiKey, defaultModel) {
100
+ try {
101
+ // @ts-ignore - optional dependency
102
+ const { default: OpenAI } = await import('openai');
103
+ const client = new OpenAI({ apiKey });
104
+ return new OpenAIProvider(client, defaultModel || 'gpt-4-turbo-preview');
105
+ }
106
+ catch {
107
+ throw new Error('openai package not installed. Run: npm install openai');
108
+ }
109
+ }
110
+ async generate(prompt, options) {
111
+ const messages = [];
112
+ if (options?.systemPrompt) {
113
+ messages.push({ role: 'system', content: options.systemPrompt });
114
+ }
115
+ messages.push({ role: 'user', content: prompt });
116
+ const response = await this.client.chat.completions.create({
117
+ model: options?.model || this.defaultModel,
118
+ messages,
119
+ temperature: options?.temperature ?? 0.7,
120
+ max_tokens: options?.maxTokens ?? 2048,
121
+ });
122
+ return response.choices[0]?.message?.content || '';
123
+ }
124
+ async generateJSON(prompt, schema) {
125
+ const response = await this.client.chat.completions.create({
126
+ model: this.defaultModel,
127
+ messages: [
128
+ { role: 'system', content: 'You are a helpful assistant that responds only with valid JSON.' },
129
+ { role: 'user', content: prompt },
130
+ ],
131
+ response_format: { type: 'json_object' },
132
+ });
133
+ return JSON.parse(response.choices[0]?.message?.content || '{}');
134
+ }
135
+ async embed(text) {
136
+ const response = await this.client.embeddings.create({
137
+ model: 'text-embedding-3-small',
138
+ input: text,
139
+ });
140
+ return response.data[0].embedding;
141
+ }
142
+ }
143
+ /**
144
+ * Anthropic Provider
145
+ */
146
+ class AnthropicProvider {
147
+ client;
148
+ defaultModel;
149
+ constructor(client, defaultModel) {
150
+ this.client = client;
151
+ this.defaultModel = defaultModel;
152
+ }
153
+ static async create(apiKey, defaultModel) {
154
+ try {
155
+ // @ts-ignore - optional dependency
156
+ const { default: Anthropic } = await import('@anthropic-ai/sdk');
157
+ const client = new Anthropic({ apiKey });
158
+ return new AnthropicProvider(client, defaultModel || 'claude-3-sonnet-20240229');
159
+ }
160
+ catch {
161
+ throw new Error('@anthropic-ai/sdk package not installed. Run: npm install @anthropic-ai/sdk');
162
+ }
163
+ }
164
+ async generate(prompt, options) {
165
+ const response = await this.client.messages.create({
166
+ model: options?.model || this.defaultModel,
167
+ max_tokens: options?.maxTokens ?? 2048,
168
+ system: options?.systemPrompt,
169
+ messages: [{ role: 'user', content: prompt }],
170
+ });
171
+ return response.content[0]?.type === 'text' ? response.content[0].text : '';
172
+ }
173
+ async generateJSON(prompt, schema) {
174
+ const jsonPrompt = schema
175
+ ? `${prompt}\n\nRespond with valid JSON matching this schema:\n${JSON.stringify(schema, null, 2)}\n\nOnly output the JSON, no markdown or explanation.`
176
+ : `${prompt}\n\nRespond with valid JSON only. No markdown or explanation.`;
177
+ const response = await this.generate(jsonPrompt);
178
+ const cleaned = response
179
+ .replace(/```json\n?/g, '')
180
+ .replace(/```\n?/g, '')
181
+ .trim();
182
+ return JSON.parse(cleaned);
183
+ }
184
+ async embed(text) {
185
+ // Anthropic doesn't have embeddings API, use a simple hash-based fallback
186
+ // In production, you'd use a dedicated embedding service
187
+ throw new Error('Anthropic does not support embeddings. Use Gemini or OpenAI for embeddings.');
188
+ }
189
+ }
190
+ /**
191
+ * AWS Bedrock Provider
192
+ * Uses AWS SDK for Bedrock Runtime
193
+ */
194
+ class BedrockProvider {
195
+ client;
196
+ defaultModel;
197
+ _lastUsage = { inputTokens: 0, outputTokens: 0, embeddingTokens: 0 };
198
+ constructor(client, defaultModel) {
199
+ this.client = client;
200
+ this.defaultModel = defaultModel;
201
+ }
202
+ static async create(region, defaultModel) {
203
+ try {
204
+ // Dynamic import for optional AWS dependency
205
+ const bedrockModule = await import('@aws-sdk/client-bedrock-runtime').catch(() => null);
206
+ if (!bedrockModule) {
207
+ throw new Error('@aws-sdk/client-bedrock-runtime not installed. Run: npm install @aws-sdk/client-bedrock-runtime');
208
+ }
209
+ const { BedrockRuntimeClient, InvokeModelCommand } = bedrockModule;
210
+ const client = new BedrockRuntimeClient({ region });
211
+ // Store InvokeModelCommand on client for later use
212
+ client.InvokeModelCommand = InvokeModelCommand;
213
+ return new BedrockProvider(client, defaultModel || 'anthropic.claude-3-sonnet-20240229-v1:0');
214
+ }
215
+ catch (err) {
216
+ if (err instanceof Error && err.message.includes('not installed')) {
217
+ throw err;
218
+ }
219
+ throw new Error('@aws-sdk/client-bedrock-runtime not installed. Run: npm install @aws-sdk/client-bedrock-runtime');
220
+ }
221
+ }
222
+ get lastUsage() {
223
+ return this._lastUsage;
224
+ }
225
+ async generate(prompt, options) {
226
+ const model = options?.model || this.defaultModel;
227
+ const InvokeModelCommand = this.client.InvokeModelCommand;
228
+ // Build request based on model provider
229
+ let body;
230
+ if (model.startsWith('anthropic.')) {
231
+ body = {
232
+ anthropic_version: 'bedrock-2023-05-31',
233
+ max_tokens: options?.maxTokens ?? 2048,
234
+ messages: [{ role: 'user', content: prompt }],
235
+ ...(options?.systemPrompt && { system: options.systemPrompt }),
236
+ };
237
+ }
238
+ else if (model.startsWith('amazon.titan')) {
239
+ body = {
240
+ inputText: options?.systemPrompt ? `${options.systemPrompt}\n\n${prompt}` : prompt,
241
+ textGenerationConfig: {
242
+ maxTokenCount: options?.maxTokens ?? 2048,
243
+ temperature: options?.temperature ?? 0.7,
244
+ },
245
+ };
246
+ }
247
+ else if (model.startsWith('meta.llama')) {
248
+ body = {
249
+ prompt: options?.systemPrompt ? `${options.systemPrompt}\n\n${prompt}` : prompt,
250
+ max_gen_len: options?.maxTokens ?? 2048,
251
+ temperature: options?.temperature ?? 0.7,
252
+ };
253
+ }
254
+ else {
255
+ // Default to Anthropic format
256
+ body = {
257
+ anthropic_version: 'bedrock-2023-05-31',
258
+ max_tokens: options?.maxTokens ?? 2048,
259
+ messages: [{ role: 'user', content: prompt }],
260
+ };
261
+ }
262
+ const command = new InvokeModelCommand({
263
+ modelId: model,
264
+ contentType: 'application/json',
265
+ accept: 'application/json',
266
+ body: JSON.stringify(body),
267
+ });
268
+ const response = await this.client.send(command);
269
+ const responseBody = JSON.parse(new TextDecoder().decode(response.body));
270
+ // Track token usage
271
+ if (responseBody.usage) {
272
+ this._lastUsage = {
273
+ inputTokens: responseBody.usage.input_tokens || 0,
274
+ outputTokens: responseBody.usage.output_tokens || 0,
275
+ embeddingTokens: 0,
276
+ };
277
+ }
278
+ // Parse response based on model
279
+ if (model.startsWith('anthropic.')) {
280
+ return responseBody.content?.[0]?.text || '';
281
+ }
282
+ else if (model.startsWith('amazon.titan')) {
283
+ return responseBody.results?.[0]?.outputText || '';
284
+ }
285
+ else if (model.startsWith('meta.llama')) {
286
+ return responseBody.generation || '';
287
+ }
288
+ return responseBody.content?.[0]?.text || responseBody.completion || '';
289
+ }
290
+ async generateJSON(prompt, schema) {
291
+ const jsonPrompt = schema
292
+ ? `${prompt}\n\nRespond with valid JSON matching this schema:\n${JSON.stringify(schema, null, 2)}\n\nOnly output the JSON, no markdown or explanation.`
293
+ : `${prompt}\n\nRespond with valid JSON only. No markdown or explanation.`;
294
+ const response = await this.generate(jsonPrompt);
295
+ const cleaned = response
296
+ .replace(/```json\n?/g, '')
297
+ .replace(/```\n?/g, '')
298
+ .trim();
299
+ return JSON.parse(cleaned);
300
+ }
301
+ async embed(text) {
302
+ // Use Titan embeddings model
303
+ const InvokeModelCommand = this.client.InvokeModelCommand;
304
+ try {
305
+ const command = new InvokeModelCommand({
306
+ modelId: 'amazon.titan-embed-text-v1',
307
+ contentType: 'application/json',
308
+ accept: 'application/json',
309
+ body: JSON.stringify({ inputText: text }),
310
+ });
311
+ const response = await this.client.send(command);
312
+ const responseBody = JSON.parse(new TextDecoder().decode(response.body));
313
+ this._lastUsage.embeddingTokens += text.split(/\s+/).length; // Approximate
314
+ return responseBody.embedding || [];
315
+ }
316
+ catch {
317
+ // Fallback to hash-based embedding if Titan not available
318
+ const hash = text.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
319
+ return new Array(1536).fill(0).map((_, i) => Math.sin(hash * (i + 1)) * Math.cos(hash / (i + 1)));
320
+ }
321
+ }
322
+ }
323
+ /**
324
+ * No-op AI provider for testing
325
+ */
326
+ export class MockAIProvider {
327
+ _lastUsage = { inputTokens: 0, outputTokens: 0, embeddingTokens: 0 };
328
+ get lastUsage() {
329
+ return this._lastUsage;
330
+ }
331
+ async generate(prompt) {
332
+ this._lastUsage = { inputTokens: prompt.length / 4, outputTokens: 50, embeddingTokens: 0 };
333
+ return `Mock response for: ${prompt.slice(0, 50)}...`;
334
+ }
335
+ async generateJSON() {
336
+ this._lastUsage = { inputTokens: 100, outputTokens: 50, embeddingTokens: 0 };
337
+ return {};
338
+ }
339
+ async embed() {
340
+ this._lastUsage.embeddingTokens += 10;
341
+ return new Array(768).fill(0);
342
+ }
343
+ }
344
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Cloud Backend
3
+ * HTTP API client for hosted x404-r platform
4
+ */
5
+ import type { Backend } from './interface.js';
6
+ import type { Workflow, Task, WorkflowStatus } from '../types.js';
7
+ export interface CloudBackendConfig {
8
+ apiKey: string;
9
+ baseUrl?: string;
10
+ }
11
+ /**
12
+ * Cloud backend - connects to hosted x404-r API
13
+ * Used when running in cloud mode (no local DB needed)
14
+ */
15
+ export declare class CloudBackend implements Backend {
16
+ private apiKey;
17
+ private baseUrl;
18
+ constructor(config: CloudBackendConfig);
19
+ ready(): Promise<void>;
20
+ close(): Promise<void>;
21
+ private request;
22
+ private handleError;
23
+ createWorkflow(name: string, version: string, input: Record<string, unknown>, priority?: number): Promise<Workflow>;
24
+ getWorkflow(id: string): Promise<Workflow | null>;
25
+ updateWorkflowStatus(id: string, status: WorkflowStatus, output?: Record<string, unknown>, error?: string): Promise<void>;
26
+ listWorkflows(options?: {
27
+ status?: WorkflowStatus;
28
+ limit?: number;
29
+ offset?: number;
30
+ }): Promise<Workflow[]>;
31
+ createTasks(workflowId: string, tasks: Array<{
32
+ name: string;
33
+ type: string;
34
+ input: Record<string, unknown>;
35
+ dependsOn: string[];
36
+ maxAttempts?: number;
37
+ }>): Promise<Task[]>;
38
+ getWorkflowTasks(workflowId: string): Promise<Task[]>;
39
+ completeTask(taskId: string, output: Record<string, unknown>): Promise<void>;
40
+ failTask(taskId: string, error: string): Promise<void>;
41
+ createCheckpoint(taskId: string, stepIndex: number, state: Record<string, unknown>): Promise<void>;
42
+ getCheckpoint(taskId: string): Promise<{
43
+ stepIndex: number;
44
+ state: Record<string, unknown>;
45
+ } | null>;
46
+ getWorkflowCheckpoints(workflowId: string): Promise<Array<{
47
+ taskId: string;
48
+ taskName: string;
49
+ stepIndex: number;
50
+ state: Record<string, unknown>;
51
+ createdAt: Date;
52
+ }>>;
53
+ storeMemory(taskId: string, eventType: string, summary: string, embedding: number[], taskType?: string, errorCategory?: string, resolution?: string): Promise<void>;
54
+ queryMemories(embedding: number[], taskType?: string, limit?: number): Promise<Array<{
55
+ summary: string;
56
+ eventType: string;
57
+ resolution?: string;
58
+ similarity: number;
59
+ }>>;
60
+ isWorkflowComplete(workflowId: string): Promise<{
61
+ complete: boolean;
62
+ failed: number;
63
+ done: number;
64
+ pending: number;
65
+ }>;
66
+ replayFromCheckpoint(workflowId: string, checkpointId: string, newInput?: Record<string, unknown>): Promise<Workflow>;
67
+ getWorkflowCost(workflowId: string): Promise<{
68
+ totalTokens: number;
69
+ estimatedCostUsd: number;
70
+ savedByRecoveryUsd: number;
71
+ }>;
72
+ /**
73
+ * Submit a workflow for execution (cloud workers will pick it up)
74
+ */
75
+ submit(workflowName: string, input: Record<string, unknown>, options?: {
76
+ priority?: number;
77
+ wait?: boolean;
78
+ timeout?: number;
79
+ }): Promise<{
80
+ workflowId: string;
81
+ status: WorkflowStatus;
82
+ }>;
83
+ /**
84
+ * Wait for a workflow to complete
85
+ */
86
+ waitForCompletion(workflowId: string, options?: {
87
+ timeout?: number;
88
+ pollInterval?: number;
89
+ }): Promise<Workflow>;
90
+ }
91
+ //# sourceMappingURL=cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/backend/cloud.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD;;;GAGG;AACH,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,kBAAkB;IAKhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,OAAO;IAqCrB,OAAO,CAAC,WAAW;IAMb,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,QAAQ,CAAC;IAed,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAajD,oBAAoB,CACxB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAYV,aAAa,CACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,cAAc,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACzE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAqBhB,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,GACD,OAAO,CAAC,IAAI,EAAE,CAAC;IAcZ,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAgBrD,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IAUV,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAWV,aAAa,CACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAgBlE,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CACvD,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC,CACH;IAuBK,WAAW,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAgBV,aAAa,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,SAAI,GACR,OAAO,CACR,KAAK,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CACH;IAuBK,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAiBI,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,QAAQ,CAAC;IAmBd,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QACjD,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAgBF;;OAEG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACpE,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAmB1D;;OAEG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GACxD,OAAO,CAAC,QAAQ,CAAC;CAoBrB"}