@authrim/setup 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/README.md +303 -0
- package/dist/__tests__/config.test.d.ts +5 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +115 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/keys.test.d.ts +5 -0
- package/dist/__tests__/keys.test.d.ts.map +1 -0
- package/dist/__tests__/keys.test.js +87 -0
- package/dist/__tests__/keys.test.js.map +1 -0
- package/dist/__tests__/naming.test.d.ts +5 -0
- package/dist/__tests__/naming.test.d.ts.map +1 -0
- package/dist/__tests__/naming.test.js +84 -0
- package/dist/__tests__/naming.test.js.map +1 -0
- package/dist/cli/commands/config.d.ts +13 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +231 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts +21 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +304 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/init.d.ts +14 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +1248 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/core/admin.d.ts +64 -0
- package/dist/core/admin.d.ts.map +1 -0
- package/dist/core/admin.js +247 -0
- package/dist/core/admin.js.map +1 -0
- package/dist/core/cloudflare.d.ts +157 -0
- package/dist/core/cloudflare.d.ts.map +1 -0
- package/dist/core/cloudflare.js +452 -0
- package/dist/core/cloudflare.js.map +1 -0
- package/dist/core/config.d.ts +891 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +208 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/deploy.d.ts +81 -0
- package/dist/core/deploy.d.ts.map +1 -0
- package/dist/core/deploy.js +389 -0
- package/dist/core/deploy.js.map +1 -0
- package/dist/core/keys.d.ts +111 -0
- package/dist/core/keys.d.ts.map +1 -0
- package/dist/core/keys.js +287 -0
- package/dist/core/keys.js.map +1 -0
- package/dist/core/lock.d.ts +220 -0
- package/dist/core/lock.d.ts.map +1 -0
- package/dist/core/lock.js +230 -0
- package/dist/core/lock.js.map +1 -0
- package/dist/core/naming.d.ts +151 -0
- package/dist/core/naming.d.ts.map +1 -0
- package/dist/core/naming.js +209 -0
- package/dist/core/naming.js.map +1 -0
- package/dist/core/source.d.ts +68 -0
- package/dist/core/source.d.ts.map +1 -0
- package/dist/core/source.js +285 -0
- package/dist/core/source.js.map +1 -0
- package/dist/core/wrangler.d.ts +87 -0
- package/dist/core/wrangler.d.ts.map +1 -0
- package/dist/core/wrangler.js +398 -0
- package/dist/core/wrangler.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +117 -0
- package/dist/index.js.map +1 -0
- package/dist/web/api.d.ts +21 -0
- package/dist/web/api.d.ts.map +1 -0
- package/dist/web/api.js +423 -0
- package/dist/web/api.js.map +1 -0
- package/dist/web/server.d.ts +12 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +112 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/ui.d.ts +7 -0
- package/dist/web/ui.d.ts.map +1 -0
- package/dist/web/ui.js +765 -0
- package/dist/web/ui.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authrim Configuration Schema
|
|
3
|
+
*
|
|
4
|
+
* This module defines the configuration schema using Zod for type safety
|
|
5
|
+
* and validation. The configuration is stored in authrim-config.json.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// URL Configuration
|
|
10
|
+
// =============================================================================
|
|
11
|
+
export const UrlConfigSchema = z.object({
|
|
12
|
+
/** Custom domain (null = use auto-generated URL) */
|
|
13
|
+
custom: z.string().url().nullable().optional(),
|
|
14
|
+
/** Auto-generated URL (workers.dev or pages.dev) */
|
|
15
|
+
auto: z.string().url().optional(),
|
|
16
|
+
});
|
|
17
|
+
export const UrlsConfigSchema = z.object({
|
|
18
|
+
/** API / OIDC issuer URL */
|
|
19
|
+
api: UrlConfigSchema,
|
|
20
|
+
/** Login UI URL */
|
|
21
|
+
loginUi: UrlConfigSchema,
|
|
22
|
+
/** Admin UI URL */
|
|
23
|
+
adminUi: UrlConfigSchema,
|
|
24
|
+
});
|
|
25
|
+
// =============================================================================
|
|
26
|
+
// Source Information
|
|
27
|
+
// =============================================================================
|
|
28
|
+
export const SourceInfoSchema = z.object({
|
|
29
|
+
/** GitHub repository (e.g., "sgrastar/authrim") */
|
|
30
|
+
repository: z.string(),
|
|
31
|
+
/** Git reference (tag or branch) */
|
|
32
|
+
gitRef: z.string(),
|
|
33
|
+
/** Full commit hash */
|
|
34
|
+
commitHash: z.string(),
|
|
35
|
+
/** SHA256 hash of the source artifact */
|
|
36
|
+
artifactHash: z.string().optional(),
|
|
37
|
+
});
|
|
38
|
+
// =============================================================================
|
|
39
|
+
// Environment Configuration
|
|
40
|
+
// =============================================================================
|
|
41
|
+
export const EnvironmentConfigSchema = z.object({
|
|
42
|
+
/** Environment prefix (e.g., "prod", "staging", "dev") */
|
|
43
|
+
prefix: z.string().regex(/^[a-z][a-z0-9-]*$/, {
|
|
44
|
+
message: 'Prefix must start with a letter and contain only lowercase letters, numbers, and hyphens',
|
|
45
|
+
}),
|
|
46
|
+
});
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// Tenant Configuration
|
|
49
|
+
// =============================================================================
|
|
50
|
+
export const TenantConfigSchema = z.object({
|
|
51
|
+
/** Tenant identifier */
|
|
52
|
+
name: z.string().default('default'),
|
|
53
|
+
/** Human-readable tenant name */
|
|
54
|
+
displayName: z.string().default('Default Tenant'),
|
|
55
|
+
});
|
|
56
|
+
// =============================================================================
|
|
57
|
+
// Components Configuration
|
|
58
|
+
// =============================================================================
|
|
59
|
+
export const ComponentsConfigSchema = z.object({
|
|
60
|
+
/** Core API components (always enabled) */
|
|
61
|
+
api: z.boolean().default(true),
|
|
62
|
+
/** Login UI component */
|
|
63
|
+
loginUi: z.boolean().default(true),
|
|
64
|
+
/** Admin UI component */
|
|
65
|
+
adminUi: z.boolean().default(true),
|
|
66
|
+
/** SAML IdP/SP support */
|
|
67
|
+
saml: z.boolean().default(false),
|
|
68
|
+
/** Async queue processing */
|
|
69
|
+
async: z.boolean().default(false),
|
|
70
|
+
/** Verifiable Credentials */
|
|
71
|
+
vc: z.boolean().default(false),
|
|
72
|
+
/** External IdP Bridge */
|
|
73
|
+
bridge: z.boolean().default(false),
|
|
74
|
+
/** ReBAC Policy service */
|
|
75
|
+
policy: z.boolean().default(false),
|
|
76
|
+
});
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// OIDC Configuration
|
|
79
|
+
// =============================================================================
|
|
80
|
+
export const OidcConfigSchema = z.object({
|
|
81
|
+
/** Access token TTL in seconds */
|
|
82
|
+
accessTokenTtl: z.number().int().positive().default(3600),
|
|
83
|
+
/** Refresh token TTL in seconds */
|
|
84
|
+
refreshTokenTtl: z.number().int().positive().default(604800),
|
|
85
|
+
/** Authorization code TTL in seconds */
|
|
86
|
+
authCodeTtl: z.number().int().positive().default(600),
|
|
87
|
+
/** Require PKCE for all clients */
|
|
88
|
+
pkceRequired: z.boolean().default(true),
|
|
89
|
+
/** Supported response types */
|
|
90
|
+
responseTypes: z.array(z.string()).default(['code']),
|
|
91
|
+
/** Supported grant types */
|
|
92
|
+
grantTypes: z.array(z.string()).default(['authorization_code', 'refresh_token']),
|
|
93
|
+
});
|
|
94
|
+
// =============================================================================
|
|
95
|
+
// Sharding Configuration
|
|
96
|
+
// =============================================================================
|
|
97
|
+
export const ShardingConfigSchema = z.object({
|
|
98
|
+
/** Number of authorization code store shards */
|
|
99
|
+
authCodeShards: z.number().int().positive().default(64),
|
|
100
|
+
/** Number of refresh token rotator shards */
|
|
101
|
+
refreshTokenShards: z.number().int().positive().default(8),
|
|
102
|
+
});
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// Feature Flags
|
|
105
|
+
// =============================================================================
|
|
106
|
+
export const QueueFeatureSchema = z.object({
|
|
107
|
+
enabled: z.boolean().default(false),
|
|
108
|
+
});
|
|
109
|
+
export const R2FeatureSchema = z.object({
|
|
110
|
+
enabled: z.boolean().default(false),
|
|
111
|
+
});
|
|
112
|
+
export const EmailFeatureSchema = z.object({
|
|
113
|
+
provider: z.enum(['none', 'resend', 'sendgrid', 'ses']).default('none'),
|
|
114
|
+
});
|
|
115
|
+
export const FeaturesConfigSchema = z.object({
|
|
116
|
+
queue: QueueFeatureSchema.default({}),
|
|
117
|
+
r2: R2FeatureSchema.default({}),
|
|
118
|
+
email: EmailFeatureSchema.default({}),
|
|
119
|
+
});
|
|
120
|
+
// =============================================================================
|
|
121
|
+
// Keys Configuration
|
|
122
|
+
// =============================================================================
|
|
123
|
+
export const KeysConfigSchema = z.object({
|
|
124
|
+
/** Key ID (kid) for JWK */
|
|
125
|
+
keyId: z.string().optional(),
|
|
126
|
+
/** Public key in JWK format */
|
|
127
|
+
publicKeyJwk: z.record(z.unknown()).optional(),
|
|
128
|
+
/** Path to secrets directory */
|
|
129
|
+
secretsPath: z.string().default('./.keys/'),
|
|
130
|
+
/** Whether to include secrets in config (not recommended) */
|
|
131
|
+
includeSecrets: z.boolean().default(false),
|
|
132
|
+
});
|
|
133
|
+
// =============================================================================
|
|
134
|
+
// Cloudflare Configuration
|
|
135
|
+
// =============================================================================
|
|
136
|
+
export const CloudflareConfigSchema = z.object({
|
|
137
|
+
/** Cloudflare account ID */
|
|
138
|
+
accountId: z.string().optional(),
|
|
139
|
+
});
|
|
140
|
+
// =============================================================================
|
|
141
|
+
// Profile Types
|
|
142
|
+
// =============================================================================
|
|
143
|
+
export const ProfileSchema = z.enum([
|
|
144
|
+
'basic-op', // Basic OpenID Provider
|
|
145
|
+
'fapi-rw', // Financial-grade API Read-Write
|
|
146
|
+
'fapi2-security', // FAPI 2.0 Security Profile
|
|
147
|
+
]);
|
|
148
|
+
// =============================================================================
|
|
149
|
+
// Main Configuration Schema
|
|
150
|
+
// =============================================================================
|
|
151
|
+
export const AuthrimConfigSchema = z.object({
|
|
152
|
+
/** Configuration schema version */
|
|
153
|
+
version: z.string().default('1.0.0'),
|
|
154
|
+
/** Creation timestamp */
|
|
155
|
+
createdAt: z.string().datetime().optional(),
|
|
156
|
+
/** Last update timestamp */
|
|
157
|
+
updatedAt: z.string().datetime().optional(),
|
|
158
|
+
/** Source information */
|
|
159
|
+
source: SourceInfoSchema.optional(),
|
|
160
|
+
/** Environment configuration */
|
|
161
|
+
environment: EnvironmentConfigSchema,
|
|
162
|
+
/** URL configuration */
|
|
163
|
+
urls: UrlsConfigSchema.optional(),
|
|
164
|
+
/** Tenant configuration */
|
|
165
|
+
tenant: TenantConfigSchema.default({}),
|
|
166
|
+
/** Enabled components */
|
|
167
|
+
components: ComponentsConfigSchema.default({}),
|
|
168
|
+
/** OIDC profile */
|
|
169
|
+
profile: ProfileSchema.default('basic-op'),
|
|
170
|
+
/** OIDC settings */
|
|
171
|
+
oidc: OidcConfigSchema.default({}),
|
|
172
|
+
/** Sharding configuration */
|
|
173
|
+
sharding: ShardingConfigSchema.default({}),
|
|
174
|
+
/** Feature flags */
|
|
175
|
+
features: FeaturesConfigSchema.default({}),
|
|
176
|
+
/** Key configuration */
|
|
177
|
+
keys: KeysConfigSchema.default({}),
|
|
178
|
+
/** Cloudflare configuration */
|
|
179
|
+
cloudflare: CloudflareConfigSchema.default({}),
|
|
180
|
+
});
|
|
181
|
+
// =============================================================================
|
|
182
|
+
// Helper Functions
|
|
183
|
+
// =============================================================================
|
|
184
|
+
/**
|
|
185
|
+
* Create a default configuration with minimal settings
|
|
186
|
+
*/
|
|
187
|
+
export function createDefaultConfig(prefix) {
|
|
188
|
+
const now = new Date().toISOString();
|
|
189
|
+
return AuthrimConfigSchema.parse({
|
|
190
|
+
version: '1.0.0',
|
|
191
|
+
createdAt: now,
|
|
192
|
+
updatedAt: now,
|
|
193
|
+
environment: { prefix },
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Validate and parse a configuration object
|
|
198
|
+
*/
|
|
199
|
+
export function parseConfig(data) {
|
|
200
|
+
return AuthrimConfigSchema.parse(data);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Safely validate a configuration object (returns result instead of throwing)
|
|
204
|
+
*/
|
|
205
|
+
export function safeParseConfig(data) {
|
|
206
|
+
return AuthrimConfigSchema.safeParse(data);
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authrim Deployment Module
|
|
3
|
+
*
|
|
4
|
+
* Handles the deployment order, parallel execution, and retry logic
|
|
5
|
+
* for Authrim Workers.
|
|
6
|
+
*/
|
|
7
|
+
import { type WorkerComponent } from './naming.js';
|
|
8
|
+
import type { AuthrimLock } from './lock.js';
|
|
9
|
+
export interface DeployOptions {
|
|
10
|
+
env: string;
|
|
11
|
+
rootDir: string;
|
|
12
|
+
configFile?: string;
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
maxRetries?: number;
|
|
15
|
+
retryDelayMs?: number;
|
|
16
|
+
onProgress?: (message: string) => void;
|
|
17
|
+
onError?: (component: string, error: Error) => void;
|
|
18
|
+
}
|
|
19
|
+
export interface DeployResult {
|
|
20
|
+
component: WorkerComponent;
|
|
21
|
+
workerName: string;
|
|
22
|
+
success: boolean;
|
|
23
|
+
error?: string;
|
|
24
|
+
deployedAt?: string;
|
|
25
|
+
version?: string;
|
|
26
|
+
duration?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface DeploymentSummary {
|
|
29
|
+
totalComponents: number;
|
|
30
|
+
successCount: number;
|
|
31
|
+
failedCount: number;
|
|
32
|
+
results: DeployResult[];
|
|
33
|
+
startedAt: string;
|
|
34
|
+
completedAt: string;
|
|
35
|
+
duration: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get deployment levels - components that can be deployed in parallel
|
|
39
|
+
*/
|
|
40
|
+
export declare function getDeploymentLevels(enabledComponents?: WorkerComponent[]): WorkerComponent[][];
|
|
41
|
+
/**
|
|
42
|
+
* Deploy a single worker with retry logic
|
|
43
|
+
*/
|
|
44
|
+
export declare function deployWorker(component: WorkerComponent, options: DeployOptions): Promise<DeployResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Deploy multiple workers in parallel
|
|
47
|
+
*/
|
|
48
|
+
export declare function deployParallel(components: WorkerComponent[], options: DeployOptions): Promise<DeployResult[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Deploy all workers in the correct order
|
|
51
|
+
*/
|
|
52
|
+
export declare function deployAll(options: DeployOptions, enabledComponents?: WorkerComponent[]): Promise<DeploymentSummary>;
|
|
53
|
+
/**
|
|
54
|
+
* Update lock file with deployment results
|
|
55
|
+
*/
|
|
56
|
+
export declare function updateLockWithDeployments(lock: AuthrimLock, results: DeployResult[]): AuthrimLock;
|
|
57
|
+
/**
|
|
58
|
+
* Upload secrets to all workers that need them
|
|
59
|
+
*/
|
|
60
|
+
export declare function uploadSecrets(secrets: Record<string, string>, options: DeployOptions, workers?: WorkerComponent[]): Promise<{
|
|
61
|
+
success: boolean;
|
|
62
|
+
errors: string[];
|
|
63
|
+
}>;
|
|
64
|
+
/** Pages component type (separate from Worker components) */
|
|
65
|
+
export type PagesComponent = 'ar-ui';
|
|
66
|
+
/** Result for Pages deployment */
|
|
67
|
+
export interface PagesDeployResult {
|
|
68
|
+
component: PagesComponent;
|
|
69
|
+
projectName: string;
|
|
70
|
+
success: boolean;
|
|
71
|
+
error?: string;
|
|
72
|
+
deployedAt?: string;
|
|
73
|
+
duration?: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Deploy UI to Cloudflare Pages
|
|
77
|
+
*/
|
|
78
|
+
export declare function deployPages(options: DeployOptions & {
|
|
79
|
+
projectName?: string;
|
|
80
|
+
}): Promise<PagesDeployResult>;
|
|
81
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/core/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAyB1D,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,EAAE,CAQ9F;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA0HvB;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAczB;AAMD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,iBAAiB,CAAC,EAAE,eAAe,EAAE,GACpC,OAAO,CAAC,iBAAiB,CAAC,CA+E5B;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,CAkBjG;AAMD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkDjD;AAMD,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC,kCAAkC;AAClC,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,iBAAiB,CAAC,CA8E5B"}
|