@sembix/cli 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.
- package/.env.example +6 -0
- package/LICENSE +15 -0
- package/README.md +698 -0
- package/config.example.yaml +118 -0
- package/dist/commands/hub-integration.d.ts +3 -0
- package/dist/commands/hub-integration.d.ts.map +1 -0
- package/dist/commands/hub-integration.js +107 -0
- package/dist/commands/hub-integration.js.map +1 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +282 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +498 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config-schema.d.ts +417 -0
- package/dist/config-schema.d.ts.map +1 -0
- package/dist/config-schema.js +152 -0
- package/dist/config-schema.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +260 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/environment-setup.d.ts +4 -0
- package/dist/prompts/environment-setup.d.ts.map +1 -0
- package/dist/prompts/environment-setup.js +689 -0
- package/dist/prompts/environment-setup.js.map +1 -0
- package/dist/prompts/hub-integration-step.d.ts +21 -0
- package/dist/prompts/hub-integration-step.d.ts.map +1 -0
- package/dist/prompts/hub-integration-step.js +104 -0
- package/dist/prompts/hub-integration-step.js.map +1 -0
- package/dist/prompts/hub-integration.d.ts +4 -0
- package/dist/prompts/hub-integration.d.ts.map +1 -0
- package/dist/prompts/hub-integration.js +141 -0
- package/dist/prompts/hub-integration.js.map +1 -0
- package/dist/prompts/prompt-helpers.d.ts +18 -0
- package/dist/prompts/prompt-helpers.d.ts.map +1 -0
- package/dist/prompts/prompt-helpers.js +50 -0
- package/dist/prompts/prompt-helpers.js.map +1 -0
- package/dist/types.d.ts +144 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/config-loader.d.ts +34 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +377 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/github.d.ts +38 -0
- package/dist/utils/github.d.ts.map +1 -0
- package/dist/utils/github.js +188 -0
- package/dist/utils/github.js.map +1 -0
- package/dist/utils/ui.d.ts +18 -0
- package/dist/utils/ui.d.ts.map +1 -0
- package/dist/utils/ui.js +62 -0
- package/dist/utils/ui.js.map +1 -0
- package/package.json +80 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { validateConfig, config } from './config.js';
|
|
4
|
+
import { setupEnvironment } from './commands/setup.js';
|
|
5
|
+
import { addHubIntegration } from './commands/hub-integration.js';
|
|
6
|
+
import * as ui from './utils/ui.js';
|
|
7
|
+
const program = new Command();
|
|
8
|
+
program
|
|
9
|
+
.name('sembix')
|
|
10
|
+
.description('CLI tool for managing Sembix deployments')
|
|
11
|
+
.version('0.1.0');
|
|
12
|
+
// ============================================================
|
|
13
|
+
// STUDIO COMMANDS
|
|
14
|
+
// ============================================================
|
|
15
|
+
const studio = program
|
|
16
|
+
.command('studio')
|
|
17
|
+
.description('Manage Sembix Studio deployments');
|
|
18
|
+
// sembix studio create [name]
|
|
19
|
+
studio
|
|
20
|
+
.command('create [name]')
|
|
21
|
+
.description('Create a new Sembix Studio environment')
|
|
22
|
+
// General options
|
|
23
|
+
.option('-t, --token <token>', 'GitHub personal access token')
|
|
24
|
+
.option('-c, --config <path>', 'Path to YAML configuration file')
|
|
25
|
+
.option('-r, --repo <repo>', 'Target repository (owner/repo format)')
|
|
26
|
+
.option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
|
|
27
|
+
// Basic configuration
|
|
28
|
+
.option('--aws-account-id <id>', 'AWS Account ID (12 digits)')
|
|
29
|
+
.option('--aws-region <region>', 'AWS Region (e.g., us-east-1)')
|
|
30
|
+
.option('--customer-role-arn <arn>', 'GitHub Actions IAM role ARN')
|
|
31
|
+
.option('--terraform-state-bucket <bucket>', 'S3 bucket for Terraform state')
|
|
32
|
+
// Database configuration
|
|
33
|
+
.option('--database-name <name>', 'PostgreSQL database name')
|
|
34
|
+
.option('--database-user <user>', 'PostgreSQL database user')
|
|
35
|
+
// Networking configuration
|
|
36
|
+
.option('--enable-vpc-endpoints <boolean>', 'Enable VPC endpoints (true/false)', (val) => val === 'true')
|
|
37
|
+
.option('--use-custom-networking <boolean>', 'Use existing VPC (true/false)', (val) => val === 'true')
|
|
38
|
+
.option('--vpc-cidr <cidr>', 'VPC CIDR block (e.g., 10.0.0.0/16)')
|
|
39
|
+
.option('--public-subnet-cidrs <json>', 'Public subnet CIDRs (JSON array)')
|
|
40
|
+
.option('--private-subnet-cidrs <json>', 'Private subnet CIDRs (JSON array)')
|
|
41
|
+
.option('--az-count <count>', 'Number of availability zones (2 or 3)')
|
|
42
|
+
.option('--custom-vpc-id <id>', 'Existing VPC ID')
|
|
43
|
+
.option('--custom-public-subnet-ids <ids>', 'Existing public subnet IDs (comma-separated)')
|
|
44
|
+
.option('--custom-private-subnet-ids <ids>', 'Existing private subnet IDs (comma-separated)')
|
|
45
|
+
// Security configuration
|
|
46
|
+
.option('--workflow-runs-key-alias <alias>', 'KMS key alias for workflow runs')
|
|
47
|
+
.option('--use-custom-security-groups <boolean>', 'Use custom security groups (true/false)', (val) => val === 'true')
|
|
48
|
+
.option('--sg-workflow-engine <id>', 'Workflow Engine security group ID')
|
|
49
|
+
.option('--sg-aurora <id>', 'Aurora database security group ID')
|
|
50
|
+
.option('--sg-rds-proxy <id>', 'RDS Proxy security group ID')
|
|
51
|
+
.option('--sg-bff-ecs <id>', 'BFF ECS service security group ID')
|
|
52
|
+
.option('--sg-bastion <id>', 'Bastion host security group ID')
|
|
53
|
+
.option('--sg-bff-alb <id>', 'BFF ALB security group ID')
|
|
54
|
+
.option('--use-custom-iam-roles <boolean>', 'Use custom IAM roles (true/false)', (val) => val === 'true')
|
|
55
|
+
.option('--iam-workflow-engine-exec <arn>', 'Workflow Engine execution role ARN')
|
|
56
|
+
.option('--iam-workflow-engine-task <arn>', 'Workflow Engine task role ARN')
|
|
57
|
+
.option('--iam-bff-ecs-exec <arn>', 'BFF ECS task execution role ARN')
|
|
58
|
+
.option('--iam-bff-ecs-task <arn>', 'BFF ECS task role ARN')
|
|
59
|
+
.option('--iam-rds-proxy <arn>', 'RDS Proxy role ARN')
|
|
60
|
+
.option('--iam-studio-memory <arn>', 'Studio Memory role ARN')
|
|
61
|
+
.option('--iam-studio-notification <arn>', 'Studio Notification role ARN')
|
|
62
|
+
// TLS/DNS configuration
|
|
63
|
+
.option('--cloudfront-domain <domain>', 'CloudFront custom domain')
|
|
64
|
+
.option('--cloudfront-cert-arn <arn>', 'CloudFront SSL certificate ARN (must be in us-east-1)')
|
|
65
|
+
.option('--bff-alb-cert-arn <arn>', 'BFF ALB SSL certificate ARN')
|
|
66
|
+
.option('--hosted-zone-id <id>', 'Route53 hosted zone ID')
|
|
67
|
+
// Feature flags
|
|
68
|
+
.option('--deploy-studio-memory <boolean>', 'Deploy Studio Memory service (true/false)', (val) => val === 'true')
|
|
69
|
+
.option('--deploy-studio-notifications <boolean>', 'Deploy Studio Notifications service (true/false)', (val) => val === 'true')
|
|
70
|
+
.option('--enable-bff-waf <boolean>', 'Enable WAF for BFF (true/false)', (val) => val === 'true')
|
|
71
|
+
// Frontend configuration
|
|
72
|
+
.option('--github-app-client-id <id>', 'GitHub App OAuth client ID')
|
|
73
|
+
.option('--github-app-name <name>', 'GitHub App name')
|
|
74
|
+
.option('--jira-client-id <id>', 'Jira OAuth client ID')
|
|
75
|
+
// Hub integration (Step 9)
|
|
76
|
+
.option('--skip-hub', 'Skip Hub integration configuration')
|
|
77
|
+
.option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
|
|
78
|
+
.option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
|
|
79
|
+
.option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
|
|
80
|
+
.option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
|
|
81
|
+
.option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
|
|
82
|
+
.option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
|
|
83
|
+
.action(async (name, options) => {
|
|
84
|
+
try {
|
|
85
|
+
if (!options.token) {
|
|
86
|
+
validateConfig();
|
|
87
|
+
}
|
|
88
|
+
// Use --env if provided, otherwise use positional argument
|
|
89
|
+
const environmentName = options.env || name;
|
|
90
|
+
await setupEnvironment(options.token || config.githubToken, environmentName, options);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
ui.error(error.message);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
// sembix studio update [name]
|
|
98
|
+
studio
|
|
99
|
+
.command('update [name]')
|
|
100
|
+
.description('Update an existing Sembix Studio environment')
|
|
101
|
+
// General options
|
|
102
|
+
.option('-t, --token <token>', 'GitHub personal access token')
|
|
103
|
+
.option('-c, --config <path>', 'Path to YAML configuration file')
|
|
104
|
+
.option('-r, --repo <repo>', 'Target repository (owner/repo format)')
|
|
105
|
+
.option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
|
|
106
|
+
// Same configuration options as create command
|
|
107
|
+
.option('--aws-account-id <id>', 'AWS Account ID (12 digits)')
|
|
108
|
+
.option('--aws-region <region>', 'AWS Region (e.g., us-east-1)')
|
|
109
|
+
.option('--customer-role-arn <arn>', 'GitHub Actions IAM role ARN')
|
|
110
|
+
.option('--terraform-state-bucket <bucket>', 'S3 bucket for Terraform state')
|
|
111
|
+
.option('--database-name <name>', 'PostgreSQL database name')
|
|
112
|
+
.option('--database-user <user>', 'PostgreSQL database user')
|
|
113
|
+
.option('--enable-vpc-endpoints <boolean>', 'Enable VPC endpoints (true/false)', (val) => val === 'true')
|
|
114
|
+
.option('--use-custom-networking <boolean>', 'Use existing VPC (true/false)', (val) => val === 'true')
|
|
115
|
+
.option('--vpc-cidr <cidr>', 'VPC CIDR block (e.g., 10.0.0.0/16)')
|
|
116
|
+
.option('--public-subnet-cidrs <json>', 'Public subnet CIDRs (JSON array)')
|
|
117
|
+
.option('--private-subnet-cidrs <json>', 'Private subnet CIDRs (JSON array)')
|
|
118
|
+
.option('--az-count <count>', 'Number of availability zones (2 or 3)')
|
|
119
|
+
.option('--custom-vpc-id <id>', 'Existing VPC ID')
|
|
120
|
+
.option('--custom-public-subnet-ids <ids>', 'Existing public subnet IDs (comma-separated)')
|
|
121
|
+
.option('--custom-private-subnet-ids <ids>', 'Existing private subnet IDs (comma-separated)')
|
|
122
|
+
.option('--workflow-runs-key-alias <alias>', 'KMS key alias for workflow runs')
|
|
123
|
+
.option('--use-custom-security-groups <boolean>', 'Use custom security groups (true/false)', (val) => val === 'true')
|
|
124
|
+
.option('--sg-workflow-engine <id>', 'Workflow Engine security group ID')
|
|
125
|
+
.option('--sg-aurora <id>', 'Aurora database security group ID')
|
|
126
|
+
.option('--sg-rds-proxy <id>', 'RDS Proxy security group ID')
|
|
127
|
+
.option('--sg-bff-ecs <id>', 'BFF ECS service security group ID')
|
|
128
|
+
.option('--sg-bastion <id>', 'Bastion host security group ID')
|
|
129
|
+
.option('--sg-bff-alb <id>', 'BFF ALB security group ID')
|
|
130
|
+
.option('--use-custom-iam-roles <boolean>', 'Use custom IAM roles (true/false)', (val) => val === 'true')
|
|
131
|
+
.option('--iam-workflow-engine-exec <arn>', 'Workflow Engine execution role ARN')
|
|
132
|
+
.option('--iam-workflow-engine-task <arn>', 'Workflow Engine task role ARN')
|
|
133
|
+
.option('--iam-bff-ecs-exec <arn>', 'BFF ECS task execution role ARN')
|
|
134
|
+
.option('--iam-bff-ecs-task <arn>', 'BFF ECS task role ARN')
|
|
135
|
+
.option('--iam-rds-proxy <arn>', 'RDS Proxy role ARN')
|
|
136
|
+
.option('--iam-studio-memory <arn>', 'Studio Memory role ARN')
|
|
137
|
+
.option('--iam-studio-notification <arn>', 'Studio Notification role ARN')
|
|
138
|
+
.option('--cloudfront-domain <domain>', 'CloudFront custom domain')
|
|
139
|
+
.option('--cloudfront-cert-arn <arn>', 'CloudFront SSL certificate ARN (must be in us-east-1)')
|
|
140
|
+
.option('--bff-alb-cert-arn <arn>', 'BFF ALB SSL certificate ARN')
|
|
141
|
+
.option('--hosted-zone-id <id>', 'Route53 hosted zone ID')
|
|
142
|
+
.option('--deploy-studio-memory <boolean>', 'Deploy Studio Memory service (true/false)', (val) => val === 'true')
|
|
143
|
+
.option('--deploy-studio-notifications <boolean>', 'Deploy Studio Notifications service (true/false)', (val) => val === 'true')
|
|
144
|
+
.option('--enable-bff-waf <boolean>', 'Enable WAF for BFF (true/false)', (val) => val === 'true')
|
|
145
|
+
.option('--github-app-client-id <id>', 'GitHub App OAuth client ID')
|
|
146
|
+
.option('--github-app-name <name>', 'GitHub App name')
|
|
147
|
+
.option('--jira-client-id <id>', 'Jira OAuth client ID')
|
|
148
|
+
.option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
|
|
149
|
+
.option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
|
|
150
|
+
.option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
|
|
151
|
+
.option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
|
|
152
|
+
.option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
|
|
153
|
+
.option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
|
|
154
|
+
.action(async (name, options) => {
|
|
155
|
+
try {
|
|
156
|
+
if (!options.token) {
|
|
157
|
+
validateConfig();
|
|
158
|
+
}
|
|
159
|
+
const { updateEnvironment } = await import('./commands/update.js');
|
|
160
|
+
const environmentName = options.env || name;
|
|
161
|
+
await updateEnvironment(options.token || config.githubToken, environmentName, options);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
ui.error(error.message);
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
// sembix studio add-hub [name] (DEPRECATED - kept for backwards compatibility)
|
|
169
|
+
studio
|
|
170
|
+
.command('add-hub [name]')
|
|
171
|
+
.description('Add Sembix Hub integration to an existing environment')
|
|
172
|
+
.option('-t, --token <token>', 'GitHub personal access token')
|
|
173
|
+
.option('-r, --repo <repo>', 'Target repository (owner/repo format)')
|
|
174
|
+
.option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
|
|
175
|
+
.option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
|
|
176
|
+
.option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
|
|
177
|
+
.option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
|
|
178
|
+
.option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
|
|
179
|
+
.option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
|
|
180
|
+
.option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
|
|
181
|
+
.action(async (name, options) => {
|
|
182
|
+
try {
|
|
183
|
+
if (!options.token) {
|
|
184
|
+
validateConfig();
|
|
185
|
+
}
|
|
186
|
+
// Use --env if provided, otherwise use positional argument
|
|
187
|
+
const environmentName = options.env || name;
|
|
188
|
+
await addHubIntegration(options.token || config.githubToken, environmentName, options);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
ui.error(error.message);
|
|
192
|
+
process.exit(1);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
// sembix studio list [repo]
|
|
196
|
+
studio
|
|
197
|
+
.command('list [repository]')
|
|
198
|
+
.description('List all Studio environments in a repository')
|
|
199
|
+
.option('-t, --token <token>', 'GitHub personal access token')
|
|
200
|
+
.action(async (repository, options) => {
|
|
201
|
+
try {
|
|
202
|
+
if (!options.token) {
|
|
203
|
+
validateConfig();
|
|
204
|
+
}
|
|
205
|
+
const { GitHubClient } = await import('./utils/github.js');
|
|
206
|
+
const githubClient = new GitHubClient(options.token || config.githubToken);
|
|
207
|
+
ui.banner();
|
|
208
|
+
// If no repository provided, list all repos
|
|
209
|
+
if (!repository) {
|
|
210
|
+
console.log(` ${ui.highlight('Sembix Studio')} - Environments`);
|
|
211
|
+
console.log();
|
|
212
|
+
console.log(ui.dim('💡 Tip: Specify a repository to see its environments'));
|
|
213
|
+
console.log(ui.dim(' Example: sembix studio list owner/repo'));
|
|
214
|
+
console.log();
|
|
215
|
+
const spinner = ui.spinner('Fetching your repositories...');
|
|
216
|
+
const repos = await githubClient.listRepositories();
|
|
217
|
+
spinner.stop();
|
|
218
|
+
if (repos.length === 0) {
|
|
219
|
+
ui.warning('No repositories found for your account.');
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
ui.section('Your Repositories');
|
|
223
|
+
repos.forEach((repo, index) => {
|
|
224
|
+
console.log(` ${index + 1}. ${ui.highlight(repo.full_name)}`);
|
|
225
|
+
});
|
|
226
|
+
console.log();
|
|
227
|
+
console.log(ui.dim('Run: sembix studio list <repository> to see environments'));
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
const [owner, repo] = repository.split('/');
|
|
231
|
+
if (!owner || !repo) {
|
|
232
|
+
throw new Error('Invalid repository format. Use: owner/repo');
|
|
233
|
+
}
|
|
234
|
+
console.log(` Environments in ${ui.highlight(repository)}`);
|
|
235
|
+
console.log();
|
|
236
|
+
const spinner = ui.spinner('Fetching environments...');
|
|
237
|
+
const environments = await githubClient.listEnvironments(owner, repo);
|
|
238
|
+
spinner.stop();
|
|
239
|
+
if (environments.length === 0) {
|
|
240
|
+
ui.warning(`No environments found in ${repository}`);
|
|
241
|
+
console.log();
|
|
242
|
+
console.log(ui.dim('💡 Create your first environment:'));
|
|
243
|
+
console.log(ui.dim(` sembix studio create`));
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
ui.section('Environments');
|
|
247
|
+
environments.forEach((env, index) => {
|
|
248
|
+
console.log(` ${index + 1}. ${ui.highlight(env.name)}`);
|
|
249
|
+
console.log(` ${ui.dim(env.url)}`);
|
|
250
|
+
console.log();
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
ui.error(error.message);
|
|
255
|
+
process.exit(1);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
// Parse arguments
|
|
259
|
+
program.parse();
|
|
260
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EnvironmentSetupConfig } from '../types.js';
|
|
2
|
+
import { GitHubClient } from '../utils/github.js';
|
|
3
|
+
export declare function promptEnvironmentSetup(githubClient: GitHubClient, providedEnvironmentName?: string, providedRepo?: string, partialConfig?: Partial<EnvironmentSetupConfig>, isUpdate?: boolean): Promise<EnvironmentSetupConfig>;
|
|
4
|
+
//# sourceMappingURL=environment-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-setup.d.ts","sourceRoot":"","sources":["../../src/prompts/environment-setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAa,MAAM,aAAa,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBlD,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,YAAY,EAC1B,uBAAuB,CAAC,EAAE,MAAM,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAC/C,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAm3BjC"}
|