@phystack/cli 4.5.34-dev → 4.5.42-dev

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.
@@ -8,6 +8,36 @@ const open_1 = __importDefault(require("open"));
8
8
  const readline_1 = __importDefault(require("readline"));
9
9
  const inquirer_1 = __importDefault(require("inquirer"));
10
10
  const device_grant_auth_service_1 = __importDefault(require("../../services/auth/device-grant-auth.service"));
11
+ const admin_api_1 = require("../../services/admin-api");
12
+ const tenant_storage_1 = require("../../utils/tenant-storage");
13
+ const org_selector_1 = require("../../utils/org-selector");
14
+ const autoSelectTenant = async () => {
15
+ try {
16
+ const organizations = await (0, admin_api_1.adminApi)().organizations.listOrganizations();
17
+ if (!organizations || organizations.length === 0) {
18
+ console.log(chalk_1.default.yellow('No tenants found. Use `phy tenant select` after being added to a tenant.'));
19
+ return;
20
+ }
21
+ if (organizations.length === 1) {
22
+ const org = organizations[0];
23
+ const tenant = {
24
+ id: org.id,
25
+ slug: org.organizationName,
26
+ displayName: org.displayName,
27
+ phyhubUrl: org.phyhubUrl,
28
+ };
29
+ await (0, tenant_storage_1.saveTenant)(tenant);
30
+ console.log(chalk_1.default.green(`Auto-selected tenant: ${chalk_1.default.blue(tenant.displayName)} (${tenant.slug})`));
31
+ return;
32
+ }
33
+ console.log(chalk_1.default.dim(`\nFound ${organizations.length} tenants. Please select one:`));
34
+ await (0, org_selector_1.selectOrganization)('Select a tenant:', true);
35
+ }
36
+ catch (error) {
37
+ console.log(chalk_1.default.yellow(`Could not auto-select tenant: ${error.message}`));
38
+ console.log(chalk_1.default.dim('You can manually select a tenant with `phy tenant select`.'));
39
+ }
40
+ };
11
41
  const clearLastConsoleLines = (count) => {
12
42
  for (let i = 0; i < count; i++) {
13
43
  readline_1.default.moveCursor(process.stdout, 0, -1);
@@ -23,6 +53,7 @@ const login = async ({ useDeviceCode, useDeveloperToken, }) => {
23
53
  const authService = new device_grant_auth_service_1.default();
24
54
  await authService.storeDeveloperToken(envToken);
25
55
  console.log(chalk_1.default.green('Developer token from environment variable stored successfully'));
56
+ await autoSelectTenant();
26
57
  return;
27
58
  }
28
59
  // Handle developer token authentication
@@ -32,6 +63,7 @@ const login = async ({ useDeviceCode, useDeveloperToken, }) => {
32
63
  if (useDeveloperToken) {
33
64
  await authService.storeDeveloperToken(useDeveloperToken);
34
65
  console.log(chalk_1.default.green('Developer token stored successfully'));
66
+ await autoSelectTenant();
35
67
  return;
36
68
  }
37
69
  // Otherwise prompt for token
@@ -50,6 +82,7 @@ const login = async ({ useDeviceCode, useDeveloperToken, }) => {
50
82
  ]);
51
83
  await authService.storeDeveloperToken(token);
52
84
  console.log(chalk_1.default.green('Developer token stored successfully'));
85
+ await autoSelectTenant();
53
86
  return;
54
87
  }
55
88
  const showCountdown = (ttl) => {
@@ -101,6 +134,7 @@ If no web browser is available or if the web browser fails to open, use device c
101
134
  });
102
135
  clearLoginSession();
103
136
  console.log(chalk_1.default.green('\nSuccessfully authenticated. You can now use the CLI.'));
137
+ await autoSelectTenant();
104
138
  }
