@factiii/stack 0.1.6 → 0.1.8

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 (60) hide show
  1. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -1
  2. package/dist/plugins/addons/server-mode/scanfix/mac.js +13 -1
  3. package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -1
  4. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -1
  5. package/dist/plugins/pipelines/aws/configs/free-tier.js +3 -38
  6. package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -1
  7. package/dist/plugins/pipelines/aws/index.d.ts +4 -1
  8. package/dist/plugins/pipelines/aws/index.d.ts.map +1 -1
  9. package/dist/plugins/pipelines/aws/index.js +101 -29
  10. package/dist/plugins/pipelines/aws/index.js.map +1 -1
  11. package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts +9 -0
  12. package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -0
  13. package/dist/plugins/pipelines/aws/scanfix/credentials.js +196 -0
  14. package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -0
  15. package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts +13 -0
  16. package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts.map +1 -0
  17. package/dist/plugins/pipelines/aws/scanfix/db-replication.js +136 -0
  18. package/dist/plugins/pipelines/aws/scanfix/db-replication.js.map +1 -0
  19. package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts +10 -0
  20. package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts.map +1 -0
  21. package/dist/plugins/pipelines/aws/scanfix/ec2.js +279 -0
  22. package/dist/plugins/pipelines/aws/scanfix/ec2.js.map +1 -0
  23. package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts +9 -0
  24. package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts.map +1 -0
  25. package/dist/plugins/pipelines/aws/scanfix/ecr.js +100 -0
  26. package/dist/plugins/pipelines/aws/scanfix/ecr.js.map +1 -0
  27. package/dist/plugins/pipelines/aws/scanfix/iam.d.ts +10 -0
  28. package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -0
  29. package/dist/plugins/pipelines/aws/scanfix/iam.js +255 -0
  30. package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -0
  31. package/dist/plugins/pipelines/aws/scanfix/rds.d.ts +10 -0
  32. package/dist/plugins/pipelines/aws/scanfix/rds.d.ts.map +1 -0
  33. package/dist/plugins/pipelines/aws/scanfix/rds.js +261 -0
  34. package/dist/plugins/pipelines/aws/scanfix/rds.js.map +1 -0
  35. package/dist/plugins/pipelines/aws/scanfix/s3.d.ts +9 -0
  36. package/dist/plugins/pipelines/aws/scanfix/s3.d.ts.map +1 -0
  37. package/dist/plugins/pipelines/aws/scanfix/s3.js +134 -0
  38. package/dist/plugins/pipelines/aws/scanfix/s3.js.map +1 -0
  39. package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts +10 -0
  40. package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts.map +1 -0
  41. package/dist/plugins/pipelines/aws/scanfix/security-groups.js +225 -0
  42. package/dist/plugins/pipelines/aws/scanfix/security-groups.js.map +1 -0
  43. package/dist/plugins/pipelines/aws/scanfix/ses.d.ts +9 -0
  44. package/dist/plugins/pipelines/aws/scanfix/ses.d.ts.map +1 -0
  45. package/dist/plugins/pipelines/aws/scanfix/ses.js +174 -0
  46. package/dist/plugins/pipelines/aws/scanfix/ses.js.map +1 -0
  47. package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts +9 -0
  48. package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts.map +1 -0
  49. package/dist/plugins/pipelines/aws/scanfix/vpc.js +237 -0
  50. package/dist/plugins/pipelines/aws/scanfix/vpc.js.map +1 -0
  51. package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts +50 -0
  52. package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts.map +1 -0
  53. package/dist/plugins/pipelines/aws/utils/aws-helpers.js +137 -0
  54. package/dist/plugins/pipelines/aws/utils/aws-helpers.js.map +1 -0
  55. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
  56. package/dist/plugins/pipelines/factiii/index.js +11 -0
  57. package/dist/plugins/pipelines/factiii/index.js.map +1 -1
  58. package/dist/types/config.d.ts +11 -0
  59. package/dist/types/config.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec2.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/ec2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * AWS ECR Fixes
