@5ive-tech/cli 1.0.4

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 (139) hide show
  1. package/README.md +226 -0
  2. package/dist/assets/vm/five_vm_wasm.d.ts +762 -0
  3. package/dist/assets/vm/five_vm_wasm.js +3754 -0
  4. package/dist/assets/vm/five_vm_wasm_bg.wasm +0 -0
  5. package/dist/assets/vm/five_vm_wasm_bg.wasm.d.ts +247 -0
  6. package/dist/assets/vm/package.json +11 -0
  7. package/dist/cli.d.ts +47 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +343 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/analyze.d.ts +3 -0
  12. package/dist/commands/analyze.d.ts.map +1 -0
  13. package/dist/commands/analyze.js +435 -0
  14. package/dist/commands/analyze.js.map +1 -0
  15. package/dist/commands/build.d.ts +3 -0
  16. package/dist/commands/build.d.ts.map +1 -0
  17. package/dist/commands/build.js +66 -0
  18. package/dist/commands/build.js.map +1 -0
  19. package/dist/commands/compile.d.ts +3 -0
  20. package/dist/commands/compile.d.ts.map +1 -0
  21. package/dist/commands/compile.js +872 -0
  22. package/dist/commands/compile.js.map +1 -0
  23. package/dist/commands/config.d.ts +3 -0
  24. package/dist/commands/config.d.ts.map +1 -0
  25. package/dist/commands/config.js +431 -0
  26. package/dist/commands/config.js.map +1 -0
  27. package/dist/commands/deploy-and-execute.d.ts +3 -0
  28. package/dist/commands/deploy-and-execute.d.ts.map +1 -0
  29. package/dist/commands/deploy-and-execute.js +317 -0
  30. package/dist/commands/deploy-and-execute.js.map +1 -0
  31. package/dist/commands/deploy.d.ts +21 -0
  32. package/dist/commands/deploy.d.ts.map +1 -0
  33. package/dist/commands/deploy.js +806 -0
  34. package/dist/commands/deploy.js.map +1 -0
  35. package/dist/commands/donate.d.ts +4 -0
  36. package/dist/commands/donate.d.ts.map +1 -0
  37. package/dist/commands/donate.js +104 -0
  38. package/dist/commands/donate.js.map +1 -0
  39. package/dist/commands/execute.d.ts +6 -0
  40. package/dist/commands/execute.d.ts.map +1 -0
  41. package/dist/commands/execute.js +749 -0
  42. package/dist/commands/execute.js.map +1 -0
  43. package/dist/commands/fmt.d.ts +3 -0
  44. package/dist/commands/fmt.d.ts.map +1 -0
  45. package/dist/commands/fmt.js +327 -0
  46. package/dist/commands/fmt.js.map +1 -0
  47. package/dist/commands/help.d.ts +6 -0
  48. package/dist/commands/help.d.ts.map +1 -0
  49. package/dist/commands/help.js +224 -0
  50. package/dist/commands/help.js.map +1 -0
  51. package/dist/commands/index.d.ts +45 -0
  52. package/dist/commands/index.d.ts.map +1 -0
  53. package/dist/commands/index.js +119 -0
  54. package/dist/commands/index.js.map +1 -0
  55. package/dist/commands/init.d.ts +3 -0
  56. package/dist/commands/init.d.ts.map +1 -0
  57. package/dist/commands/init.js +887 -0
  58. package/dist/commands/init.js.map +1 -0
  59. package/dist/commands/local.d.ts +3 -0
  60. package/dist/commands/local.d.ts.map +1 -0
  61. package/dist/commands/local.js +703 -0
  62. package/dist/commands/local.js.map +1 -0
  63. package/dist/commands/namespace.d.ts +3 -0
  64. package/dist/commands/namespace.d.ts.map +1 -0
  65. package/dist/commands/namespace.js +328 -0
  66. package/dist/commands/namespace.js.map +1 -0
  67. package/dist/commands/template.d.ts +4 -0
  68. package/dist/commands/template.d.ts.map +1 -0
  69. package/dist/commands/template.js +486 -0
  70. package/dist/commands/template.js.map +1 -0
  71. package/dist/commands/test.d.ts +6 -0
  72. package/dist/commands/test.d.ts.map +1 -0
  73. package/dist/commands/test.js +890 -0
  74. package/dist/commands/test.js.map +1 -0
  75. package/dist/commands/version.d.ts +6 -0
  76. package/dist/commands/version.d.ts.map +1 -0
  77. package/dist/commands/version.js +339 -0
  78. package/dist/commands/version.js.map +1 -0
  79. package/dist/config/ConfigManager.d.ts +69 -0
  80. package/dist/config/ConfigManager.d.ts.map +1 -0
  81. package/dist/config/ConfigManager.js +261 -0
  82. package/dist/config/ConfigManager.js.map +1 -0
  83. package/dist/config/index.d.ts +10 -0
  84. package/dist/config/index.d.ts.map +1 -0
  85. package/dist/config/index.js +21 -0
  86. package/dist/config/index.js.map +1 -0
  87. package/dist/config/types.d.ts +35 -0
  88. package/dist/config/types.d.ts.map +1 -0
  89. package/dist/config/types.js +105 -0
  90. package/dist/config/types.js.map +1 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +29 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/project/ProjectLoader.d.ts +12 -0
  96. package/dist/project/ProjectLoader.d.ts.map +1 -0
  97. package/dist/project/ProjectLoader.js +115 -0
  98. package/dist/project/ProjectLoader.js.map +1 -0
  99. package/dist/types.d.ts +334 -0
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +2 -0
  102. package/dist/types.js.map +1 -0
  103. package/dist/utils/AccountFixtureGenerator.d.ts +48 -0
  104. package/dist/utils/AccountFixtureGenerator.d.ts.map +1 -0
  105. package/dist/utils/AccountFixtureGenerator.js +265 -0
  106. package/dist/utils/AccountFixtureGenerator.js.map +1 -0
  107. package/dist/utils/FiveFileManager.d.ts +96 -0
  108. package/dist/utils/FiveFileManager.d.ts.map +1 -0
  109. package/dist/utils/FiveFileManager.js +329 -0
  110. package/dist/utils/FiveFileManager.js.map +1 -0
  111. package/dist/utils/ascii-art.d.ts +72 -0
  112. package/dist/utils/ascii-art.d.ts.map +1 -0
  113. package/dist/utils/ascii-art.js +314 -0
  114. package/dist/utils/ascii-art.js.map +1 -0
  115. package/dist/utils/cli-ui.d.ts +39 -0
  116. package/dist/utils/cli-ui.d.ts.map +1 -0
  117. package/dist/utils/cli-ui.js +75 -0
  118. package/dist/utils/cli-ui.js.map +1 -0
  119. package/dist/utils/fileUtils.d.ts +25 -0
  120. package/dist/utils/fileUtils.d.ts.map +1 -0
  121. package/dist/utils/fileUtils.js +50 -0
  122. package/dist/utils/fileUtils.js.map +1 -0
  123. package/dist/utils/logger.d.ts +53 -0
  124. package/dist/utils/logger.d.ts.map +1 -0
  125. package/dist/utils/logger.js +287 -0
  126. package/dist/utils/logger.js.map +1 -0
  127. package/dist/wasm/compiler.d.ts +101 -0
  128. package/dist/wasm/compiler.d.ts.map +1 -0
  129. package/dist/wasm/compiler.js +906 -0
  130. package/dist/wasm/compiler.js.map +1 -0
  131. package/dist/wasm/loader.d.ts +2 -0
  132. package/dist/wasm/loader.d.ts.map +1 -0
  133. package/dist/wasm/loader.js +90 -0
  134. package/dist/wasm/loader.js.map +1 -0
  135. package/dist/wasm/vm.d.ts +32 -0
  136. package/dist/wasm/vm.d.ts.map +1 -0
  137. package/dist/wasm/vm.js +440 -0
  138. package/dist/wasm/vm.js.map +1 -0
  139. package/package.json +100 -0
