testchimp-runner-core 0.0.1
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/dist/auth-config.d.ts +33 -0
- package/dist/auth-config.d.ts.map +1 -0
- package/dist/auth-config.js +69 -0
- package/dist/auth-config.js.map +1 -0
- package/dist/env-loader.d.ts +20 -0
- package/dist/env-loader.d.ts.map +1 -0
- package/dist/env-loader.js +83 -0
- package/dist/env-loader.js.map +1 -0
- package/dist/execution-service.d.ts +61 -0
- package/dist/execution-service.d.ts.map +1 -0
- package/dist/execution-service.js +822 -0
- package/dist/execution-service.js.map +1 -0
- package/dist/file-handler.d.ts +59 -0
- package/dist/file-handler.d.ts.map +1 -0
- package/dist/file-handler.js +75 -0
- package/dist/file-handler.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +196 -0
- package/dist/index.js.map +1 -0
- package/dist/llm-facade.d.ts +101 -0
- package/dist/llm-facade.d.ts.map +1 -0
- package/dist/llm-facade.js +289 -0
- package/dist/llm-facade.js.map +1 -0
- package/dist/playwright-mcp-service.d.ts +42 -0
- package/dist/playwright-mcp-service.d.ts.map +1 -0
- package/dist/playwright-mcp-service.js +167 -0
- package/dist/playwright-mcp-service.js.map +1 -0
- package/dist/prompts.d.ts +34 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +237 -0
- package/dist/prompts.js.map +1 -0
- package/dist/scenario-service.d.ts +25 -0
- package/dist/scenario-service.d.ts.map +1 -0
- package/dist/scenario-service.js +119 -0
- package/dist/scenario-service.js.map +1 -0
- package/dist/scenario-worker-class.d.ts +30 -0
- package/dist/scenario-worker-class.d.ts.map +1 -0
- package/dist/scenario-worker-class.js +263 -0
- package/dist/scenario-worker-class.js.map +1 -0
- package/dist/script-utils.d.ts +44 -0
- package/dist/script-utils.d.ts.map +1 -0
- package/dist/script-utils.js +100 -0
- package/dist/script-utils.js.map +1 -0
- package/dist/types.d.ts +171 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +28 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/browser-utils.d.ts +13 -0
- package/dist/utils/browser-utils.d.ts.map +1 -0
- package/dist/utils/browser-utils.js +269 -0
- package/dist/utils/browser-utils.js.map +1 -0
- package/dist/utils/page-info-utils.d.ts +16 -0
- package/dist/utils/page-info-utils.d.ts.map +1 -0
- package/dist/utils/page-info-utils.js +77 -0
- package/dist/utils/page-info-utils.js.map +1 -0
- package/env.prod +1 -0
- package/env.staging +1 -0
- package/package.json +38 -0
- package/src/auth-config.ts +84 -0
- package/src/env-loader.ts +91 -0
- package/src/execution-service.ts +999 -0
- package/src/file-handler.ts +104 -0
- package/src/index.ts +205 -0
- package/src/llm-facade.ts +413 -0
- package/src/playwright-mcp-service.ts +203 -0
- package/src/prompts.ts +247 -0
- package/src/scenario-service.ts +138 -0
- package/src/scenario-worker-class.ts +330 -0
- package/src/script-utils.ts +109 -0
- package/src/types.ts +202 -0
- package/src/utils/browser-utils.ts +272 -0
- package/src/utils/page-info-utils.ts +93 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication configuration for TestChimp services
|
|
3
|
+
* Supports both user PAT and project API key authentication modes
|
|
4
|
+
*/
|
|
5
|
+
export interface UserPATAuthConfig {
|
|
6
|
+
mode: 'user_pat';
|
|
7
|
+
userAuthKey: string;
|
|
8
|
+
userMail: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ProjectApiKeyAuthConfig {
|
|
11
|
+
mode: 'project_api_key';
|
|
12
|
+
apiKey: string;
|
|
13
|
+
projectId: string;
|
|
14
|
+
}
|
|
15
|
+
export type AuthConfig = UserPATAuthConfig | ProjectApiKeyAuthConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Helper function to create user PAT auth configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare function createUserPATAuth(userAuthKey: string, userMail: string): UserPATAuthConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Helper function to create project API key auth configuration
|
|
22
|
+
*/
|
|
23
|
+
export declare function createProjectApiKeyAuth(apiKey: string, projectId: string): ProjectApiKeyAuthConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Helper function to create auth configuration from environment variables
|
|
26
|
+
* Supports both authentication modes based on available environment variables
|
|
27
|
+
*/
|
|
28
|
+
export declare function createAuthConfigFromEnv(): AuthConfig | null;
|
|
29
|
+
/**
|
|
30
|
+
* Helper function to get authentication headers for HTTP requests
|
|
31
|
+
*/
|
|
32
|
+
export declare function getAuthHeaders(authConfig: AuthConfig): Record<string, string>;
|
|
33
|
+
//# sourceMappingURL=auth-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-config.d.ts","sourceRoot":"","sources":["../src/auth-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,uBAAuB,CAAC;AAErE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAM1F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,uBAAuB,CAMlG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,UAAU,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe7E"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication configuration for TestChimp services
|
|
4
|
+
* Supports both user PAT and project API key authentication modes
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createUserPATAuth = createUserPATAuth;
|
|
8
|
+
exports.createProjectApiKeyAuth = createProjectApiKeyAuth;
|
|
9
|
+
exports.createAuthConfigFromEnv = createAuthConfigFromEnv;
|
|
10
|
+
exports.getAuthHeaders = getAuthHeaders;
|
|
11
|
+
/**
|
|
12
|
+
* Helper function to create user PAT auth configuration
|
|
13
|
+
*/
|
|
14
|
+
function createUserPATAuth(userAuthKey, userMail) {
|
|
15
|
+
return {
|
|
16
|
+
mode: 'user_pat',
|
|
17
|
+
userAuthKey,
|
|
18
|
+
userMail
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Helper function to create project API key auth configuration
|
|
23
|
+
*/
|
|
24
|
+
function createProjectApiKeyAuth(apiKey, projectId) {
|
|
25
|
+
return {
|
|
26
|
+
mode: 'project_api_key',
|
|
27
|
+
apiKey,
|
|
28
|
+
projectId
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Helper function to create auth configuration from environment variables
|
|
33
|
+
* Supports both authentication modes based on available environment variables
|
|
34
|
+
*/
|
|
35
|
+
function createAuthConfigFromEnv() {
|
|
36
|
+
// Check for project API key authentication first (for CI/CD)
|
|
37
|
+
const apiKey = process.env.TESTCHIMP_API_KEY;
|
|
38
|
+
const projectId = process.env.TESTCHIMP_PROJECT_ID;
|
|
39
|
+
if (apiKey && projectId) {
|
|
40
|
+
return createProjectApiKeyAuth(apiKey, projectId);
|
|
41
|
+
}
|
|
42
|
+
// Fall back to user PAT authentication (for VS Code extension)
|
|
43
|
+
const userAuthKey = process.env.TESTCHIMP_USER_AUTH_KEY;
|
|
44
|
+
const userMail = process.env.TESTCHIMP_USER_MAIL;
|
|
45
|
+
if (userAuthKey && userMail) {
|
|
46
|
+
return createUserPATAuth(userAuthKey, userMail);
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Helper function to get authentication headers for HTTP requests
|
|
52
|
+
*/
|
|
53
|
+
function getAuthHeaders(authConfig) {
|
|
54
|
+
switch (authConfig.mode) {
|
|
55
|
+
case 'user_pat':
|
|
56
|
+
return {
|
|
57
|
+
'user_auth_key': authConfig.userAuthKey,
|
|
58
|
+
'user_mail': authConfig.userMail
|
|
59
|
+
};
|
|
60
|
+
case 'project_api_key':
|
|
61
|
+
return {
|
|
62
|
+
'TestChimp-Api-Key': authConfig.apiKey,
|
|
63
|
+
'project-id': authConfig.projectId
|
|
64
|
+
};
|
|
65
|
+
default:
|
|
66
|
+
throw new Error('Invalid authentication configuration');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=auth-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-config.js","sourceRoot":"","sources":["../src/auth-config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmBH,8CAMC;AAKD,0DAMC;AAMD,0DAkBC;AAKD,wCAeC;AAhED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,QAAgB;IACrE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAc,EAAE,SAAiB;IACvE,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB;IACrC,6DAA6D;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEnD,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAEjD,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAsB;IACnD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,OAAO;gBACL,eAAe,EAAE,UAAU,CAAC,WAAW;gBACvC,WAAW,EAAE,UAAU,CAAC,QAAQ;aACjC,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,mBAAmB,EAAE,UAAU,CAAC,MAAM;gBACtC,YAAY,EAAE,UAAU,CAAC,SAAS;aACnC,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* This module loads environment configuration from packaged env files
|
|
5
|
+
* instead of relying on process.env which may not be available in VS Code extensions
|
|
6
|
+
*/
|
|
7
|
+
interface EnvConfig {
|
|
8
|
+
TESTCHIMP_BACKEND_URL: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Load environment configuration from the packaged env file
|
|
12
|
+
* Falls back to process.env if env file is not available
|
|
13
|
+
*/
|
|
14
|
+
export declare function loadEnvConfig(): EnvConfig;
|
|
15
|
+
/**
|
|
16
|
+
* Get a specific environment variable
|
|
17
|
+
*/
|
|
18
|
+
export declare function getEnvVar(key: keyof EnvConfig): string | undefined;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=env-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-loader.d.ts","sourceRoot":"","sources":["../src/env-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU,SAAS;IACjB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAID;;;GAGG;AACH,wBAAgB,aAAa,IAAI,SAAS,CAiEzC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAGlE"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Environment Configuration Loader
|
|
4
|
+
*
|
|
5
|
+
* This module loads environment configuration from packaged env files
|
|
6
|
+
* instead of relying on process.env which may not be available in VS Code extensions
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.loadEnvConfig = loadEnvConfig;
|
|
10
|
+
exports.getEnvVar = getEnvVar;
|
|
11
|
+
let cachedConfig = null;
|
|
12
|
+
/**
|
|
13
|
+
* Load environment configuration from the packaged env file
|
|
14
|
+
* Falls back to process.env if env file is not available
|
|
15
|
+
*/
|
|
16
|
+
function loadEnvConfig() {
|
|
17
|
+
if (cachedConfig) {
|
|
18
|
+
return cachedConfig;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
// Try multiple possible paths for the env file
|
|
22
|
+
const possiblePaths = [
|
|
23
|
+
require('path').join(__dirname, 'env'),
|
|
24
|
+
require('path').join(__dirname, './env'),
|
|
25
|
+
require('path').join(__dirname, '../env'),
|
|
26
|
+
require('path').join(__dirname, '../../runner-core/env'),
|
|
27
|
+
require('path').join(__dirname, '../../runner-core/dist/env'),
|
|
28
|
+
require('path').join(process.cwd(), 'env'),
|
|
29
|
+
require('path').join(process.cwd(), 'runner-core/env'),
|
|
30
|
+
require('path').join(process.cwd(), 'runner-core/dist/env'),
|
|
31
|
+
require('path').join(process.cwd(), 'local/runner-core/env'),
|
|
32
|
+
require('path').join(process.cwd(), 'local/runner-core/dist/env')
|
|
33
|
+
];
|
|
34
|
+
let envContent = '';
|
|
35
|
+
let envPath = '';
|
|
36
|
+
for (const path of possiblePaths) {
|
|
37
|
+
try {
|
|
38
|
+
envContent = require('fs').readFileSync(path, 'utf8');
|
|
39
|
+
envPath = path;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// Silently continue to next path
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (!envContent) {
|
|
47
|
+
throw new Error('Could not find env file in any of the expected locations');
|
|
48
|
+
}
|
|
49
|
+
const config = {};
|
|
50
|
+
envContent.split('\n').forEach((line) => {
|
|
51
|
+
const trimmedLine = line.trim();
|
|
52
|
+
if (trimmedLine && !trimmedLine.startsWith('#')) {
|
|
53
|
+
const [key, value] = trimmedLine.split('=');
|
|
54
|
+
if (key && value) {
|
|
55
|
+
const trimmedKey = key.trim();
|
|
56
|
+
config[trimmedKey] = value.trim();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Ensure required properties are present
|
|
61
|
+
const finalConfig = {
|
|
62
|
+
TESTCHIMP_BACKEND_URL: config.TESTCHIMP_BACKEND_URL || 'https://featureservice.testchimp.io'
|
|
63
|
+
};
|
|
64
|
+
cachedConfig = finalConfig;
|
|
65
|
+
return finalConfig;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
// Fallback to process.env
|
|
69
|
+
const config = {
|
|
70
|
+
TESTCHIMP_BACKEND_URL: process.env.TESTCHIMP_BACKEND_URL || 'https://featureservice.testchimp.io'
|
|
71
|
+
};
|
|
72
|
+
cachedConfig = config;
|
|
73
|
+
return config;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get a specific environment variable
|
|
78
|
+
*/
|
|
79
|
+
function getEnvVar(key) {
|
|
80
|
+
const config = loadEnvConfig();
|
|
81
|
+
return config[key];
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=env-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-loader.js","sourceRoot":"","sources":["../src/env-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { PlaywrightExecutionRequest, PlaywrightExecutionResponse, ScriptExecutionRequest, ScriptExecutionResponse } from './types';
|
|
2
|
+
import { AuthConfig } from './auth-config';
|
|
3
|
+
/**
|
|
4
|
+
* Service for orchestrating Playwright script execution
|
|
5
|
+
*/
|
|
6
|
+
export declare class ExecutionService {
|
|
7
|
+
private playwrightService;
|
|
8
|
+
private llmFacade;
|
|
9
|
+
constructor(authConfig?: AuthConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Initialize the execution service
|
|
12
|
+
*/
|
|
13
|
+
initialize(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Execute a script with optional AI repair capabilities
|
|
16
|
+
*/
|
|
17
|
+
executeScript(request: ScriptExecutionRequest): Promise<ScriptExecutionResponse>;
|
|
18
|
+
/**
|
|
19
|
+
* Execute a complete Playwright test suite as a single job
|
|
20
|
+
*/
|
|
21
|
+
executeTestSuite(request: PlaywrightExecutionRequest): Promise<PlaywrightExecutionResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Parse Playwright configuration from string
|
|
24
|
+
*/
|
|
25
|
+
private parsePlaywrightConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Close the execution service
|
|
28
|
+
*/
|
|
29
|
+
close(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if the service is ready
|
|
32
|
+
*/
|
|
33
|
+
isReady(): boolean;
|
|
34
|
+
private runExactly;
|
|
35
|
+
private runWithAIRepair;
|
|
36
|
+
private parseScriptIntoSteps;
|
|
37
|
+
private parseScriptIntoStepsFallback;
|
|
38
|
+
private repairStepsWithAI;
|
|
39
|
+
private executeStepCode;
|
|
40
|
+
/**
|
|
41
|
+
* Validate step code has executable content (preserves comments)
|
|
42
|
+
*/
|
|
43
|
+
private cleanStepCode;
|
|
44
|
+
private executeStepInContext;
|
|
45
|
+
private executeScriptContent;
|
|
46
|
+
private getEnhancedPageInfo;
|
|
47
|
+
private buildFailureHistory;
|
|
48
|
+
private buildRecentRepairsContext;
|
|
49
|
+
private applyRepairActionInContext;
|
|
50
|
+
private applyRepairAction;
|
|
51
|
+
private generateUpdatedScript;
|
|
52
|
+
/**
|
|
53
|
+
* Initialize browser with configuration (delegates to utility function)
|
|
54
|
+
*/
|
|
55
|
+
private initializeBrowser;
|
|
56
|
+
/**
|
|
57
|
+
* Safely serialize error information, filtering out non-serializable values
|
|
58
|
+
*/
|
|
59
|
+
private safeSerializeError;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=execution-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAE3B,sBAAsB,EACtB,uBAAuB,EAKxB,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;gBAEjB,UAAU,CAAC,EAAE,UAAU;IAKnC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmBtF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAgCjG;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsC7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,OAAO,IAAI,OAAO;YAIJ,UAAU;YAwDV,eAAe;YAiGf,oBAAoB;IAgBlC,OAAO,CAAC,4BAA4B;YA8CtB,iBAAiB;YA6OjB,eAAe;IAsB7B;;OAEG;IACH,OAAO,CAAC,aAAa;YAeP,oBAAoB;YAiDpB,oBAAoB;YAapB,mBAAmB;IAejC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,yBAAyB;YA0CnB,0BAA0B;YAkF1B,iBAAiB;IA0D/B,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;YACW,iBAAiB;IAI/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAkC3B"}
|