@agentteams/runner 0.0.106 → 0.0.108
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/dist/autostart.d.ts +28 -1
- package/dist/autostart.js +206 -22
- package/dist/autostart.js.map +1 -1
- package/dist/autostart.test.js +262 -6
- package/dist/autostart.test.js.map +1 -1
- package/dist/commands/start.d.ts +19 -1
- package/dist/commands/start.js +16 -12
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/start.test.d.ts +1 -0
- package/dist/commands/start.test.js +43 -0
- package/dist/commands/start.test.js.map +1 -0
- package/dist/commands/status.d.ts +13 -1
- package/dist/commands/status.js +15 -8
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/status.test.d.ts +1 -0
- package/dist/commands/status.test.js +64 -0
- package/dist/commands/status.test.js.map +1 -0
- package/dist/daemon-control.d.ts +2 -1
- package/dist/daemon-control.js +33 -5
- package/dist/daemon-control.js.map +1 -1
- package/dist/daemon-control.test.js +88 -0
- package/dist/daemon-control.test.js.map +1 -1
- package/dist/utils/convention-evaluator.d.ts +7 -0
- package/dist/utils/convention-evaluator.js +6 -3
- package/dist/utils/convention-evaluator.js.map +1 -1
- package/dist/utils/convention-evaluator.test.js +13 -0
- package/dist/utils/convention-evaluator.test.js.map +1 -1
- package/dist/windows-launcher.d.ts +27 -0
- package/dist/windows-launcher.js +114 -0
- package/dist/windows-launcher.js.map +1 -0
- package/dist/windows-launcher.test.d.ts +1 -0
- package/dist/windows-launcher.test.js +150 -0
- package/dist/windows-launcher.test.js.map +1 -0
- package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
- package/native/bin/win32-x64/manifest.json +8 -0
- package/package.json +6 -2
- package/readme.md +21 -1
package/dist/autostart.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { execFileSync, execSync, spawn } from 'node:child_process';
|
|
2
2
|
import { platform } from 'node:os';
|
|
3
3
|
import { resolveExecutablePath } from './executable.js';
|
|
4
|
+
import { readDaemonConfigFile } from './config.js';
|
|
5
|
+
import { logger } from './logger.js';
|
|
4
6
|
import { type RestartHandoffPreparation } from './restart-handoff.js';
|
|
5
7
|
export declare const buildPlistContent: (config: AutostartConfig) => string;
|
|
6
8
|
export declare const buildSystemdContent: (config: AutostartConfig) => string;
|
|
7
9
|
export declare const buildWindowsPowerShellWrapper: (config: AutostartConfig, daemonPath?: string, logPath?: string, currentPath?: string) => string;
|
|
8
|
-
export declare const
|
|
10
|
+
export declare const buildWindowsChildPowerShellCommand: (trailingArguments: string, powerShellPath?: string) => string;
|
|
11
|
+
export declare const buildWindowsTaskXmlContent: (userId: string, launcherPath: string, wrapperPath: string, powerShellPath?: string) => string;
|
|
9
12
|
export type AutostartConfig = {
|
|
10
13
|
token: string;
|
|
11
14
|
apiUrl: string;
|
|
@@ -26,6 +29,24 @@ export declare const getAutostartStatus: (deps?: AutostartStatusDeps) => {
|
|
|
26
29
|
registered: boolean;
|
|
27
30
|
platform: string;
|
|
28
31
|
};
|
|
32
|
+
export declare const buildWindowsTaskBackupCommand: (backupPath: string) => string;
|
|
33
|
+
export declare const buildWindowsWrapperAclCommand: (wrapperPath: string, userId: string) => string;
|
|
34
|
+
type WindowsTaskMigrationDeps = {
|
|
35
|
+
execSync?: (command: string, options: {
|
|
36
|
+
windowsHide: boolean;
|
|
37
|
+
}) => unknown;
|
|
38
|
+
};
|
|
39
|
+
export declare const windowsTaskNeedsNativeLauncherMigration: (deps?: WindowsTaskMigrationDeps) => boolean;
|
|
40
|
+
type WindowsAutostartBootMigrationDeps = {
|
|
41
|
+
platform?: typeof platform;
|
|
42
|
+
getAutostartStatus?: typeof getAutostartStatus;
|
|
43
|
+
windowsTaskNeedsNativeLauncherMigration?: typeof windowsTaskNeedsNativeLauncherMigration;
|
|
44
|
+
getAutostartConfigFromEnv?: () => AutostartConfig | null;
|
|
45
|
+
readDaemonConfigFile?: typeof readDaemonConfigFile;
|
|
46
|
+
registerWindowsTask?: typeof registerWindowsTask;
|
|
47
|
+
logger?: Pick<typeof logger, 'info' | 'warn'>;
|
|
48
|
+
};
|
|
49
|
+
export declare const migrateWindowsAutostartOnBoot: (deps?: WindowsAutostartBootMigrationDeps) => Promise<void>;
|
|
29
50
|
type WindowsAutostartDeps = {
|
|
30
51
|
execSync?: (command: string, options: {
|
|
31
52
|
windowsHide: boolean;
|
|
@@ -39,6 +60,8 @@ type WindowsAutostartDeps = {
|
|
|
39
60
|
daemonPath?: string;
|
|
40
61
|
userId?: string;
|
|
41
62
|
startImmediately?: boolean;
|
|
63
|
+
launcherPath?: string;
|
|
64
|
+
cleanupLaunchers?: () => Promise<void>;
|
|
42
65
|
};
|
|
43
66
|
export declare const registerWindowsTask: (config: AutostartConfig, deps?: WindowsAutostartDeps) => Promise<AutostartResult>;
|
|
44
67
|
export declare const unregisterWindowsTask: (deps?: WindowsAutostartDeps) => Promise<void>;
|
|
@@ -53,6 +76,8 @@ type RestartWindowsTaskDeps = {
|
|
|
53
76
|
daemonPath?: string;
|
|
54
77
|
sleep?: (milliseconds: number) => Promise<void>;
|
|
55
78
|
now?: () => number;
|
|
79
|
+
registerWindowsTask?: typeof registerWindowsTask;
|
|
80
|
+
launcherPath?: string;
|
|
56
81
|
};
|
|
57
82
|
export declare const restartWindowsTask: (config: AutostartConfig | null, deps?: RestartWindowsTaskDeps) => Promise<void>;
|
|
58
83
|
type ScheduleWindowsTaskRestartDeps = {
|
|
@@ -65,6 +90,8 @@ type ScheduleWindowsTaskRestartDeps = {
|
|
|
65
90
|
handoffId?: string;
|
|
66
91
|
parentPid?: number;
|
|
67
92
|
daemonPath?: string;
|
|
93
|
+
launcherPath?: string;
|
|
94
|
+
installLauncher?: () => Promise<string>;
|
|
68
95
|
};
|
|
69
96
|
export declare const scheduleWindowsTaskRestart: (deps?: ScheduleWindowsTaskRestartDeps) => Promise<RestartHandoffPreparation>;
|
|
70
97
|
type LaunchWindowsHiddenDeps = {
|
package/dist/autostart.js
CHANGED
|
@@ -2,15 +2,24 @@ import { execFileSync, execSync, spawn } from 'node:child_process';
|
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { chmodSync, existsSync, promises as fs } from 'node:fs';
|
|
4
4
|
import { homedir, platform } from 'node:os';
|
|
5
|
-
|
|
5
|
+
// Windows-shaped paths are parsed with the win32 helpers explicitly: these values
|
|
6
|
+
// are Windows paths even when the unit tests run on Linux or macOS.
|
|
7
|
+
import { dirname, join, win32 as winPath } from 'node:path';
|
|
6
8
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
7
9
|
import { resolveExecutablePath } from './executable.js';
|
|
10
|
+
import { readDaemonConfigFile } from './config.js';
|
|
8
11
|
import { logger } from './logger.js';
|
|
9
12
|
import { isProcessRunning } from './pid.js';
|
|
13
|
+
import { cleanupInstalledWindowsLaunchers, installWindowsLauncher } from './windows-launcher.js';
|
|
10
14
|
import { getRestartHandoffPath, restartHandoffAcknowledgementTimeoutMs, waitForPreparedRestartHandoff, } from './restart-handoff.js';
|
|
11
15
|
const SERVICE_LABEL = 'run.agentteams.runner';
|
|
12
16
|
const TASK_NAME = 'AgentRunner';
|
|
13
17
|
const WINDOWS_LOG_MAX_BYTES = 10 * 1024 * 1024;
|
|
18
|
+
// Explicit separator between the launcher's own argv[0] and the child command
|
|
19
|
+
// line. Task Scheduler does not quote `<Command>`, so a profile path containing
|
|
20
|
+
// a space (C:\Users\John Doe\...) would otherwise make the launcher's own tail
|
|
21
|
+
// parsing cut the child command in the middle of the path.
|
|
22
|
+
const LAUNCHER_EXEC_DELIMITER = '--exec';
|
|
14
23
|
// --- Path helpers ---
|
|
15
24
|
const getLaunchdPlistPath = () => join(homedir(), 'Library', 'LaunchAgents', `${SERVICE_LABEL}.plist`);
|
|
16
25
|
const getSystemdServicePath = () => join(homedir(), '.config', 'systemd', 'user', 'agentrunner.service');
|
|
@@ -18,6 +27,12 @@ const getWindowsBatPath = () => join(homedir(), '.agentteams', 'agentrunner-star
|
|
|
18
27
|
const getWindowsVbsPath = () => join(homedir(), '.agentteams', 'agentrunner-start.vbs');
|
|
19
28
|
const getWindowsRestartVbsPath = () => join(homedir(), '.agentteams', 'agentrunner-restart.vbs');
|
|
20
29
|
const getWindowsTaskXmlPath = () => join(homedir(), '.agentteams', 'agentrunner-task.xml');
|
|
30
|
+
const getWindowsTaskBackupXmlPath = () => join(homedir(), '.agentteams', 'agentrunner-task-backup.xml');
|
|
31
|
+
// Resolve powershell.exe absolutely. The launcher hands its command-line tail to
|
|
32
|
+
// CreateProcessW with lpApplicationName=NULL, so an unqualified `powershell.exe`
|
|
33
|
+
// would be resolved through the application/current directory search order —
|
|
34
|
+
// that would break the SHA-256-verified launch chain right at its first child.
|
|
35
|
+
const getWindowsPowerShellPath = () => winPath.join(process.env.SystemRoot ?? 'C:\\Windows', 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
|
|
21
36
|
const getWindowsWrapperPath = () => join(homedir(), '.agentteams', 'agentrunner-start.ps1');
|
|
22
37
|
const getWindowsLogPath = () => join(homedir(), '.agentteams', 'agentrunner.log');
|
|
23
38
|
const getWindowsStartupVbsPath = () => join(homedir(), 'AppData', 'Roaming', 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup', 'agentrunner-start.vbs');
|
|
@@ -118,9 +133,13 @@ export const buildWindowsPowerShellWrapper = (config, daemonPath = resolveExecut
|
|
|
118
133
|
'exit $LASTEXITCODE',
|
|
119
134
|
].join('\r\n');
|
|
120
135
|
};
|
|
121
|
-
export const
|
|
136
|
+
export const buildWindowsChildPowerShellCommand = (trailingArguments, powerShellPath = getWindowsPowerShellPath()) => `${LAUNCHER_EXEC_DELIMITER} "${powerShellPath}" -NoProfile -NonInteractive -WindowStyle Hidden ` +
|
|
137
|
+
`-ExecutionPolicy Bypass ${trailingArguments}`;
|
|
138
|
+
export const buildWindowsTaskXmlContent = (userId, launcherPath, wrapperPath, powerShellPath = getWindowsPowerShellPath()) => {
|
|
122
139
|
const escapedUserId = escapeForXml(userId);
|
|
123
|
-
const
|
|
140
|
+
const escapedLauncherPath = escapeForXml(launcherPath);
|
|
141
|
+
const argumentsValue = escapeForXml(buildWindowsChildPowerShellCommand(`-File "${wrapperPath}"`, powerShellPath));
|
|
142
|
+
const workingDirectory = escapeForXml(winPath.dirname(powerShellPath));
|
|
124
143
|
return `<?xml version="1.0" encoding="UTF-16"?>
|
|
125
144
|
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
|
126
145
|
<RegistrationInfo><Description>AgentTeams Runner</Description></RegistrationInfo>
|
|
@@ -151,8 +170,9 @@ export const buildWindowsTaskXmlContent = (userId, wrapperPath) => {
|
|
|
151
170
|
</Settings>
|
|
152
171
|
<Actions Context="Author">
|
|
153
172
|
<Exec>
|
|
154
|
-
<Command
|
|
173
|
+
<Command>${escapedLauncherPath}</Command>
|
|
155
174
|
<Arguments>${argumentsValue}</Arguments>
|
|
175
|
+
<WorkingDirectory>${workingDirectory}</WorkingDirectory>
|
|
156
176
|
</Exec>
|
|
157
177
|
</Actions>
|
|
158
178
|
</Task>`;
|
|
@@ -197,7 +217,11 @@ export const unregisterAutostart = async () => {
|
|
|
197
217
|
};
|
|
198
218
|
export const restartAutostartService = async () => {
|
|
199
219
|
const os = platform();
|
|
200
|
-
|
|
220
|
+
let config = getAutostartConfigFromEnv();
|
|
221
|
+
if (!config) {
|
|
222
|
+
const fileConfig = await readDaemonConfigFile();
|
|
223
|
+
config = fileConfig ? { token: fileConfig.daemonToken, apiUrl: fileConfig.apiUrl } : null;
|
|
224
|
+
}
|
|
201
225
|
if (os === 'darwin') {
|
|
202
226
|
await restartLaunchd(config);
|
|
203
227
|
return;
|
|
@@ -351,6 +375,88 @@ const restartSystemd = async (config) => {
|
|
|
351
375
|
}
|
|
352
376
|
execSync('systemctl --user restart agentrunner');
|
|
353
377
|
};
|
|
378
|
+
// --- Windows Task Scheduler ---
|
|
379
|
+
// `schtasks /Query /XML` writes its XML through the console output code page, so
|
|
380
|
+
// on a non-English Windows the bytes Node receives are CP949/CP932/... — not
|
|
381
|
+
// UTF-8 and not UTF-16. Round-tripping that text through JS would mangle every
|
|
382
|
+
// non-ASCII character (a `C:\Users\홍길동\...` launcher path becomes U+FFFD
|
|
383
|
+
// noise), which used to break both the post-create verification and the rollback
|
|
384
|
+
// XML. Export through the ScheduledTasks module instead and write UTF-16LE with
|
|
385
|
+
// a BOM straight to disk, so the rollback never passes through a JS string.
|
|
386
|
+
export const buildWindowsTaskBackupCommand = (backupPath) => {
|
|
387
|
+
const script = [
|
|
388
|
+
// A fresh install has no prior task, so Export-ScheduledTask failing is the
|
|
389
|
+
// normal case. Swallow it (and the module-loading progress stream) instead of
|
|
390
|
+
// dumping a CLIXML error blob into the user's `agentrunner init` output.
|
|
391
|
+
"$ErrorActionPreference = 'Stop'",
|
|
392
|
+
"$ProgressPreference = 'SilentlyContinue'",
|
|
393
|
+
`try { $xml = Export-ScheduledTask -TaskName '${escapeForPowerShellString(TASK_NAME)}' } catch { exit 1 }`,
|
|
394
|
+
'if (-not $xml) { exit 1 }',
|
|
395
|
+
`[IO.File]::WriteAllText('${escapeForPowerShellString(backupPath)}', $xml, [Text.UnicodeEncoding]::new($false, $true))`,
|
|
396
|
+
].join('\n');
|
|
397
|
+
const encoded = Buffer.from(script, 'utf16le').toString('base64');
|
|
398
|
+
return (`powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass ` +
|
|
399
|
+
`-EncodedCommand ${encoded} 2>nul`);
|
|
400
|
+
};
|
|
401
|
+
// `chmodSync` only toggles the read-only attribute on Windows — it does not
|
|
402
|
+
// restrict the ACL, so the wrapper's plaintext daemon token stayed readable by
|
|
403
|
+
// every other account on the machine. Break inheritance and grant only the
|
|
404
|
+
// owning user (plus SYSTEM, by SID so it is locale-independent).
|
|
405
|
+
export const buildWindowsWrapperAclCommand = (wrapperPath, userId) => `icacls "${wrapperPath}" /inheritance:r /grant:r "${userId}:(F)" /grant:r "*S-1-5-18:(F)"`;
|
|
406
|
+
// ASCII-only probe: the launcher file name is `agentrunner-launcher-<version>-<sha12>.exe`,
|
|
407
|
+
// so it survives any console code page that `schtasks /Query /XML` may have used.
|
|
408
|
+
const NATIVE_LAUNCHER_COMMAND_PATTERN = /<Command>[^<]*agentrunner-launcher-[^<]*\.exe<\/Command>/u;
|
|
409
|
+
// True only when the live task definition is readable AND demonstrably still
|
|
410
|
+
// points at a non-native action. An unreadable task returns false so a transient
|
|
411
|
+
// query failure never triggers a needless re-registration.
|
|
412
|
+
export const windowsTaskNeedsNativeLauncherMigration = (deps = {}) => {
|
|
413
|
+
const resolvedExecSync = deps.execSync ?? execSync;
|
|
414
|
+
let liveTaskXml;
|
|
415
|
+
try {
|
|
416
|
+
liveTaskXml = String(resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}" /XML`, { windowsHide: true }));
|
|
417
|
+
}
|
|
418
|
+
catch {
|
|
419
|
+
return false;
|
|
420
|
+
}
|
|
421
|
+
if (!liveTaskXml.includes('<Command>')) {
|
|
422
|
+
return false;
|
|
423
|
+
}
|
|
424
|
+
return !NATIVE_LAUNCHER_COMMAND_PATTERN.test(liveTaskXml);
|
|
425
|
+
};
|
|
426
|
+
export const migrateWindowsAutostartOnBoot = async (deps = {}) => {
|
|
427
|
+
const resolvedPlatform = deps.platform ?? platform;
|
|
428
|
+
const resolvedGetAutostartStatus = deps.getAutostartStatus ?? getAutostartStatus;
|
|
429
|
+
const resolvedNeedsMigration = deps.windowsTaskNeedsNativeLauncherMigration ?? windowsTaskNeedsNativeLauncherMigration;
|
|
430
|
+
const resolvedGetConfigFromEnv = deps.getAutostartConfigFromEnv ?? getAutostartConfigFromEnv;
|
|
431
|
+
const resolvedReadConfigFile = deps.readDaemonConfigFile ?? readDaemonConfigFile;
|
|
432
|
+
const resolvedRegisterWindowsTask = deps.registerWindowsTask ?? registerWindowsTask;
|
|
433
|
+
const resolvedLogger = deps.logger ?? logger;
|
|
434
|
+
try {
|
|
435
|
+
if (resolvedPlatform() !== 'win32') {
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
const status = resolvedGetAutostartStatus();
|
|
439
|
+
if (!status.registered || !resolvedNeedsMigration()) {
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
let config = resolvedGetConfigFromEnv();
|
|
443
|
+
if (!config) {
|
|
444
|
+
const fileConfig = await resolvedReadConfigFile();
|
|
445
|
+
config = fileConfig ? { token: fileConfig.daemonToken, apiUrl: fileConfig.apiUrl } : null;
|
|
446
|
+
}
|
|
447
|
+
if (!config) {
|
|
448
|
+
resolvedLogger.warn('Windows Task Scheduler autostart still uses a console-bound action, but runtime configuration is unavailable');
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
await resolvedRegisterWindowsTask(config, { startImmediately: false });
|
|
452
|
+
resolvedLogger.info('Migrated Windows Task Scheduler autostart to the native launcher; the hidden action applies on the next start');
|
|
453
|
+
}
|
|
454
|
+
catch (error) {
|
|
455
|
+
resolvedLogger.warn('Failed to migrate Windows Task Scheduler autostart during boot; continuing startup', {
|
|
456
|
+
error: error instanceof Error ? error.message : String(error),
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
};
|
|
354
460
|
export const registerWindowsTask = async (config, deps = {}) => {
|
|
355
461
|
const resolvedExecSync = deps.execSync ?? execSync;
|
|
356
462
|
const resolvedMkdir = deps.mkdir ?? fs.mkdir;
|
|
@@ -358,19 +464,14 @@ export const registerWindowsTask = async (config, deps = {}) => {
|
|
|
358
464
|
const resolvedUnlink = deps.unlink ?? fs.unlink;
|
|
359
465
|
const resolvedChmodSync = deps.chmodSync ?? chmodSync;
|
|
360
466
|
const taskXmlPath = getWindowsTaskXmlPath();
|
|
467
|
+
const backupXmlPath = getWindowsTaskBackupXmlPath();
|
|
361
468
|
const wrapperPath = getWindowsWrapperPath();
|
|
362
469
|
const startupVbsPath = getWindowsStartupVbsPath();
|
|
363
470
|
const legacyVbsPath = getWindowsVbsPath();
|
|
364
471
|
const legacyBatPath = getWindowsBatPath();
|
|
365
472
|
const restartVbsPath = getWindowsRestartVbsPath();
|
|
473
|
+
const launcherPath = deps.launcherPath ?? (await installWindowsLauncher());
|
|
366
474
|
await resolvedMkdir(dirname(taskXmlPath), { recursive: true });
|
|
367
|
-
// Remove legacy Task Scheduler entry if any.
|
|
368
|
-
try {
|
|
369
|
-
resolvedExecSync(`schtasks /Delete /TN "${TASK_NAME}" /F 2>nul`, { windowsHide: true });
|
|
370
|
-
}
|
|
371
|
-
catch {
|
|
372
|
-
// Not registered — that's fine.
|
|
373
|
-
}
|
|
374
475
|
const userName = process.env.USERNAME ?? process.env.USER ?? '';
|
|
375
476
|
const userId = deps.userId ?? (process.env.USERDOMAIN ? `${process.env.USERDOMAIN}\\${userName}` : userName);
|
|
376
477
|
if (!userId) {
|
|
@@ -379,10 +480,52 @@ export const registerWindowsTask = async (config, deps = {}) => {
|
|
|
379
480
|
await resolvedWriteFile(wrapperPath, buildWindowsPowerShellWrapper(config, deps.daemonPath ?? resolveExecutablePath('agentrunner')), 'utf8');
|
|
380
481
|
// schtasks requires a BOM to recognize the UTF-16LE XML encoding. Node's
|
|
381
482
|
// writeFile('utf16le') does not add one automatically.
|
|
382
|
-
await resolvedWriteFile(taskXmlPath, `\uFEFF${buildWindowsTaskXmlContent(userId, wrapperPath)}`, 'utf16le');
|
|
483
|
+
await resolvedWriteFile(taskXmlPath, `\uFEFF${buildWindowsTaskXmlContent(userId, launcherPath, wrapperPath)}`, 'utf16le');
|
|
383
484
|
resolvedChmodSync(wrapperPath, 0o600);
|
|
384
485
|
resolvedChmodSync(taskXmlPath, 0o600);
|
|
385
|
-
|
|
486
|
+
try {
|
|
487
|
+
resolvedExecSync(buildWindowsWrapperAclCommand(wrapperPath, userId), { windowsHide: true });
|
|
488
|
+
}
|
|
489
|
+
catch (error) {
|
|
490
|
+
// Registration must not fail because ACL hardening is unavailable, but the
|
|
491
|
+
// token file then stays broadly readable, so say so instead of failing silently.
|
|
492
|
+
logger.warn('Failed to restrict the AgentRunner wrapper ACL; the daemon token file stays broadly readable', {
|
|
493
|
+
wrapperPath,
|
|
494
|
+
error: error instanceof Error ? error.message : String(error),
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
let backedUp = false;
|
|
498
|
+
try {
|
|
499
|
+
resolvedExecSync(buildWindowsTaskBackupCommand(backupXmlPath), { windowsHide: true });
|
|
500
|
+
backedUp = true;
|
|
501
|
+
}
|
|
502
|
+
catch {
|
|
503
|
+
// Fresh registration has no prior task to preserve.
|
|
504
|
+
}
|
|
505
|
+
try {
|
|
506
|
+
resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${taskXmlPath}" /F`, { windowsHide: true });
|
|
507
|
+
const liveTaskXml = String(resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}" /XML`, { windowsHide: true }));
|
|
508
|
+
// Compare the ASCII-only launcher file name, never the full path: the query
|
|
509
|
+
// output arrives in the console code page, so a non-ASCII profile directory
|
|
510
|
+
// would otherwise never match.
|
|
511
|
+
if (liveTaskXml && !liveTaskXml.includes(winPath.basename(launcherPath))) {
|
|
512
|
+
throw new Error('The live AgentRunner task does not reference the verified native launcher.');
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
catch (primaryError) {
|
|
516
|
+
if (backedUp) {
|
|
517
|
+
try {
|
|
518
|
+
resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${backupXmlPath}" /F`, { windowsHide: true });
|
|
519
|
+
}
|
|
520
|
+
catch (rollbackError) {
|
|
521
|
+
throw new Error(`Failed to register the native AgentRunner task and rollback also failed: ` +
|
|
522
|
+
`${String(primaryError)}; rollback: ${String(rollbackError)}`);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
throw primaryError;
|
|
526
|
+
}
|
|
527
|
+
// A rollback can restore a task that still points at one of these executables,
|
|
528
|
+
// so legacy assets stay intact until the native action is live and verified.
|
|
386
529
|
for (const legacyPath of [startupVbsPath, legacyVbsPath, legacyBatPath, restartVbsPath]) {
|
|
387
530
|
try {
|
|
388
531
|
await resolvedUnlink(legacyPath);
|
|
@@ -391,7 +534,12 @@ export const registerWindowsTask = async (config, deps = {}) => {
|
|
|
391
534
|
// Legacy file may not exist.
|
|
392
535
|
}
|
|
393
536
|
}
|
|
394
|
-
|
|
537
|
+
try {
|
|
538
|
+
await resolvedUnlink(backupXmlPath);
|
|
539
|
+
}
|
|
540
|
+
catch {
|
|
541
|
+
// The backup is absent on a fresh registration.
|
|
542
|
+
}
|
|
395
543
|
// Normal init starts the task immediately. A live daemon repairing a missing
|
|
396
544
|
// registration suppresses this step so it does not create a second poller
|
|
397
545
|
// before the restart handoff is prepared.
|
|
@@ -414,6 +562,7 @@ export const unregisterWindowsTask = async (deps = {}) => {
|
|
|
414
562
|
const legacyBatPath = getWindowsBatPath();
|
|
415
563
|
const restartVbsPath = getWindowsRestartVbsPath();
|
|
416
564
|
const taskXmlPath = getWindowsTaskXmlPath();
|
|
565
|
+
const backupXmlPath = getWindowsTaskBackupXmlPath();
|
|
417
566
|
const wrapperPath = getWindowsWrapperPath();
|
|
418
567
|
// Remove legacy Task Scheduler entry if any.
|
|
419
568
|
try {
|
|
@@ -423,7 +572,15 @@ export const unregisterWindowsTask = async (deps = {}) => {
|
|
|
423
572
|
// Not registered — that's fine.
|
|
424
573
|
}
|
|
425
574
|
// Remove Startup folder VBS and legacy files.
|
|
426
|
-
for (const filePath of [
|
|
575
|
+
for (const filePath of [
|
|
576
|
+
startupVbsPath,
|
|
577
|
+
legacyVbsPath,
|
|
578
|
+
legacyBatPath,
|
|
579
|
+
restartVbsPath,
|
|
580
|
+
taskXmlPath,
|
|
581
|
+
backupXmlPath,
|
|
582
|
+
wrapperPath,
|
|
583
|
+
]) {
|
|
427
584
|
try {
|
|
428
585
|
await resolvedUnlink(filePath);
|
|
429
586
|
logger.info('Removed autostart file', { filePath });
|
|
@@ -432,6 +589,7 @@ export const unregisterWindowsTask = async (deps = {}) => {
|
|
|
432
589
|
// File may not exist.
|
|
433
590
|
}
|
|
434
591
|
}
|
|
592
|
+
await (deps.cleanupLaunchers ?? cleanupInstalledWindowsLaunchers)();
|
|
435
593
|
};
|
|
436
594
|
// Schedule.Service task states — 4 means the task is currently running.
|
|
437
595
|
const TASK_STATE_RUNNING = 4;
|
|
@@ -474,10 +632,15 @@ export const restartWindowsTask = async (config, deps = {}) => {
|
|
|
474
632
|
const resolvedSleep = deps.sleep ?? ((milliseconds) => delay(milliseconds));
|
|
475
633
|
const resolvedNow = deps.now ?? (() => Date.now());
|
|
476
634
|
if (config) {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
635
|
+
await (deps.registerWindowsTask ?? registerWindowsTask)(config, {
|
|
636
|
+
execSync: resolvedExecSync,
|
|
637
|
+
writeFile: deps.writeFile,
|
|
638
|
+
chmodSync: deps.chmodSync,
|
|
639
|
+
daemonPath: deps.daemonPath,
|
|
640
|
+
launcherPath: deps.launcherPath,
|
|
641
|
+
startImmediately: false,
|
|
642
|
+
});
|
|
643
|
+
logger.info('Migrated and verified the Windows task before restart');
|
|
481
644
|
}
|
|
482
645
|
try {
|
|
483
646
|
// A task that isn't currently running makes schtasks /End emit an error to
|
|
@@ -527,6 +690,28 @@ export const scheduleWindowsTaskRestart = async (deps = {}) => {
|
|
|
527
690
|
const daemonPath = deps.daemonPath ?? resolveExecutablePath('agentrunner');
|
|
528
691
|
const logPath = getWindowsLogPath();
|
|
529
692
|
const handoffPath = getRestartHandoffPath(handoffId);
|
|
693
|
+
// Installing the launcher can throw (missing manifest, SHA-256 mismatch,
|
|
694
|
+
// unsupported architecture, file lock). Keep it inside the structured contract
|
|
695
|
+
// so the caller sees a retryable failure instead of an exception escaping into
|
|
696
|
+
// the poller's generic catch.
|
|
697
|
+
let launcherPath;
|
|
698
|
+
try {
|
|
699
|
+
launcherPath = deps.launcherPath ?? (await (deps.installLauncher ?? installWindowsLauncher)());
|
|
700
|
+
}
|
|
701
|
+
catch (error) {
|
|
702
|
+
logger.warn('Failed to prepare the native Windows launcher for the restart handoff', {
|
|
703
|
+
error: error instanceof Error ? error.message : String(error),
|
|
704
|
+
});
|
|
705
|
+
return {
|
|
706
|
+
status: 'retryable-failure',
|
|
707
|
+
handoffId,
|
|
708
|
+
replacementReady: false,
|
|
709
|
+
acknowledged: false,
|
|
710
|
+
retryableFailure: true,
|
|
711
|
+
reason: 'helper-preparation-failed',
|
|
712
|
+
error: error instanceof Error ? error.message : String(error),
|
|
713
|
+
};
|
|
714
|
+
}
|
|
530
715
|
try {
|
|
531
716
|
await unlink(handoffPath);
|
|
532
717
|
}
|
|
@@ -654,8 +839,7 @@ for ($attempt = 1; $attempt -le 20; $attempt++) {
|
|
|
654
839
|
Start-DirectFallback
|
|
655
840
|
`.trim();
|
|
656
841
|
const encodedRestartScript = Buffer.from(restartScript, 'utf16le').toString('base64');
|
|
657
|
-
const restartCommandLine = `
|
|
658
|
-
`-EncodedCommand ${encodedRestartScript}`;
|
|
842
|
+
const restartCommandLine = `"${launcherPath}" ${buildWindowsChildPowerShellCommand(`-EncodedCommand ${encodedRestartScript}`)}`;
|
|
659
843
|
const createCommand = `$logPath = '${escapeForPowerShellString(logPath)}'; ` +
|
|
660
844
|
`$result = Invoke-CimMethod -ClassName Win32_Process -MethodName Create ` +
|
|
661
845
|
`-Arguments @{ CommandLine = '${escapeForPowerShellString(restartCommandLine)}' }; ` +
|
package/dist/autostart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,sCAAsC,EACtC,6BAA6B,GAE9B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,uBAAuB;AAEvB,MAAM,mBAAmB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;AAE/G,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAEjH,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEhG,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEhG,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;AAEzG,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;AAEnG,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEpG,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAE1F,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAC5C,IAAI,CACF,OAAO,EAAE,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEJ,wBAAwB;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAU,EAAE;IACnE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC;IACvE,MAAM,UAAU,GAAG;QACjB,oCAAoC,WAAW,WAAW;QAC1D,uDAAuD,MAAM,CAAC,KAAK,WAAW;QAC9E,kDAAkD,MAAM,CAAC,MAAM,WAAW;QAC1E,8DAA8D;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;;;;;;YAMG,aAAa;;;;cAIX,QAAQ;cACR,UAAU;;;;;;EAMtB,UAAU;;;;;;;;;;;;;;;;;;;;;SAqBH,CAAC;AACV,CAAC,CAAC;AAEF,0BAA0B;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAU,EAAE;IACrE,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO;;;;;;;YAOG,UAAU;oBACF,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,8BAA8B;uCAC/B,MAAM,CAAC,KAAK;kCACjB,MAAM,CAAC,MAAM;;;;;;;;;wBASvB,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEzF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAuB,EACvB,aAAqB,qBAAqB,CAAC,aAAa,CAAC,EACzD,UAAkB,iBAAiB,EAAE,EACrC,cAAsB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EACpC,EAAE;IACV,OAAO;QACL,iCAAiC;QACjC,gBAAgB,yBAAyB,CAAC,WAAW,CAAC,GAAG;QACzD,mCAAmC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QAC7E,8BAA8B,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;QACzE,kCAAkC;QAClC,eAAe,yBAAyB,CAAC,OAAO,CAAC,GAAG;QACpD,kBAAkB,qBAAqB,EAAE;QACzC,OAAO;QACP,2HAA2H;QAC3H,sEAAsE;QACtE,KAAK;QACL,WAAW;QACX,qEAAqE;QACrE,GAAG;QACH,MAAM,yBAAyB,CAAC,UAAU,CAAC,gBAAgB,yBAAyB,CAAC,OAAO,CAAC,GAAG;QAChG,oBAAoB;KACrB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAU,EAAE;IACxF,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,YAAY,CACjC,iFAAiF,WAAW,GAAG,CAChG,CAAC;IAEF,OAAO;;;;;;gBAMO,aAAa;;;;;gBAKb,aAAa;;;;;;;;;;;;;;;;;;;;mBAoBV,cAAc;;;QAGzB,CAAC;AACT,CAAC,CAAC;AAeF,MAAM,yBAAyB,GAAG,GAA2B,EAAE;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAC3F,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAC;IACrF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;IAC3D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,2BAA2B,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,IAAmB,EAAE;IAC/D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAE,EAA6C,EAAE;IAC9G,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAEnD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,aAAa,cAAc,EAAE;gBAC7E,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,qDAAqD,EAAE;gBACrF,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,iEAAiE;YACjE,kEAAkE;YAClE,8DAA8D;YAC9D,gBAAgB,CAAC,wBAAwB,SAAS,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,wBAAwB;AAExB,MAAM,eAAe,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAClF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,gDAAgD;IAChD,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5B,QAAQ,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,MAA8B,EAAiB,EAAE;IAC7E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,wBAAwB;AAExB,MAAM,eAAe,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAClF,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9B,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC3C,QAAQ,CAAC,qCAAqC,CAAC,CAAC;IAChD,QAAQ,CAAC,oCAAoC,CAAC,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,QAAQ,CAAC,+CAA+C,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,kDAAkD,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,MAA8B,EAAiB,EAAE;IAC7E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9B,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AACnD,CAAC,CAAC;AAeF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAuB,EACvB,OAA6B,EAAE,EACL,EAAE;IAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;IAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAElD,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,IAAI,CAAC;QACH,gBAAgB,CAAC,yBAAyB,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,iBAAiB,CACrB,WAAW,EACX,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAC9F,MAAM,CACP,CAAC;IACF,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5G,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEtC,yBAAyB;IACzB,KAAK,MAAM,UAAU,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,yBAAyB,SAAS,WAAW,WAAW,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAExG,6EAA6E;IAC7E,0EAA0E;IAC1E,0CAA0C;IAC1C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,gBAAgB,CAAC,sBAAsB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAA6B,EAAE,EAAiB,EAAE;IAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,6CAA6C;IAC7C,IAAI,CAAC;QACH,gBAAgB,CAAC,yBAAyB,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,QAAQ,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAChH,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAIlC,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,uEAAuE;AACvE,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAW,EAAE;IAC5D,MAAM,MAAM,GAAG;QACb,6CAA6C;QAC7C,qDAAqD;QACrD,oBAAoB;QACpB,4CAA4C,SAAS,0BAA0B;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,yGAAyG,OAAO,EAAE,CAAC;AAC5H,CAAC,CAAC;AAIF,gFAAgF;AAChF,gFAAgF;AAChF,yEAAyE;AACzE,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,CAAC,UAA+B,EAAoB,EAAE;IAChF,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,iCAAiC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAA8B,EAC9B,OAA+B,EAAE,EAClB,EAAE;IACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,CACpC,WAAW,EACX,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAC9F,MAAM,CACP,CAAC;QACF,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,CAAC;QACH,2EAA2E;QAC3E,uEAAuE;QACvE,gBAAgB,CAAC,sBAAsB,SAAS,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,YAAY,GAAG,WAAW,EAAE,GAAG,kBAAkB,CAAC;IACxD,IAAI,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO,SAAS,KAAK,SAAS,IAAI,WAAW,EAAE,GAAG,YAAY,EAAE,CAAC;QAC/D,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC5C,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,yEAAyE;QACzE,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,IAAI,KAAK,CACb,8EAA8E,SAAS,KAAK;YAC1F,oDAAoD,CACvD,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,sBAAsB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAcF,kFAAkF;AAClF,oFAAoF;AACpF,mDAAmD;AACnD,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,qBAAqB;AACrB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,OAAuC,EAAE,EACL,EAAE;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IAED,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,aAAa,GAAG;eACT,SAAS;cACV,yBAAyB,CAAC,OAAO,CAAC;kBAC9B,yBAAyB,CAAC,WAAW,CAAC;gBACxC,yBAAyB,CAAC,SAAS,CAAC;eACrC,SAAS;iBACP,yBAAyB,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAqDX,IAAI,CAAC,KAAK,CAAC,sCAAsC,GAAG,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DpG,CAAC,IAAI,EAAE,CAAC;IACP,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtF,MAAM,kBAAkB,GACtB,wFAAwF;QACxF,mBAAmB,oBAAoB,EAAE,CAAC;IAC5C,MAAM,aAAa,GACjB,eAAe,yBAAyB,CAAC,OAAO,CAAC,KAAK;QACtD,yEAAyE;QACzE,gCAAgC,yBAAyB,CAAC,kBAAkB,CAAC,OAAO;QACpF,mCAAmC;QACnC,kJAAkJ;QAClJ,4BAA4B,CAAC;IAC/B,gFAAgF;IAChF,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,CAAC;QACH,OAAO,CACL,gBAAgB,EAChB;YACE,YAAY;YACZ,iBAAiB;YACjB,cAAc;YACd,QAAQ;YACR,kBAAkB;YAClB,QAAQ;YACR,UAAU;YACV,aAAa;SACd,EACD;YACE,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CACF,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,6BAA6B,CACrD,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EACjD;YACE,QAAQ;YACR,KAAK;YACL,GAAG;YACH,gBAAgB,EAAE,gBAAgB;YAClC,SAAS,EAAE,MAAM;SAClB,CACF,CAAC;QACF,OAAO,WAAW,CAAC,MAAM,KAAK,UAAU;YACtC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,GAAG,WAAW;gBACd,MAAM,EAAE,2BAA2B;gBACnC,KAAK,EAAE,oEAAoE;aAC5E,CAAC;IACR,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;YAC5D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,mBAAmB;YAC3B,SAAS;YACT,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,2BAA2B;YACnC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgC,EAAE,EAAQ,EAAE;IACpF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC;IACrE,oEAAoE;IACpE,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,KAAK,GAAG,aAAa,CACzB,gBAAgB,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAC9G;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;KAC7B,CACF,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|