oh-my-claude-sisyphus 1.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/LICENSE +21 -0
- package/README.md +416 -0
- package/dist/agents/definitions.d.ts +48 -0
- package/dist/agents/definitions.d.ts.map +1 -0
- package/dist/agents/definitions.js +271 -0
- package/dist/agents/definitions.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +280 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +49 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +329 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/features/continuation-enforcement.d.ts +34 -0
- package/dist/features/continuation-enforcement.d.ts.map +1 -0
- package/dist/features/continuation-enforcement.js +142 -0
- package/dist/features/continuation-enforcement.js.map +1 -0
- package/dist/features/index.d.ts +6 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/magic-keywords.d.ts +22 -0
- package/dist/features/magic-keywords.d.ts.map +1 -0
- package/dist/features/magic-keywords.js +189 -0
- package/dist/features/magic-keywords.js.map +1 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/servers.d.ts +77 -0
- package/dist/mcp/servers.d.ts.map +1 -0
- package/dist/mcp/servers.js +122 -0
- package/dist/mcp/servers.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +5 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types.d.ts +133 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +5 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/tools/ast-tools.d.ts +63 -0
- package/dist/tools/ast-tools.d.ts.map +1 -0
- package/dist/tools/ast-tools.js +349 -0
- package/dist/tools/ast-tools.js.map +1 -0
- package/dist/tools/index.d.ts +52 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +120 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +201 -0
- package/dist/tools/lsp/client.d.ts.map +1 -0
- package/dist/tools/lsp/client.js +454 -0
- package/dist/tools/lsp/client.js.map +1 -0
- package/dist/tools/lsp/index.d.ts +9 -0
- package/dist/tools/lsp/index.d.ts.map +1 -0
- package/dist/tools/lsp/index.js +7 -0
- package/dist/tools/lsp/index.js.map +1 -0
- package/dist/tools/lsp/servers.d.ts +37 -0
- package/dist/tools/lsp/servers.d.ts.map +1 -0
- package/dist/tools/lsp/servers.js +148 -0
- package/dist/tools/lsp/servers.js.map +1 -0
- package/dist/tools/lsp/utils.d.ts +58 -0
- package/dist/tools/lsp/utils.d.ts.map +1 -0
- package/dist/tools/lsp/utils.js +236 -0
- package/dist/tools/lsp/utils.js.map +1 -0
- package/dist/tools/lsp-tools.d.ts +151 -0
- package/dist/tools/lsp-tools.d.ts.map +1 -0
- package/dist/tools/lsp-tools.js +358 -0
- package/dist/tools/lsp-tools.js.map +1 -0
- package/package.json +75 -0
- package/scripts/install.sh +765 -0
- package/scripts/uninstall.sh +47 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Configurations
|
|
3
|
+
*
|
|
4
|
+
* Predefined MCP server configurations for common integrations:
|
|
5
|
+
* - Exa: AI-powered web search
|
|
6
|
+
* - Context7: Official documentation lookup
|
|
7
|
+
* - grep.app: GitHub code search
|
|
8
|
+
* - Playwright: Browser automation
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Exa MCP Server - AI-powered web search
|
|
12
|
+
* Requires: EXA_API_KEY environment variable
|
|
13
|
+
*/
|
|
14
|
+
export function createExaServer(apiKey) {
|
|
15
|
+
return {
|
|
16
|
+
command: 'npx',
|
|
17
|
+
args: ['-y', '@anthropic-ai/exa-mcp-server'],
|
|
18
|
+
env: apiKey ? { EXA_API_KEY: apiKey } : undefined
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Context7 MCP Server - Official documentation lookup
|
|
23
|
+
* Provides access to official docs for popular libraries
|
|
24
|
+
*/
|
|
25
|
+
export function createContext7Server() {
|
|
26
|
+
return {
|
|
27
|
+
command: 'npx',
|
|
28
|
+
args: ['-y', '@anthropic-ai/context7-mcp-server']
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* grep.app MCP Server - GitHub code search
|
|
33
|
+
* Search across public GitHub repositories
|
|
34
|
+
*/
|
|
35
|
+
export function createGrepAppServer() {
|
|
36
|
+
return {
|
|
37
|
+
command: 'npx',
|
|
38
|
+
args: ['-y', '@anthropic-ai/grep-app-mcp-server']
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Playwright MCP Server - Browser automation
|
|
43
|
+
* Enables agents to interact with web pages
|
|
44
|
+
*/
|
|
45
|
+
export function createPlaywrightServer() {
|
|
46
|
+
return {
|
|
47
|
+
command: 'npx',
|
|
48
|
+
args: ['-y', '@playwright/mcp@latest']
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Filesystem MCP Server - Extended file operations
|
|
53
|
+
* Provides additional file system capabilities
|
|
54
|
+
*/
|
|
55
|
+
export function createFilesystemServer(allowedPaths) {
|
|
56
|
+
return {
|
|
57
|
+
command: 'npx',
|
|
58
|
+
args: ['-y', '@modelcontextprotocol/server-filesystem', ...allowedPaths]
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Git MCP Server - Git operations
|
|
63
|
+
* Provides git-specific operations beyond basic bash
|
|
64
|
+
*/
|
|
65
|
+
export function createGitServer(repoPath) {
|
|
66
|
+
return {
|
|
67
|
+
command: 'npx',
|
|
68
|
+
args: ['-y', '@modelcontextprotocol/server-git', repoPath ?? '.']
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Memory MCP Server - Persistent memory
|
|
73
|
+
* Allows agents to store and retrieve information across sessions
|
|
74
|
+
*/
|
|
75
|
+
export function createMemoryServer() {
|
|
76
|
+
return {
|
|
77
|
+
command: 'npx',
|
|
78
|
+
args: ['-y', '@modelcontextprotocol/server-memory']
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Fetch MCP Server - HTTP requests
|
|
83
|
+
* Make HTTP requests to APIs
|
|
84
|
+
*/
|
|
85
|
+
export function createFetchServer() {
|
|
86
|
+
return {
|
|
87
|
+
command: 'npx',
|
|
88
|
+
args: ['-y', '@modelcontextprotocol/server-fetch']
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export function getDefaultMcpServers(options) {
|
|
92
|
+
const servers = {};
|
|
93
|
+
if (options?.enableExa !== false) {
|
|
94
|
+
servers.exa = createExaServer(options?.exaApiKey);
|
|
95
|
+
}
|
|
96
|
+
if (options?.enableContext7 !== false) {
|
|
97
|
+
servers.context7 = createContext7Server();
|
|
98
|
+
}
|
|
99
|
+
if (options?.enableGrepApp !== false) {
|
|
100
|
+
servers.grepApp = createGrepAppServer();
|
|
101
|
+
}
|
|
102
|
+
if (options?.enablePlaywright) {
|
|
103
|
+
servers.playwright = createPlaywrightServer();
|
|
104
|
+
}
|
|
105
|
+
if (options?.enableMemory) {
|
|
106
|
+
servers.memory = createMemoryServer();
|
|
107
|
+
}
|
|
108
|
+
return servers;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Convert MCP servers config to SDK format
|
|
112
|
+
*/
|
|
113
|
+
export function toSdkMcpFormat(servers) {
|
|
114
|
+
const result = {};
|
|
115
|
+
for (const [name, config] of Object.entries(servers)) {
|
|
116
|
+
if (config) {
|
|
117
|
+
result[name] = config;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=servers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/mcp/servers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for Oh-My-Claude-Sisyphus
|
|
3
|
+
*/
|
|
4
|
+
export type ModelType = 'sonnet' | 'opus' | 'haiku' | 'inherit';
|
|
5
|
+
export interface AgentConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
prompt: string;
|
|
9
|
+
tools: string[];
|
|
10
|
+
model?: ModelType;
|
|
11
|
+
}
|
|
12
|
+
export interface PluginConfig {
|
|
13
|
+
agents?: {
|
|
14
|
+
sisyphus?: {
|
|
15
|
+
model?: string;
|
|
16
|
+
};
|
|
17
|
+
oracle?: {
|
|
18
|
+
model?: string;
|
|
19
|
+
enabled?: boolean;
|
|
20
|
+
};
|
|
21
|
+
librarian?: {
|
|
22
|
+
model?: string;
|
|
23
|
+
};
|
|
24
|
+
explore?: {
|
|
25
|
+
model?: string;
|
|
26
|
+
};
|
|
27
|
+
frontendEngineer?: {
|
|
28
|
+
model?: string;
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
};
|
|
31
|
+
documentWriter?: {
|
|
32
|
+
model?: string;
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
};
|
|
35
|
+
multimodalLooker?: {
|
|
36
|
+
model?: string;
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
};
|
|
39
|
+
momus?: {
|
|
40
|
+
model?: string;
|
|
41
|
+
enabled?: boolean;
|
|
42
|
+
};
|
|
43
|
+
metis?: {
|
|
44
|
+
model?: string;
|
|
45
|
+
enabled?: boolean;
|
|
46
|
+
};
|
|
47
|
+
orchestratorSisyphus?: {
|
|
48
|
+
model?: string;
|
|
49
|
+
enabled?: boolean;
|
|
50
|
+
};
|
|
51
|
+
sisyphusJunior?: {
|
|
52
|
+
model?: string;
|
|
53
|
+
enabled?: boolean;
|
|
54
|
+
};
|
|
55
|
+
prometheus?: {
|
|
56
|
+
model?: string;
|
|
57
|
+
enabled?: boolean;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
features?: {
|
|
61
|
+
parallelExecution?: boolean;
|
|
62
|
+
lspTools?: boolean;
|
|
63
|
+
astTools?: boolean;
|
|
64
|
+
continuationEnforcement?: boolean;
|
|
65
|
+
autoContextInjection?: boolean;
|
|
66
|
+
};
|
|
67
|
+
mcpServers?: {
|
|
68
|
+
exa?: {
|
|
69
|
+
enabled?: boolean;
|
|
70
|
+
apiKey?: string;
|
|
71
|
+
};
|
|
72
|
+
context7?: {
|
|
73
|
+
enabled?: boolean;
|
|
74
|
+
};
|
|
75
|
+
grepApp?: {
|
|
76
|
+
enabled?: boolean;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
permissions?: {
|
|
80
|
+
allowBash?: boolean;
|
|
81
|
+
allowEdit?: boolean;
|
|
82
|
+
allowWrite?: boolean;
|
|
83
|
+
maxBackgroundTasks?: number;
|
|
84
|
+
};
|
|
85
|
+
magicKeywords?: {
|
|
86
|
+
ultrawork?: string[];
|
|
87
|
+
search?: string[];
|
|
88
|
+
analyze?: string[];
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export interface SessionState {
|
|
92
|
+
sessionId?: string;
|
|
93
|
+
activeAgents: Map<string, AgentState>;
|
|
94
|
+
backgroundTasks: BackgroundTask[];
|
|
95
|
+
contextFiles: string[];
|
|
96
|
+
}
|
|
97
|
+
export interface AgentState {
|
|
98
|
+
name: string;
|
|
99
|
+
status: 'idle' | 'running' | 'completed' | 'error';
|
|
100
|
+
lastMessage?: string;
|
|
101
|
+
startTime?: number;
|
|
102
|
+
}
|
|
103
|
+
export interface BackgroundTask {
|
|
104
|
+
id: string;
|
|
105
|
+
agentName: string;
|
|
106
|
+
prompt: string;
|
|
107
|
+
status: 'pending' | 'running' | 'completed' | 'error';
|
|
108
|
+
result?: string;
|
|
109
|
+
error?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface MagicKeyword {
|
|
112
|
+
triggers: string[];
|
|
113
|
+
action: (prompt: string) => string;
|
|
114
|
+
description: string;
|
|
115
|
+
}
|
|
116
|
+
export interface HookDefinition {
|
|
117
|
+
event: 'PreToolUse' | 'PostToolUse' | 'Stop' | 'SessionStart' | 'SessionEnd' | 'UserPromptSubmit';
|
|
118
|
+
matcher?: string;
|
|
119
|
+
command?: string;
|
|
120
|
+
handler?: (context: HookContext) => Promise<HookResult>;
|
|
121
|
+
}
|
|
122
|
+
export interface HookContext {
|
|
123
|
+
toolName?: string;
|
|
124
|
+
toolInput?: unknown;
|
|
125
|
+
toolOutput?: unknown;
|
|
126
|
+
sessionId?: string;
|
|
127
|
+
}
|
|
128
|
+
export interface HookResult {
|
|
129
|
+
continue: boolean;
|
|
130
|
+
message?: string;
|
|
131
|
+
modifiedInput?: unknown;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST Tools using ast-grep
|
|
3
|
+
*
|
|
4
|
+
* Provides AST-aware code search and transformation:
|
|
5
|
+
* - Pattern matching with meta-variables ($VAR, $$$)
|
|
6
|
+
* - Code replacement while preserving structure
|
|
7
|
+
* - Support for 25+ programming languages
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
export interface AstToolDefinition<T extends z.ZodRawShape> {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
schema: T;
|
|
14
|
+
handler: (args: z.infer<z.ZodObject<T>>) => Promise<{
|
|
15
|
+
content: Array<{
|
|
16
|
+
type: 'text';
|
|
17
|
+
text: string;
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Supported languages for AST analysis
|
|
23
|
+
* Maps to ast-grep language identifiers
|
|
24
|
+
*/
|
|
25
|
+
export declare const SUPPORTED_LANGUAGES: [string, ...string[]];
|
|
26
|
+
export type SupportedLanguage = typeof SUPPORTED_LANGUAGES[number];
|
|
27
|
+
/**
|
|
28
|
+
* AST Grep Search Tool - Find code patterns using AST matching
|
|
29
|
+
*/
|
|
30
|
+
export declare const astGrepSearchTool: AstToolDefinition<{
|
|
31
|
+
pattern: z.ZodString;
|
|
32
|
+
language: z.ZodEnum<[string, ...string[]]>;
|
|
33
|
+
path: z.ZodOptional<z.ZodString>;
|
|
34
|
+
context: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
maxResults: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* AST Grep Replace Tool - Replace code patterns using AST matching
|
|
39
|
+
*/
|
|
40
|
+
export declare const astGrepReplaceTool: AstToolDefinition<{
|
|
41
|
+
pattern: z.ZodString;
|
|
42
|
+
replacement: z.ZodString;
|
|
43
|
+
language: z.ZodEnum<[string, ...string[]]>;
|
|
44
|
+
path: z.ZodOptional<z.ZodString>;
|
|
45
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Get all AST tool definitions
|
|
49
|
+
*/
|
|
50
|
+
export declare const astTools: (AstToolDefinition<{
|
|
51
|
+
pattern: z.ZodString;
|
|
52
|
+
language: z.ZodEnum<[string, ...string[]]>;
|
|
53
|
+
path: z.ZodOptional<z.ZodString>;
|
|
54
|
+
context: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
maxResults: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
}> | AstToolDefinition<{
|
|
57
|
+
pattern: z.ZodString;
|
|
58
|
+
replacement: z.ZodString;
|
|
59
|
+
language: z.ZodEnum<[string, ...string[]]>;
|
|
60
|
+
path: z.ZodOptional<z.ZodString>;
|
|
61
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
+
}>)[];
|
|
63
|
+
//# sourceMappingURL=ast-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-tools.d.ts","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACzG;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAIrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AA8GnE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACxC,CAiGA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACrC,CAkJA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;aAxQV,CAAC,CAAC,SAAS;cACV,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;;aAwG7B,CAAC,CAAC,SAAS;iBACP,CAAC,CAAC,SAAS;cACd,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;KA2JpC,CAAC"}
|