3
+ *
4
+ * Provisions ECR (Elastic Container Registry) repository
5
+ * with lifecycle policy to keep costs down.
6
+ */
7
+ import type { Fix } from '../../../../types/index.js';
8
+ export declare const ecrFixes: Fix[];
9
+ //# sourceMappingURL=ecr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecr.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/ecr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA2BrE,eAAO,MAAM,QAAQ,EAAE,GAAG,EAgFzB,CAAC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * AWS ECR Fixes
4
+ *
5
+ * Provisions ECR (Elastic Container Registry) repository
6
+ * with lifecycle policy to keep costs down.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ecrFixes = void 0;
10
+ const aws_helpers_js_1 = require("../utils/aws-helpers.js");
11
+ /**
12
+ * Check if ECR repository exists
13
+ */
14
+ function findEcrRepo(repoName, region) {
15
+ const result = (0, aws_helpers_js_1.awsExecSafe)('aws ecr describe-repositories --repository-names ' + repoName, region);
16
+ return !!result && !result.includes('RepositoryNotFoundException');
17
+ }
18
+ /**
19
+ * Check if AWS is configured for this project
20
+ */
21
+ function isAwsConfigured(config) {
22
+ if (config.aws)
23
+ return true;
24
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
25
+ const { extractEnvironments } = require('../../../../utils/config-helpers.js');
26
+ const environments = extractEnvironments(config);
27
+ return Object.values(environments).some((e) => e.pipeline === 'aws');
28
+ }
29
+ exports.ecrFixes = [
30
+ {
31
+ id: 'aws-ecr-repo-missing',
32
+ stage: 'prod',
33
+ severity: 'warning',
34
+ description: 'ECR repository not created for container images',
35
+ scan: async (config) => {
36
+ if (!isAwsConfigured(config))
37
+ return false;
38
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
39
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
40
+ return !findEcrRepo(projectName, region);
41
+ },
42
+ fix: async (config) => {
43
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
44
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
45
+ try {
46
+ // Create ECR repository
47
+ const result = (0, aws_helpers_js_1.awsExec)('aws ecr create-repository --repository-name ' + projectName +
48
+ ' --image-scanning-configuration scanOnPush=true', region);
49
+ const parsed = JSON.parse(result);
50
+ const repoUri = parsed.repository?.repositoryUri;
51
+ console.log(' Created ECR repository: ' + projectName);
52
+ if (repoUri) {
53
+ console.log(' Repository URI: ' + repoUri);
54
+ }
55
+ // Set lifecycle policy to keep only 10 images (control costs)
56
+ const lifecyclePolicy = JSON.stringify({
57
+ rules: [{
58
+ rulePriority: 1,
59
+ description: 'Keep only 10 images',
60
+ selection: {
61
+ tagStatus: 'any',
62
+ countType: 'imageCountMoreThan',
63
+ countNumber: 10,
64
+ },
65
+ action: { type: 'expire' },
66
+ }],
67
+ });
68
+ (0, aws_helpers_js_1.awsExec)('aws ecr put-lifecycle-policy --repository-name ' + projectName +
69
+ " --lifecycle-policy-text '" + lifecyclePolicy + "'", region);
70
+ console.log(' Set lifecycle policy: keep 10 most recent images');
71
+ return true;
72
+ }
73
+ catch (e) {
74
+ console.log(' Failed to create ECR repository: ' + (e instanceof Error ? e.message : String(e)));
75
+ return false;
76
+ }
77
+ },
78
+ manualFix: 'Create ECR repository: aws ecr create-repository --repository-name <app-name>',
79
+ },
80
+ {
81
+ id: 'aws-ecr-login-test',
82
+ stage: 'dev',
83
+ severity: 'info',
84
+ description: 'ECR Docker login not working from dev machine',
85
+ scan: async (config) => {
86
+ if (!isAwsConfigured(config))
87
+ return false;
88
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
89
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
90
+ if (!findEcrRepo(projectName, region))
91
+ return false;
92
+ // Test ECR login
93
+ const result = (0, aws_helpers_js_1.awsExecSafe)('aws ecr get-login-password', region);
94
+ return !result;
95
+ },
96
+ fix: null,
97
+ manualFix: 'Test ECR login: aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account-id>.dkr.ecr.<region>.amazonaws.com',
98
+ },
99
+ ];
100
+ //# sourceMappingURL=ecr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecr.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/ecr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * AWS IAM Fixes
3
+ *
4
+ * Creates IAM users with scoped policies:
5
+ * - Dev user: read-only access for development
6
+ * - Prod user: full access for deployment
7
+ */
8
+ import type { Fix } from '../../../../types/index.js';
9
+ export declare const iamFixes: Fix[];
10
+ //# sourceMappingURL=iam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA0JrE,eAAO,MAAM,QAAQ,EAAE,GAAG,EA6HzB,CAAC"}
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ /**
3
+ * AWS IAM Fixes
4
+ *
5
+ * Creates IAM users with scoped policies:
6
+ * - Dev user: read-only access for development
7
+ * - Prod user: full access for deployment
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.iamFixes = void 0;
11
+ const aws_helpers_js_1 = require("../utils/aws-helpers.js");
12
+ /**
13
+ * Check if IAM user exists
14
+ */
15
+ function findIamUser(userName, region) {
16
+ const result = (0, aws_helpers_js_1.awsExecSafe)('aws iam get-user --user-name ' + userName, region);
17
+ return !!result && !result.includes('NoSuchEntity');
18
+ }
19
+ /**
20
+ * Check if AWS is configured for this project
21
+ */
22
+ function isAwsConfigured(config) {
23
+ if (config.aws)
24
+ return true;
25
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
26
+ const { extractEnvironments } = require('../../../../utils/config-helpers.js');
27
+ const environments = extractEnvironments(config);
28
+ return Object.values(environments).some((e) => e.pipeline === 'aws');
29
+ }
30
+ /**
31
+ * Generate dev IAM policy (read-only)
32
+ */
33
+ function getDevPolicy(projectName, region, accountId) {
34
+ return JSON.stringify({
35
+ Version: '2012-10-17',
36
+ Statement: [
37
+ {
38
+ Sid: 'ECRReadOnly',
39
+ Effect: 'Allow',
40
+ Action: [
41
+ 'ecr:GetAuthorizationToken',
42
+ 'ecr:BatchGetImage',
43
+ 'ecr:GetDownloadUrlForLayer',
44
+ 'ecr:DescribeRepositories',
45
+ 'ecr:ListImages',
46
+ ],
47
+ Resource: 'arn:aws:ecr:' + region + ':' + accountId + ':repository/' + projectName,
48
+ },
49
+ {
50
+ Sid: 'ECRAuth',
51
+ Effect: 'Allow',
52
+ Action: 'ecr:GetAuthorizationToken',
53
+ Resource: '*',
54
+ },
55
+ {
56
+ Sid: 'S3ReadOnly',
57
+ Effect: 'Allow',
58
+ Action: [
59
+ 's3:GetObject',
60
+ 's3:ListBucket',
61
+ ],
62
+ Resource: [
63
+ 'arn:aws:s3:::factiii-' + projectName,
64
+ 'arn:aws:s3:::factiii-' + projectName + '/*',
65
+ ],
66
+ },
67
+ {
68
+ Sid: 'EC2Describe',
69
+ Effect: 'Allow',
70
+ Action: [
71
+ 'ec2:DescribeInstances',
72
+ 'ec2:DescribeVpcs',
73
+ 'ec2:DescribeSubnets',
74
+ 'ec2:DescribeSecurityGroups',
75
+ ],
76
+ Resource: '*',
77
+ },
78
+ {
79
+ Sid: 'RDSDescribe',
80
+ Effect: 'Allow',
81
+ Action: [
82
+ 'rds:DescribeDBInstances',
83
+ 'rds:DescribeDBSubnetGroups',
84
+ ],
85
+ Resource: '*',
86
+ },
87
+ ],
88
+ });
89
+ }
90
+ /**
91
+ * Generate prod IAM policy (full access for deployment)
92
+ */
93
+ function getProdPolicy(projectName, region, accountId) {
94
+ return JSON.stringify({
95
+ Version: '2012-10-17',
96
+ Statement: [
97
+ {
98
+ Sid: 'ECRFullAccess',
99
+ Effect: 'Allow',
100
+ Action: 'ecr:*',
101
+ Resource: 'arn:aws:ecr:' + region + ':' + accountId + ':repository/' + projectName,
102
+ },
103
+ {
104
+ Sid: 'ECRAuth',
105
+ Effect: 'Allow',
106
+ Action: 'ecr:GetAuthorizationToken',
107
+ Resource: '*',
108
+ },
109
+ {
110
+ Sid: 'S3FullAccess',
111
+ Effect: 'Allow',
112
+ Action: 's3:*',
113
+ Resource: [
114
+ 'arn:aws:s3:::factiii-' + projectName,
115
+ 'arn:aws:s3:::factiii-' + projectName + '/*',
116
+ ],
117
+ },
118
+ {
119
+ Sid: 'EC2Management',
120
+ Effect: 'Allow',
121
+ Action: [
122
+ 'ec2:DescribeInstances',
123
+ 'ec2:StartInstances',
124
+ 'ec2:StopInstances',
125
+ 'ec2:RebootInstances',
126
+ 'ec2:DescribeVpcs',
127
+ 'ec2:DescribeSubnets',
128
+ 'ec2:DescribeSecurityGroups',
129
+ 'ec2:DescribeAddresses',
130
+ ],
131
+ Resource: '*',
132
+ },
133
+ {
134
+ Sid: 'RDSManagement',
135
+ Effect: 'Allow',
136
+ Action: [
137
+ 'rds:DescribeDBInstances',
138
+ 'rds:StartDBInstance',
139
+ 'rds:StopDBInstance',
140
+ 'rds:RebootDBInstance',
141
+ 'rds:CreateDBSnapshot',
142
+ 'rds:DescribeDBSnapshots',
143
+ ],
144
+ Resource: '*',
145
+ },
146
+ {
147
+ Sid: 'SESFullAccess',
148
+ Effect: 'Allow',
149
+ Action: 'ses:*',
150
+ Resource: '*',
151
+ },
152
+ ],
153
+ });
154
+ }
155
+ exports.iamFixes = [
156
+ {
157
+ id: 'aws-iam-dev-user-missing',
158
+ stage: 'secrets',
159
+ severity: 'warning',
160
+ description: 'IAM dev user not created (read-only access)',
161
+ scan: async (config) => {
162
+ if (!isAwsConfigured(config))
163
+ return false;
164
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
165
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
166
+ return !findIamUser('factiii-' + projectName + '-dev', region);
167
+ },
168
+ fix: async (config) => {
169
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
170
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
171
+ const userName = 'factiii-' + projectName + '-dev';
172
+ try {
173
+ // Get account ID for ARNs
174
+ const accountResult = (0, aws_helpers_js_1.awsExec)('aws sts get-caller-identity --query Account --output text', region);
175
+ const accountId = accountResult.replace(/"/g, '').trim();
176
+ // Create IAM user
177
+ (0, aws_helpers_js_1.awsExec)('aws iam create-user --user-name ' + userName, region);
178
+ console.log(' Created IAM user: ' + userName);
179
+ // Create and attach inline policy
180
+ const policy = getDevPolicy(projectName, region, accountId);
181
+ (0, aws_helpers_js_1.awsExec)('aws iam put-user-policy --user-name ' + userName +
182
+ ' --policy-name factiii-' + projectName + '-dev-policy' +
183
+ " --policy-document '" + policy + "'", region);
184
+ console.log(' Attached dev policy (read-only ECR, S3, EC2, RDS)');
185
+ // Create access key
186
+ const keyResult = (0, aws_helpers_js_1.awsExec)('aws iam create-access-key --user-name ' + userName, region);
187
+ const parsed = JSON.parse(keyResult);
188
+ const accessKeyId = parsed.AccessKey?.AccessKeyId;
189
+ const secretKey = parsed.AccessKey?.SecretAccessKey;
190
+ console.log('');
191
+ console.log(' Dev credentials (save these!):');
192
+ console.log(' Access Key ID: ' + accessKeyId);
193
+ console.log(' Secret Access Key: ' + secretKey);
194
+ console.log('');
195
+ console.log(' TIP: Store in Ansible Vault: npx factiii secrets edit');
196
+ return true;
197
+ }
198
+ catch (e) {
199
+ console.log(' Failed to create dev IAM user: ' + (e instanceof Error ? e.message : String(e)));
200
+ return false;
201
+ }
202
+ },
203
+ manualFix: 'Create IAM dev user with read-only policy for ECR, S3, EC2, RDS',
204
+ },
205
+ {
206
+ id: 'aws-iam-prod-user-missing',
207
+ stage: 'secrets',
208
+ severity: 'warning',
209
+ description: 'IAM prod user not created (deployment access)',
210
+ scan: async (config) => {
211
+ if (!isAwsConfigured(config))
212
+ return false;
213
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
214
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
215
+ return !findIamUser('factiii-' + projectName + '-prod', region);
216
+ },
217
+ fix: async (config) => {
218
+ const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
219
+ const projectName = (0, aws_helpers_js_1.getProjectName)(config);
220
+ const userName = 'factiii-' + projectName + '-prod';
221
+ try {
222
+ // Get account ID for ARNs
223
+ const accountResult = (0, aws_helpers_js_1.awsExec)('aws sts get-caller-identity --query Account --output text', region);
224
+ const accountId = accountResult.replace(/"/g, '').trim();
225
+ // Create IAM user
226
+ (0, aws_helpers_js_1.awsExec)('aws iam create-user --user-name ' + userName, region);
227
+ console.log(' Created IAM user: ' + userName);
228
+ // Create and attach inline policy
229
+ const policy = getProdPolicy(projectName, region, accountId);
230
+ (0, aws_helpers_js_1.awsExec)('aws iam put-user-policy --user-name ' + userName +
231
+ ' --policy-name factiii-' + projectName + '-prod-policy' +
232
+ " --policy-document '" + policy + "'", region);
233
+ console.log(' Attached prod policy (full ECR, S3, EC2, RDS, SES)');
234
+ // Create access key
235
+ const keyResult = (0, aws_helpers_js_1.awsExec)('aws iam create-access-key --user-name ' + userName, region);
236
+ const parsed = JSON.parse(keyResult);
237
+ const accessKeyId = parsed.AccessKey?.AccessKeyId;
238
+ const secretKey = parsed.AccessKey?.SecretAccessKey;
239
+ console.log('');
240
+ console.log(' Prod credentials (save these!):');
241
+ console.log(' Access Key ID: ' + accessKeyId);
242
+ console.log(' Secret Access Key: ' + secretKey);
243
+ console.log('');
244
+ console.log(' TIP: Store in Ansible Vault: npx factiii secrets edit');
245
+ return true;
246
+ }
247
+ catch (e) {
248
+ console.log(' Failed to create prod IAM user: ' + (e instanceof Error ? e.message : String(e)));
249
+ return false;
250
+ }
251
+ },
252
+ manualFix: 'Create IAM prod user with deployment policy for ECR, S3, EC2, RDS, SES',
253
+ },
254
+ ];
255
+ //# sourceMappingURL=iam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * AWS RDS Fixes
3
+ *
4
+ * Provisions RDS PostgreSQL 15 instance (db.t2.micro free tier).
5
+ * Creates DB subnet group from private subnets, launches instance with RDS SG.
6
+ * Stores DATABASE_URL in Ansible Vault.
7
+ */
8
+ import type { Fix } from '../../../../types/index.js';
9
+ export declare const rdsFixes: Fix[];
10
+ //# sourceMappingURL=rds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rds.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/rds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAmGrE,eAAO,MAAM,QAAQ,EAAE,GAAG,EA6KzB,CAAC"}