@@ -0,0 +1,317 @@
1
+ // Deploy-and-execute command.
2
+ import { readFile } from 'fs/promises';
3
+ import { extname } from 'path';
4
+ import ora from 'ora';
5
+ import { FiveSDK } from '@5ive-tech/sdk';
6
+ import { ConfigManager } from '../config/ConfigManager.js';
7
+ import { FiveFileManager } from '../utils/FiveFileManager.js';
8
+ import { section, success as uiSuccess, error as uiError, isTTY } from '../utils/cli-ui.js';
9
+ export const deployAndExecuteCommand = {
10
+ name: 'deploy-and-execute',
11
+ description: 'Deploy bytecode to Solana and execute immediately (perfect for testing)',
12
+ aliases: ['dae', 'test-onchain'],
13
+ options: [
14
+ {
15
+ flags: '-f, --function <index>',
16
+ description: 'Execute specific function by index (default: 0)',
17
+ defaultValue: 0
18
+ },
19
+ {
20
+ flags: '-p, --params <params>',
21
+ description: 'Function parameters as JSON array (e.g., "[10, 5]")',
22
+ defaultValue: '[]'
23
+ },
24
+ {
25
+ flags: '-t, --target <target>',
26
+ description: 'Override target network (devnet, testnet, mainnet, local)',
27
+ required: false
28
+ },
29
+ {
30
+ flags: '-n, --network <url>',
31
+ description: 'Override network RPC URL',
32
+ required: false
33
+ },
34
+ {
35
+ flags: '-k, --keypair <file>',
36
+ description: 'Override keypair file path',
37
+ required: false
38
+ },
39
+ {
40
+ flags: '--max-cu <units>',
41
+ description: 'Maximum compute units for execution (default: 1400000)',
42
+ defaultValue: 1400000
43
+ },
44
+ {
45
+ flags: '--compute-budget <units>',
46
+ description: 'Compute budget for deployment transaction',
47
+ defaultValue: 1400000
48
+ },
49
+ {
50
+ flags: '--format <format>',
51
+ description: 'Output format',
52
+ choices: ['text', 'json'],
53
+ defaultValue: 'text'
54
+ },
55
+ {
56
+ flags: '--debug',
57
+ description: 'Enable debug output',
58
+ defaultValue: false
59
+ },
60
+ {
61
+ flags: '--skip-deployment-verification',
62
+ description: 'Skip deployment verification',
63
+ defaultValue: false
64
+ },
65
+ {
66
+ flags: '--cleanup',
67
+ description: 'Clean up deployed account after execution (for testing)',
68
+ defaultValue: false
69
+ },
70
+ {
71
+ flags: '--program-id <address>',
72
+ description: 'Override Five VM program ID for this run (env: FIVE_PROGRAM_ID)',
73
+ defaultValue: process.env.FIVE_PROGRAM_ID
74
+ }
75
+ ],
76
+ arguments: [
77
+ {
78
+ name: 'bytecode',
79
+ description: 'Five VM bytecode file (.bin, .five, or .v source)',
80
+ required: true
81
+ }
82
+ ],
83
+ examples: [
84
+ {
85
+ command: 'five deploy-and-execute script.five',
86
+ description: 'Deploy and execute function 0 on configured target'
87
+ },
88
+ {
89
+ command: 'five deploy-and-execute script.five --target local -f 1 -p "[10, 5]"',
90
+ description: 'Deploy to localnet and execute function 1 with parameters [10, 5]'
91
+ },
92
+ {
93
+ command: 'five deploy-and-execute src/main.v --target local --debug',
94
+ description: 'Compile, deploy, and execute source file on localnet with debug output'
95
+ },
96
+ {
97
+ command: 'five dae script.bin --target devnet --max-cu 2000000',
98
+ description: 'Deploy and execute on devnet with higher compute limit'
99
+ }
100
+ ],
101
+ handler: async (args, options, context) => {
102
+ const { logger } = context;
103
+ try {
104
+ const requestedTarget = options.target || 'devnet';
105
+ const normalizedTarget = requestedTarget;
106
+ // Prefer explicit network flag, then env overrides for local testing, else defaults
107
+ const networkOverride = options.network ||
108
+ process.env.FIVE_LOCAL_RPC_URL ||
109
+ process.env.SOLANA_URL ||
110
+ (normalizedTarget === 'localnet' ? 'http://127.0.0.1:8900' : undefined);
111
+ // Apply config with CLI overrides
112
+ const configManager = ConfigManager.getInstance();
113
+ const overrides = {
114
+ target: normalizedTarget,
115
+ network: networkOverride,
116
+ keypair: options.keypair
117
+ };
118
+ const config = await configManager.applyOverrides(overrides);
119
+ // Resolve program ID with precedence: CLI flag → config file (per-target) → env var
120
+ const configuredProgramId = await configManager.getProgramId(config.target);
121
+ const programIdOverride = options.programId || configuredProgramId || process.env.FIVE_PROGRAM_ID;
122
+ // Show target context prefix
123
+ const targetPrefix = ConfigManager.getTargetPrefix(config.target);
124
+ console.log(`${targetPrefix} Deploy-and-Execute workflow starting`);
125
+ if (context.options.verbose || options.debug) {
126
+ logger.info(`Target: ${config.target}`);
127
+ const targetNetwork = config.networks[config.target];
128
+ logger.info(`Network: ${targetNetwork?.rpcUrl || networkOverride || 'unknown'}`);
129
+ logger.info(`Keypair: ${config.keypairPath}`);
130
+ if (programIdOverride) {
131
+ logger.info(`Program ID override: ${programIdOverride}`);
132
+ }
133
+ }
134
+ const inputFile = args[0];
135
+ // STEP 1: Load/Compile bytecode
136
+ let bytecode;
137
+ let abi = null;
138
+ if (extname(inputFile) === '.v') {
139
+ // Compile source file
140
+ console.log('Compiling source...');
141
+ const sourceCode = await readFile(inputFile, 'utf8');
142
+ const compilationResult = await FiveSDK.compile(sourceCode, {
143
+ optimize: true,
144
+ debug: options.debug
145
+ });
146
+ if (!compilationResult.success || !compilationResult.bytecode) {
147
+ console.log(uiError('Compilation failed'));
148
+ if (compilationResult.errors) {
149
+ compilationResult.errors.forEach(error => {
150
+ console.log(` - ${error.message}`);
151
+ });
152
+ }
153
+ process.exit(1);
154
+ }
155
+ bytecode = compilationResult.bytecode;
156
+ abi = compilationResult.abi;
157
+ console.log(uiSuccess(`Compiled (${bytecode.length} bytes)`));
158
+ }
159
+ else {
160
+ // Load existing bytecode file
161
+ console.log('Loading bytecode...');
162
+ const fileManager = FiveFileManager.getInstance();
163
+ const loadedFile = await fileManager.loadFile(inputFile, {
164
+ validateFormat: true
165
+ });
166
+ bytecode = loadedFile.bytecode;
167
+ abi = loadedFile.abi;
168
+ console.log(uiSuccess(`Loaded ${loadedFile.format.toUpperCase()} (${bytecode.length} bytes)`));
169
+ }
170
+ // Setup Solana connection and keypair
171
+ const { Connection, Keypair } = await import('@solana/web3.js');
172
+ const rpcUrl = config.networks[config.target].rpcUrl;
173
+ // Guard against non-HTTP(S) endpoints (e.g., wasm://) when doing on-chain work
174
+ if (!/^https?:\/\//.test(rpcUrl)) {
175
+ throw new TypeError(`Invalid RPC URL for on-chain execution: ${rpcUrl}. Endpoint URL must start with http: or https:. ` +
176
+ `Use --target local/devnet/testnet/mainnet or override with --network <http(s) URL>.`);
177
+ }
178
+ const connection = new Connection(rpcUrl, 'confirmed');
179
+ // Load deployer keypair
180
+ const keypairPath = config.keypairPath.startsWith('~/')
181
+ ? config.keypairPath.replace('~', process.env.HOME || '')
182
+ : config.keypairPath;
183
+ const keypairData = JSON.parse(await readFile(keypairPath, 'utf8'));
184
+ const deployerKeypair = Keypair.fromSecretKey(new Uint8Array(keypairData));
185
+ if (options.debug) {
186
+ console.log(`Deployer: ${deployerKeypair.publicKey.toString()}`);
187
+ }
188
+ // STEP 2: Deploy bytecode
189
+ console.log('Deploying to Solana...');
190
+ const deploySpinner = isTTY() ? ora('Deploying bytecode...').start() : null;
191
+ const deploymentResult = await FiveSDK.deployToSolana(bytecode, connection, deployerKeypair, {
192
+ debug: options.debug,
193
+ network: config.target,
194
+ computeBudget: options.computeBudget,
195
+ maxRetries: 3,
196
+ fiveVMProgramId: programIdOverride
197
+ });
198
+ if (!deploymentResult.success) {
199
+ if (deploySpinner) {
200
+ deploySpinner.fail('Deployment failed');
201
+ }
202
+ try {
203
+ console.log(uiError(`Deployment error: ${deploymentResult.error || 'unknown'}`));
204
+ if (options.debug) {
205
+ console.log('Deployment result:', JSON.stringify(deploymentResult, null, 2));
206
+ }
207
+ }
208
+ catch { }
209
+ process.exit(1);
210
+ }
211
+ const scriptAccount = deploymentResult.programId;
212
+ if (deploySpinner) {
213
+ deploySpinner.succeed(`Deployed: ${scriptAccount}`);
214
+ }
215
+ else {
216
+ console.log(uiSuccess(`Deployed: ${scriptAccount}`));
217
+ }
218
+ if (deploymentResult.logs && (context.options.verbose || options.debug)) {
219
+ console.log(section('Deployment Logs'));
220
+ deploymentResult.logs.forEach((log) => {
221
+ console.log(` ${log}`);
222
+ });
223
+ }
224
+ // STEP 3: Wait for deployment to fully propagate, then execute
225
+ console.log('Waiting for deployment to propagate...');
226
+ await new Promise(resolve => setTimeout(resolve, 2000)); // 2 second delay
227
+ console.log('Executing deployed script...');
228
+ // Parse function index and parameters
229
+ const functionIndex = parseInt(options.function) || 0;
230
+ let parameters = [];
231
+ try {
232
+ if (options.params && options.params !== '[]') {
233
+ parameters = JSON.parse(options.params);
234
+ }
235
+ }
236
+ catch (error) {
237
+ console.log(uiError(`Invalid parameters JSON: ${options.params}`));
238
+ process.exit(1);
239
+ }
240
+ if (options.debug) {
241
+ console.log(`Function ${functionIndex} params: ${JSON.stringify(parameters)}`);
242
+ }
243
+ const executeSpinner = isTTY() ? ora('Executing function...').start() : null;
244
+ if (options.debug) {
245
+ console.log(`VM state account: ${deploymentResult.vmStateAccount || '(derived)'}`);
246
+ }
247
+ const executionResult = await FiveSDK.executeScriptAccount(scriptAccount, functionIndex, parameters, connection, deployerKeypair, {
248
+ debug: options.debug,
249
+ network: config.target,
250
+ computeBudget: options.maxCu,
251
+ maxRetries: 3,
252
+ // If deployment returned a VM state account, prefer it
253
+ vmStateAccount: deploymentResult.vmStateAccount,
254
+ fiveVMProgramId: programIdOverride
255
+ });
256
+ if (executionResult.success) {
257
+ if (executeSpinner) {
258
+ executeSpinner.succeed('Execution completed');
259
+ }
260
+ // Display results
261
+ displayExecutionResults(executionResult, options, targetPrefix);
262
+ }
263
+ else {
264
+ if (executeSpinner) {
265
+ executeSpinner.fail('Execution failed');
266
+ }
267
+ console.log(uiError(`Execution error: ${executionResult.error}`));
268
+ if (executionResult.logs && executionResult.logs.length > 0) {
269
+ console.log(section('Error Logs'));
270
+ executionResult.logs.forEach(log => {
271
+ console.log(` ${log}`);
272
+ });
273
+ }
274
+ process.exit(1);
275
+ }
276
+ // STEP 4: Optional cleanup (for testing)
277
+ if (options.cleanup) {
278
+ console.log('Cleanup requested (not implemented yet)');
279
+ console.log(` Script account ${scriptAccount} will remain on chain`);
280
+ }
281
+ console.log(uiSuccess('Deploy-and-execute completed'));
282
+ }
283
+ catch (error) {
284
+ logger.error('Deploy-and-Execute workflow failed:', error);
285
+ throw error;
286
+ }
287
+ }
288
+ };
289
+ /**
290
+ * Display execution results in a formatted way
291
+ */
292
+ function displayExecutionResults(result, options, targetPrefix) {
293
+ if (options.format === 'json') {
294
+ console.log(JSON.stringify(result, null, 2));
295
+ return;
296
+ }
297
+ console.log('\n' + section(`${targetPrefix} Execution`));
298
+ if (result.transactionId) {
299
+ console.log(`Transaction: ${result.transactionId}`);
300
+ }
301
+ if (result.computeUnitsUsed !== undefined) {
302
+ console.log(`Compute units: ${result.computeUnitsUsed.toLocaleString()}`);
303
+ }
304
+ if (result.result !== undefined) {
305
+ console.log(`Result: ${JSON.stringify(result.result)}`);
306
+ }
307
+ if (result.logs && result.logs.length > 0) {
308
+ console.log('\n' + section('Transaction Logs'));
309
+ result.logs.forEach((log) => {
310
+ // Filter out system logs and show only relevant ones
311
+ if (log.includes('Five') || log.includes('success') || log.includes('error') || log.includes('Program log:')) {
312
+ console.log(` ${log}`);
313
+ }
314
+ });
315
+ }
316
+ }
317
+ //# sourceMappingURL=deploy-and-execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-and-execute.js","sourceRoot":"","sources":["../../src/commands/deploy-and-execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { CommandDefinition } from '../types.js';
2
+ /**
3
+ * Five deploy command implementation
4
+ */
5
+ export declare const deployCommand: CommandDefinition;
6
+ export declare function buildExportMetadataFromAbi(abi: any): {
7
+ methods: string[];
8
+ interfaces: Array<{
9
+ name: string;
10
+ methodMap: Record<string, string>;
11
+ }>;
12
+ };
13
+ export declare function updateLockfileExports(rootDir: string, packageName: string, address: string, bytecode: Uint8Array, exportMetadata?: {
14
+ methods?: string[];
15
+ interfaces?: Array<{
16
+ name: string;
17
+ methodMap?: Record<string, string>;
18
+ }>;
19
+ }): Promise<void>;
20
+ export declare function updateLockfileNamespace(rootDir: string, namespace: string, address: string): Promise<void>;
21
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EAKlB,MAAM,aAAa,CAAC;AAcrB;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,iBA4b3B,CAAC;AAqFF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACxE,CAqBA;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,cAAc,CAAC,EAAE;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CAC1E,GACA,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA4Bf"}