105
139
  catch (error) {
106
140
  clearLoginSession();
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const commander_1 = __importDefault(require("commander"));
7
+ const utils_1 = require("../../utils");
8
+ const start_1 = __importDefault(require("./start"));
9
+ const run_1 = __importDefault(require("./run"));
10
+ const simulator = commander_1.default
11
+ .command('simulator')
12
+ .description('Local device simulator for app development');
13
+ simulator
14
+ .command('start')
15
+ .description('Start the local simulator server')
16
+ .option('-p, --port <port>', 'Port to listen on', '55000')
17
+ .action((0, utils_1.handleError)(start_1.default));
18
+ simulator
19
+ .command('run <path>')
20
+ .description('Run an app connected to the simulator (reconciles twin, spawns dev server)')
21
+ .option('--type <type>', 'Override app type detection (screen or edge)')
22
+ .option('--dev-command <command>', 'Override dev command (default: npm run dev)')
23
+ .action((0, utils_1.handleError)(run_1.default));
24
+ exports.default = simulator;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulator/index.ts"],"names":[],"mappings":";;;;;AAAA,0DAAgC;AAChC,uCAA0C;AAC1C,oDAA4B;AAC5B,gDAAwB;AAExB,MAAM,SAAS,GAAG,mBAAO;KACtB,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,4CAA4C,CAAC,CAAC;AAE7D,SAAS;KACN,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,OAAO,CAAC;KACzD,MAAM,CAAC,IAAA,mBAAW,EAAC,eAAK,CAAC,CAAC,CAAC;AAE9B,SAAS;KACN,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CACV,4EAA4E,CAC7E;KACA,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;KACvE,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;KAChF,MAAM,CAAC,IAAA,mBAAW,EAAC,aAAG,CAAC,CAAC,CAAC;AAE5B,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const child_process_1 = require("child_process");
10
+ const socket_io_client_1 = require("socket.io-client");
11
+ const simulator_config_1 = require("../../utils/simulator-config");
12
+ const types_1 = require("../../simulator/types");
13
+ const SIMULATOR_URL = 'http://localhost:55000';
14
+ const APP_TYPE_TO_TWIN_TYPE = {
15
+ [types_1.AppTypeEnum.Screen]: types_1.TwinTypeEnum.Screen,
16
+ [types_1.AppTypeEnum.Edge]: types_1.TwinTypeEnum.Edge,
17
+ };
18
+ const SUPPORTED_APP_TYPES = new Set(Object.values(types_1.AppTypeEnum));
19
+ function resolveAppType(optionType, pkgType) {
20
+ const raw = (optionType || pkgType || '').toLowerCase();
21
+ if (!raw) {
22
+ throw new Error('Cannot detect app type. Set "application-type" in package.json or pass --type.');
23
+ }
24
+ if (!SUPPORTED_APP_TYPES.has(raw)) {
25
+ throw new Error(`Unsupported app type "${raw}". Supported types: ${[...SUPPORTED_APP_TYPES].join(', ')}`);
26
+ }
27
+ return raw;
28
+ }
29
+ async function tryReadSettingsFiles(appPath, files) {
30
+ for (const settingsPath of files) {
31
+ if (await fs_extra_1.default.pathExists(settingsPath)) {
32
+ try {
33
+ const data = await fs_extra_1.default.readJSON(settingsPath);
34
+ const settings = data?.app?.gridApp?.settings;
35
+ if (settings) {
36
+ console.log(chalk_1.default.dim(`Read settings from ${path_1.default.relative(appPath, settingsPath)}`));
37
+ return settings;
38
+ }
39
+ }
40
+ catch (err) {
41
+ console.log(`[simulator] Failed to read ${path_1.default.relative(appPath, settingsPath)}: ${err.message}`);
42
+ }
43
+ }
44
+ }
45
+ return null;
46
+ }
47
+ async function readLocalSettings(appPath) {
48
+ const settingsFiles = [
49
+ path_1.default.join(appPath, 'src', 'settings', 'index.json'),
50
+ path_1.default.join(appPath, 'src', 'settings', '.generated.json'),
51
+ ];
52
+ const settings = await tryReadSettingsFiles(appPath, settingsFiles);
53
+ if (settings)
54
+ return settings;
55
+ // If neither exists, try running init-settings.js then retry
56
+ const initScript = path_1.default.join(appPath, 'scripts', 'init-settings.js');
57
+ if (await fs_extra_1.default.pathExists(initScript)) {
58
+ console.log(chalk_1.default.dim('No settings found, running init-settings.js...'));
59
+ try {
60
+ (0, child_process_1.execSync)('node scripts/init-settings.js', { cwd: appPath, stdio: 'pipe' });
61
+ }
62
+ catch (err) {
63
+ console.log(`[simulator] init-settings.js failed: ${err.message}`);
64
+ }
65
+ const retrySettings = await tryReadSettingsFiles(appPath, settingsFiles);
66
+ if (retrySettings)
67
+ return retrySettings;
68
+ }
69
+ return {};
70
+ }
71
+ function connectSimulator() {
72
+ return new Promise((resolve, reject) => {
73
+ const socket = (0, socket_io_client_1.io)(SIMULATOR_URL, {
74
+ reconnectionAttempts: 1,
75
+ timeout: 3000,
76
+ });
77
+ socket.on('connect', () => resolve(socket));
78
+ socket.on('connect_error', (err) => {
79
+ reject(new Error(`Cannot connect to simulator: ${err.message}`));
80
+ });
81
+ });
82
+ }
83
+ function sendSimulatorMessage(socket, payload) {
84
+ return new Promise((resolve, reject) => {
85
+ const timer = setTimeout(() => {
86
+ reject(new Error('Timeout waiting for simulator response'));
87
+ }, 10000);
88
+ socket.emit('simulator', payload, (response) => {
89
+ clearTimeout(timer);
90
+ resolve(response);
91
+ });
92
+ });
93
+ }
94
+ async function createTwinViaSimulator(type, desiredProperties, reuseId) {
95
+ const socket = await connectSimulator();
96
+ try {
97
+ const response = await sendSimulatorMessage(socket, {
98
+ method: 'createInstanceTwin',
99
+ data: { type, desiredProperties, id: reuseId },
100
+ });
101
+ if (response?.status === 'success' && response?.twin) {
102
+ return response.twin;
103
+ }
104
+ throw new Error(response?.message || 'Failed to create twin');
105
+ }
106
+ finally {
107
+ socket.disconnect();
108
+ }
109
+ }
110
+ exports.default = async (appPath, options = {}) => {
111
+ // 1. Resolve path
112
+ const resolvedPath = path_1.default.resolve(appPath);
113
+ if (!(await fs_extra_1.default.pathExists(resolvedPath))) {
114
+ console.error(chalk_1.default.red(`Path does not exist: ${resolvedPath}`));
115
+ process.exit(1);
116
+ }
117
+ // 2. Read package.json
118
+ const pkgPath = path_1.default.join(resolvedPath, 'package.json');
119
+ if (!(await fs_extra_1.default.pathExists(pkgPath))) {
120
+ console.error(chalk_1.default.red('Only Node.js apps are supported for now. No package.json found at ' +
121
+ resolvedPath));
122
+ process.exit(1);
123
+ }
124
+ const pkg = await fs_extra_1.default.readJSON(pkgPath);
125
+ const appName = pkg.name || path_1.default.basename(resolvedPath);
126
+ // 3. Resolve app type
127
+ const appType = resolveAppType(options.type, pkg['application-type']);
128
+ const devCommand = resolveDevCommand(options, pkg, appType);
129
+ // 4. Check simulator is running
130
+ let isRunning = false;
131
+ try {
132
+ const socket = await connectSimulator();
133
+ socket.disconnect();
134
+ isRunning = true;
135
+ }
136
+ catch (err) {
137
+ console.log(`[simulator] Connection check failed: ${err.message}`);
138
+ isRunning = false;
139
+ }
140
+ if (!isRunning) {
141
+ console.error(chalk_1.default.red('Simulator is not running. Start it first with `phy simulator start`.'));
142
+ process.exit(1);
143
+ }
144
+ // 5. Twin reconciliation (use "local" as tenantId for config storage)
145
+ const localTenantId = 'local';
146
+ const appConfig = await (0, simulator_config_1.getAppConfigByPath)(localTenantId, resolvedPath);
147
+ let twinId = appConfig?.twinId;
148
+ const persistedTwinId = twinId;
149
+ const localSettings = await readLocalSettings(resolvedPath);
150
+ if (Object.keys(localSettings).length > 0) {
151
+ console.log(chalk_1.default.green(`Loaded ${Object.keys(localSettings).length} settings from local files`));
152
+ }
153
+ // Always (re)create twin with fresh settings — reuse persisted ID for stable twin across restarts
154
+ const twinType = APP_TYPE_TO_TWIN_TYPE[appType];
155
+ if (persistedTwinId) {
156
+ console.log(chalk_1.default.dim(`Reusing instance ID ${persistedTwinId} for ${appName}`));
157
+ }
158
+ else {
159
+ console.log(chalk_1.default.dim(`Creating new ${appType} instance for ${appName}...`));
160
+ }
161
+ const twin = await createTwinViaSimulator(twinType, { settings: localSettings, appName, appVersion: pkg.version || '0.0.0' }, persistedTwinId);
162
+ twinId = twin.id;
163
+ if (persistedTwinId) {
164
+ console.log(chalk_1.default.green(`Recreated twin with existing ID ${twinId}`));
165
+ }
166
+ else {
167
+ console.log(chalk_1.default.green(`Created twin with new ID ${twinId}`));
168
+ }
169
+ // Save/update app config
170
+ const newAppConfig = {
171
+ name: appName,
172
+ type: appType,
173
+ path: resolvedPath,
174
+ twinId,
175
+ devCommand: devCommand || 'docker',
176
+ };
177
+ await (0, simulator_config_1.saveAppConfig)(localTenantId, newAppConfig);
178
+ // 6. Type-specific launch
179
+ if (appType === types_1.AppTypeEnum.Screen) {
180
+ await launchWithDevCommand(resolvedPath, pkg, devCommand, twinId, appName, appType);
181
+ }
182
+ else if (appType === types_1.AppTypeEnum.Edge) {
183
+ const dockerfilePath = path_1.default.join(resolvedPath, 'Dockerfile');
184
+ if (await fs_extra_1.default.pathExists(dockerfilePath)) {
185
+ await launchWithDocker(resolvedPath, pkg, twinId, appName);
186
+ }
187
+ else {
188
+ await launchWithDevCommand(resolvedPath, pkg, devCommand, twinId, appName, appType);
189
+ }
190
+ }
191
+ };
192
+ function resolveDevCommand(options, pkg, appType) {
193
+ if (options.devCommand)
194
+ return options.devCommand;
195
+ if (pkg.scripts?.dev)
196
+ return 'npm run dev';
197
+ if (pkg.scripts?.start)
198
+ return 'npm start';
199
+ // For edge apps with a Dockerfile, dev command is optional
200
+ if (appType === types_1.AppTypeEnum.Edge)
201
+ return undefined;
202
+ throw new Error('No dev or start script found in package.json. Pass --dev-command to specify one.');
203
+ }
204
+ async function launchWithDevCommand(resolvedPath, pkg, devCommand, twinId, appName, appType) {
205
+ if (!devCommand) {
206
+ throw new Error('No dev or start script found in package.json. Pass --dev-command to specify one.');
207
+ }
208
+ console.log('');
209
+ console.log(chalk_1.default.green.bold(`Starting ${appName}`));
210
+ console.log(chalk_1.default.dim('─'.repeat(40)));
211
+ console.log(` ${chalk_1.default.cyan('Type:')} ${appType}`);
212
+ console.log(` ${chalk_1.default.cyan('Twin ID:')} ${twinId}`);
213
+ console.log(` ${chalk_1.default.cyan('Path:')} ${resolvedPath}`);
214
+ console.log(` ${chalk_1.default.cyan('Command:')} ${devCommand}`);
215
+ console.log(chalk_1.default.dim('─'.repeat(40)));
216
+ console.log('');
217
+ const env = {
218
+ ...process.env,
219
+ TWIN_ID: twinId,
220
+ PHYSTACK_SIMULATOR_URL: SIMULATOR_URL,
221
+ };
222
+ const child = (0, child_process_1.spawn)(devCommand, {
223
+ cwd: resolvedPath,
224
+ stdio: 'inherit',
225
+ env,
226
+ shell: true,
227
+ });
228
+ await new Promise((resolve, reject) => {
229
+ child.on('close', (code) => {
230
+ if (code === 0) {
231
+ resolve();
232
+ }
233
+ else {
234
+ reject(new Error(`Dev command exited with code ${code}`));
235
+ }
236
+ });
237
+ child.on('error', (err) => {
238
+ reject(err);
239
+ });
240
+ });
241
+ }
242
+ async function readContainerConfig(appPath) {
243
+ const settingsPath = path_1.default.join(appPath, 'settings.json');
244
+ if (!(await fs_extra_1.default.pathExists(settingsPath)))
245
+ return null;
246
+ return fs_extra_1.default.readJSON(settingsPath);
247
+ }
248
+ function buildDockerRunArgs(config, image, twinId) {
249
+ const args = ['run', '--rm', '--name', `simulator-${Date.now()}`];
250
+ // --- Environment variables (mirrors device-phyos: TWIN_ID, TZ, custom Env) ---
251
+ args.push('-e', `TWIN_ID=${twinId}`);
252
+ args.push('-e', `PHYSTACK_SIMULATOR_URL=http://host.docker.internal:55000`);
253
+ if (process.env.TZ) {
254
+ args.push('-e', `TZ=${process.env.TZ}`);
255
+ }
256
+ // --- Network: mirrors device-phyos NetworkMode + ExtraHosts ---
257
+ const isHostNetwork = config?.HostConfig?.NetworkMode === 'host';
258
+ if (isHostNetwork) {
259
+ args.push('--network', 'host');
260
+ // In host mode, production maps phyos → 127.0.0.1
261
+ args.push('--add-host', 'phyos:127.0.0.1');
262
+ }
263
+ else {
264
+ // Bridge mode (default): simulator needs host.docker.internal for callback
265
+ args.push('--add-host=host.docker.internal:host-gateway');
266
+ // In bridge mode, production maps phyos → 172.26.128.1
267
+ args.push('--add-host', 'phyos:host-gateway');
268
+ }
269
+ if (config) {
270
+ // Custom env vars from settings.json
271
+ for (const env of config.Env || []) {
272
+ args.push('-e', env);
273
+ }
274
+ // --- Entrypoint (production passes Entrypoint from createOptions) ---
275
+ if (config.Entrypoint) {
276
+ const ep = Array.isArray(config.Entrypoint)
277
+ ? config.Entrypoint
278
+ : [config.Entrypoint];
279
+ args.push('--entrypoint', ep[0]);
280
+ }
281
+ // --- Port bindings ---
282
+ const ports = config.HostConfig?.PortBindings || {};
283
+ for (const [containerPort, bindings] of Object.entries(ports)) {
284
+ for (const binding of bindings) {
285
+ args.push('-p', `${binding.HostPort}:${containerPort.replace('/tcp', '')}`);
286
+ }
287
+ }
288
+ // --- Volume binds ---
289
+ for (const bind of config.HostConfig?.Binds || []) {
290
+ args.push('-v', bind);
291
+ }
292
+ // --- Devices ---
293
+ for (const device of config.HostConfig?.Devices || []) {
294
+ args.push('--device', device.PathOnHost);
295
+ }
296
+ // --- GPU / DeviceRequests (production detects nvidia runtime) ---
297
+ for (const req of config.HostConfig?.DeviceRequests || []) {
298
+ const isGpu = req.Capabilities &&
299
+ req.Capabilities.some((cap) => cap.includes('gpu'));
300
+ if (isGpu) {
301
+ args.push('--gpus', 'all');
302
+ }
303
+ }
304
+ // --- Privileged ---
305
+ if (config.HostConfig?.Privileged) {
306
+ args.push('--privileged');
307
+ }
308
+ // --- Resource limits ---
309
+ if (config.HostConfig?.Memory > 0) {
310
+ args.push('--memory', String(config.HostConfig.Memory));
311
+ }
312
+ if (config.HostConfig?.CpuShares > 0) {
313
+ args.push('--cpu-shares', String(config.HostConfig.CpuShares));
314
+ }
315
+ // --- Ulimits ---
316
+ for (const ulimit of config.HostConfig?.Ulimits || []) {
317
+ args.push('--ulimit', `${ulimit.Name}=${ulimit.Soft}:${ulimit.Hard}`);
318
+ }
319
+ // --- Read-only root filesystem ---
320
+ if (config.HostConfig?.ReadonlyRootfs) {
321
+ args.push('--read-only');
322
+ }
323
+ }
324
+ args.push(image);
325
+ // --- Custom CMD (production passes Cmd from createOptions) ---
326
+ if (config?.Cmd) {
327
+ args.push(...config.Cmd);
328
+ }
329
+ return args;
330
+ }
331
+ async function launchWithDocker(appPath, pkg, twinId, appName) {
332
+ const imageName = pkg.name.replace(/[^a-z0-9_.-]/g, '-');
333
+ const imageTag = `${imageName}:${pkg.version || 'latest'}`;
334
+ // Build
335
+ console.log('');
336
+ console.log(chalk_1.default.green.bold(`Building Docker image for ${appName}`));
337
+ console.log(chalk_1.default.dim(`Image: ${imageTag}`));
338
+ console.log('');
339
+ const buildResult = (0, child_process_1.spawnSync)('docker', ['build', '-t', imageTag, '.'], {
340
+ cwd: appPath,
341
+ stdio: 'inherit',
342
+ });
343
+ if (buildResult.status !== 0) {
344
+ throw new Error(`Docker build failed with exit code ${buildResult.status}`);
345
+ }
346
+ // Read container config from settings.json
347
+ const containerConfig = await readContainerConfig(appPath);
348
+ // Run
349
+ const dockerArgs = buildDockerRunArgs(containerConfig, imageTag, twinId);
350
+ console.log('');
351
+ console.log(chalk_1.default.green.bold(`Starting ${appName}`));
352
+ console.log(chalk_1.default.dim('─'.repeat(40)));
353
+ console.log(` ${chalk_1.default.cyan('Type:')} edge (Docker)`);
354
+ console.log(` ${chalk_1.default.cyan('Twin ID:')} ${twinId}`);
355
+ console.log(` ${chalk_1.default.cyan('Path:')} ${appPath}`);
356
+ console.log(` ${chalk_1.default.cyan('Image:')} ${imageTag}`);
357
+ console.log(chalk_1.default.dim('─'.repeat(40)));
358
+ console.log(chalk_1.default.dim(`docker ${dockerArgs.join(' ')}`));
359
+ console.log('');
360
+ const child = (0, child_process_1.spawn)('docker', dockerArgs, {
361
+ cwd: appPath,
362
+ stdio: 'inherit',
363
+ });
364
+ // Graceful shutdown
365
+ const containerName = dockerArgs[dockerArgs.indexOf('--name') + 1];
366
+ const cleanup = () => {
367
+ (0, child_process_1.spawnSync)('docker', ['stop', containerName], { stdio: 'pipe' });
368
+ };
369
+ process.on('SIGINT', cleanup);
370
+ process.on('SIGTERM', cleanup);
371
+ await new Promise((resolve, reject) => {
372
+ child.on('close', (code) => {
373
+ if (code === 0) {
374
+ resolve();
375
+ }
376
+ else {
377
+ reject(new Error(`Docker exited with code ${code}`));
378
+ }
379
+ });
380
+ child.on('error', reject);
381
+ });
382
+ }
383
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/simulator/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const simulator_1 = require("../../simulator");
8
+ exports.default = async (options = {}) => {
9
+ const port = parseInt(options.port || '55000', 10);
10
+ const simulator = new simulator_1.DeviceSimulator(port);
11
+ // Graceful shutdown
12
+ const shutdown = async () => {
13
+ await simulator.stop();
14
+ process.exit(0);
15
+ };
16
+ process.on('SIGINT', shutdown);
17
+ process.on('SIGTERM', shutdown);
18
+ try {
19
+ await simulator.start();
20
+ }
21
+ catch (error) {
22
+ console.error(chalk_1.default.red(`Failed to start simulator: ${error.message}`));
23
+ process.exit(1);
24
+ }
25
+ // Keep running until SIGINT/SIGTERM
26
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
27
+ await new Promise(() => { });
28
+ };
29
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/simulator/start.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,+CAAkD;AAElD,kBAAe,KAAK,EAAE,UAA6B,EAAE,EAAiB,EAAE;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,CAAC;IAE5C,oBAAoB;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,gEAAgE;IAChE,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -130,9 +130,7 @@ async function getSerialSocketFromLogs(vmName) {
130
130
  */
131
131
  function findPossibleSockets(vmName, pid) {
132
132
  const possibleSockets = [];
133
- // Socket based on VM name only (current format)
134
- possibleSockets.push(`/tmp/qemu-serial-${vmName}.sock`);
135
- // Socket based on VM name and PID (legacy format)
133
+ // Socket based on VM name and current PID (new format)
136
134
  possibleSockets.push(`/tmp/qemu-serial-${vmName}-${pid}.sock`);
137
135
  // Legacy socket path based on just PID (for backward compatibility)
138
136
  possibleSockets.push(`/tmp/qemu-serial-${pid}.sock`);
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/commands/vm/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/commands/vm/shell.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8PA,0BAsJC;AApZD,4CAAoB;AACpB,kDAA0B;AAC1B,iDAAgD;AAChD,uCAAiH;AAIjH;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC9D,IAAA,wBAAQ,EAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,8BAA8B;YAC9B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC7D,IAAA,wBAAQ,EAAC,sDAAsD,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;oBACzD,IAAA,wBAAQ,EAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;oBACnE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2CAA2C,QAAQ,GAAG,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,MAAc;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,aAAQ,EAAC,MAAM,CAAC,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErC,8EAA8E;QAC9E,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxC,oDAAoD;gBACpD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACjF,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc,EAAE,GAAW;IACtD,MAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,uDAAuD;IACvD,eAAe,CAAC,IAAI,CAAC,oBAAoB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC;IAE/D,oEAAoE;IACpE,eAAe,CAAC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,CAAC;IAErD,yDAAyD;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAExC,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/C,IAAI,CAAC,UAAU,CAAC,eAAe,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpE,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC3C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAC3F,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qCAAqC;IACvC,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,oCAAoC;QACpC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,IAAY,EAAE,UAAU,GAAG,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,IAAI,MAAM,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAErE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC3D,MAAM;QACR,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC,CAAC;QAC5G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,4CAA4C;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC;YAE1E,4CAA4C;YAC5C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,mDAAmD;YACnD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,8BAA8B,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE;gBAC3B,2CAA2C;gBAC3C,uCAAuC;gBACvC,gBAAgB,UAAU,EAAE;aAC7B,EAAE;gBACD,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,uBAAuB;YACvB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,uDAAuD;oBACvD,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEH,mDAAmD;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,qDAAqD;YACrD,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAEzE,qDAAqD;YACrD,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,WAAW,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACY,KAAK,UAAU,OAAO,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,oDAAoD;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,IAAI,IAAA,uBAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,0DAA0D,CAAC,CAAC,CAAC;QACjG,IAAA,qBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,uBAAuB;IACnC,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,uDAAuD,IAAI,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,sCAAsC;IACtC,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEvD,kDAAkD;IAClD,IAAI,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,2BAA2B;IAC3B,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,iDAAiD;gBACjD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,UAAU,8BAA8B,CAAC,CAAC,CAAC;oBACtF,SAAS;gBACX,CAAC;gBAED,0BAA0B;gBAC1B,YAAE,CAAC,UAAU,CAAC,UAAU,EAAE,YAAE,CAAC,SAAS,CAAC,IAAI,GAAG,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjE,gBAAgB,GAAG,UAAU,CAAC;gBAC9B,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oBAAoB,UAAU,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC,CAAC;YAEzE,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,iDAAiD;oBACjD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;wBAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,cAAc,8BAA8B,CAAC,CAAC,CAAC;oBAC5F,CAAC;yBAAM,CAAC;wBACN,YAAE,CAAC,UAAU,CAAC,cAAc,EAAE,YAAE,CAAC,SAAS,CAAC,IAAI,GAAG,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACrE,gBAAgB,GAAG,cAAc,CAAC;wBAClC,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kDAAkD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+CAA+C,IAAI,GAAG,CAAC,CAAC,CAAC;QAEjF,wDAAwD;QACxD,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,IAAA,wBAAQ,EAAC,8DAA8D,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACnH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+BAA+B;QACjC,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mDAAmD,GAAG,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;IAChI,CAAC;IAED,wDAAwD;IACxD,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;QAEvF,MAAM,aAAa,GAAG,MAAM,kDAAO,UAAU,IAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC7D,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE;gBACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;oBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBAEH,EAAE,CAAC,QAAQ,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;oBAClF,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC,CAAC;gBAC7F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}