apt-mcp-agent-setup 3.5.23 → 3.5.30

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 (161) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/build-input.json +69 -48
  4. package/bundle/NOTICES.md +0 -0
  5. package/bundle/core.enc +0 -0
  6. package/bundle/mcp-rules.enc +0 -0
  7. package/bundle/skills-aso.enc +0 -0
  8. package/bundle/skills-ba.enc +0 -0
  9. package/bundle/skills-base.enc +0 -0
  10. package/bundle/skills-be.enc +0 -0
  11. package/bundle/skills-design.enc +0 -0
  12. package/bundle/skills-fe.enc +0 -0
  13. package/bundle/skills-marketing.enc +0 -0
  14. package/bundle/skills-mobile.enc +0 -0
  15. package/bundle/skills-pm.enc +0 -0
  16. package/integrity-manifest.json +161 -159
  17. package/package.json +1 -1
  18. package/src/backends/browser-tools.js +1 -1
  19. package/src/backends/index-cache-authority.js +1 -1
  20. package/src/backends/index-command.js +1 -1
  21. package/src/backends/index-maintenance.js +1 -1
  22. package/src/backends/index-store.js +1 -1
  23. package/src/backends/profiles.js +1 -1
  24. package/src/backends/review_graph.py +65 -0
  25. package/src/backends/source-discovery.js +1 -1
  26. package/src/core/admission-fence.js +1 -1
  27. package/src/core/aso-import.js +1 -1
  28. package/src/core/backend-lease-recovery.js +1 -1
  29. package/src/core/boot-evidence.js +1 -1
  30. package/src/core/caller-context.js +1 -1
  31. package/src/core/catalog.js +1 -1
  32. package/src/core/claude-caller-authority.js +1 -1
  33. package/src/core/claude-invocation.js +1 -1
  34. package/src/core/claude-launch-recovery.js +1 -1
  35. package/src/core/claude-native.js +1 -1
  36. package/src/core/claude-plan.js +1 -1
  37. package/src/core/claude-transcript-scan.js +1 -1
  38. package/src/core/claude-worker-transcript.js +1 -1
  39. package/src/core/codex-host-metadata.js +1 -1
  40. package/src/core/codex-transcript-receipt.js +1 -1
  41. package/src/core/connection-inspector.js +1 -1
  42. package/src/core/context-metrics.js +1 -1
  43. package/src/core/doctor.js +1 -1
  44. package/src/core/draining-completion.js +1 -1
  45. package/src/core/execution.js +1 -1
  46. package/src/core/git-context.js +1 -1
  47. package/src/core/hook-bridge.js +1 -1
  48. package/src/core/hook-diagnostics.js +1 -1
  49. package/src/core/hook-lease.js +1 -1
  50. package/src/core/host-adapters.js +1 -1
  51. package/src/core/interrupted-boot-transport-proof.js +1 -1
  52. package/src/core/interrupted-natural-closure-proof.js +1 -1
  53. package/src/core/interrupted-operation-audit.js +1 -1
  54. package/src/core/interrupted-transport-proof.js +1 -1
  55. package/src/core/ipc-envelope.js +1 -1
  56. package/src/core/legacy-retirement-proof.js +1 -1
  57. package/src/core/memory-scope.js +1 -1
  58. package/src/core/memory-store.js +1 -1
  59. package/src/core/model-inventory.js +1 -1
  60. package/src/core/model-routing.js +1 -1
  61. package/src/core/native-dispatch.js +1 -1
  62. package/src/core/native-receipt.js +1 -1
  63. package/src/core/native-retirement.js +1 -1
  64. package/src/core/node-version.js +1 -1
  65. package/src/core/npm-cli.js +1 -1
  66. package/src/core/owned-command-child.js +1 -1
  67. package/src/core/owned-command.js +1 -1
  68. package/src/core/owned-lock.js +1 -1
  69. package/src/core/owned-process.js +1 -1
  70. package/src/core/pipeline-journal.js +1 -1
  71. package/src/core/presentations.js +1 -1
  72. package/src/core/quality-artifacts.js +1 -1
  73. package/src/core/quality.js +1 -1
  74. package/src/core/read-command.js +1 -1
  75. package/src/core/readonly-skill.js +1 -1
  76. package/src/core/recovery-archive.js +1 -1
  77. package/src/core/recovery-proof.js +1 -1
  78. package/src/core/resource-transaction.js +1 -1
  79. package/src/core/run-checkpoint.js +1 -1
  80. package/src/core/run-compatibility.js +1 -1
  81. package/src/core/run-state-codec.js +1 -1
  82. package/src/core/runtime-authority.js +1 -1
  83. package/src/core/runtime-info.js +1 -1
  84. package/src/core/runtime-ownership.js +1 -1
  85. package/src/core/session.js +1 -1
  86. package/src/core/skill-companions.js +1 -1
  87. package/src/core/skill-names.js +1 -1
  88. package/src/core/storage-retry.js +1 -1
  89. package/src/core/tool-contracts.js +1 -1
  90. package/src/core/update-control.js +1 -1
  91. package/src/core/upgrade-runs.js +1 -1
  92. package/src/core/upgrade-stop.js +1 -1
  93. package/src/core/windows-job.js +1 -1
  94. package/src/core/workflow-policy.js +1 -1
  95. package/src/core/workspace-generation.js +1 -1
  96. package/src/core/workspace-path.js +1 -1
  97. package/src/installer/bounded-command.js +1 -1
  98. package/src/installer/candidate-preflight.js +1 -1
  99. package/src/installer/claude-commands.js +1 -1
  100. package/src/installer/connection-activation.js +1 -1
  101. package/src/installer/connection-supervisor.js +1 -1
  102. package/src/installer/deployment-draft.js +1 -1
  103. package/src/installer/gateway-context.js +1 -1
  104. package/src/installer/gateway-migration.js +1 -1
  105. package/src/installer/gateway-runtime.js +1 -1
  106. package/src/installer/global-setup.js +1 -1
  107. package/src/installer/hook-context-client.js +1 -1
  108. package/src/installer/hook-dispatcher.js +179 -141
  109. package/src/installer/host-hooks.js +1 -1
  110. package/src/installer/index-interruption-recovery.js +1 -1
  111. package/src/installer/index-recovery.js +1 -1
  112. package/src/installer/install-intent.js +1 -1
  113. package/src/installer/interrupted-operation-recovery.js +1 -1
  114. package/src/installer/legacy-prepared-plan.js +1 -1
  115. package/src/installer/legacy-registration.js +1 -1
  116. package/src/installer/managed-config.js +1 -1
  117. package/src/installer/migration-scope.js +1 -1
  118. package/src/installer/platform-config.js +1 -1
  119. package/src/installer/prerequisites.js +1 -1
  120. package/src/installer/presentations.js +1 -1
  121. package/src/installer/project-outcome.js +1 -1
  122. package/src/installer/project-setup.js +1 -1
  123. package/src/installer/recovery-backup-retention.js +1 -0
  124. package/src/installer/registration-closure.js +1 -1
  125. package/src/installer/registration-plan.js +1 -1
  126. package/src/installer/registration-receipt.js +1 -1
  127. package/src/installer/registrations.js +1 -1
  128. package/src/installer/runtime-activation.js +1 -1
  129. package/src/installer/runtime-child.js +1 -1
  130. package/src/installer/runtime-cleanup.js +1 -1
  131. package/src/installer/runtime-lock.js +1 -1
  132. package/src/installer/runtime-store.js +1 -1
  133. package/src/installer/runtime-supervisor.js +1 -1
  134. package/src/installer/setup-wizard.js +1 -1
  135. package/src/installer/stale-run-release.js +1 -1
  136. package/src/installer/update-addons.js +1 -1
  137. package/src/installer/update-cleanup.js +1 -1
  138. package/src/installer/update-executor.js +1 -1
  139. package/src/installer/update-history.js +1 -1
  140. package/src/installer/update-registration.js +1 -1
  141. package/src/installer/update-report.js +1 -0
  142. package/src/installer/update-request.js +1 -1
  143. package/src/installer/update-scope.js +1 -1
  144. package/src/installer/workspace-registry.js +1 -1
  145. package/src/installer/workspace-transaction.js +1 -1
  146. package/src/installer/workspace-update.js +1 -1
  147. package/src/license/crypto.js +1 -1
  148. package/src/license/fingerprint.js +1 -1
  149. package/src/license/terms.js +1 -1
  150. package/src/license/verify.js +1 -1
  151. package/src/presets/index.js +1 -1
  152. package/src/proxy/backends.js +1 -1
  153. package/src/proxy/browser-sessions.js +1 -1
  154. package/src/proxy/core-tools.js +1 -1
  155. package/src/proxy/pipeline.js +1 -1
  156. package/src/proxy/public-catalog.js +1 -1
  157. package/src/proxy/router.config.js +1 -1
  158. package/src/proxy/router.js +1 -1
  159. package/src/proxy/server.js +1 -1
  160. package/src/proxy/workspace-gateway.js +1 -1
  161. package/src/templates/mcp-tools.md +2 -2
@@ -1,141 +1,179 @@
1
- 'use strict';
2
-
3
- // Embedded with a trusted installation key. Only built-in modules may be used
4
- // until the committed release has been verified.
5
- function hookDispatcher(root, publicKey) {
6
- return { runCLI(host, event, projectPath, executionOptions = {}) {
7
- const fs = require('node:fs'), path = require('node:path'), crypto = require('node:crypto');
8
- // Host adapters pass the workspace as base64 so hook command shells never
9
- // reinterpret path data. Keep absolute raw paths usable for internal calls.
10
- const inputPath = String(projectPath);
11
- const decodedProjectPath = Buffer.from(inputPath, 'base64').toString('utf8');
12
- const workspaceInput = path.isAbsolute(inputPath) || !fs.existsSync(decodedProjectPath) ? inputPath : decodedProjectPath;
13
- const workspace = fs.realpathSync(workspaceInput);
14
- const canonical = process.platform === 'win32' ? workspace.toLowerCase() : workspace;
15
- const authorityFile = path.join(workspace, '.agents', 'runtime', 'generation.json');
16
- let selected;
17
- try { selected = JSON.parse(fs.readFileSync(authorityFile, 'utf8')); }
18
- catch (error) {
19
- if (error.code !== 'ENOENT') throw error;
20
- // Migration only: the workspace pin is explicit, never the machine's
21
- // latest pointer or a release inferred from deployed resource version.
22
- selected = JSON.parse(fs.readFileSync(path.join(root, 'workspaces',
23
- crypto.createHash('sha256').update(canonical).digest('hex') + '.json'), 'utf8'));
24
- }
25
- if (selected.workspace && (process.platform === 'win32' ? selected.workspace.toLowerCase() : selected.workspace) !== canonical)
26
- throw Error('HOOK_WORKSPACE_BINDING_CONFLICT');
27
- if (!/^\d+\.\d+\.\d+$/.test(selected.version) || !/^[a-f0-9]{64}$/.test(selected.digest))
28
- throw Error('HOOK_RUNTIME_BINDING_REQUIRED');
29
- const release = path.join(root, 'releases', `${selected.version}-${selected.digest}`);
30
- if (fs.lstatSync(release).isSymbolicLink()) throw Error('HOOK_RUNTIME_LINK_REJECTED');
31
- const manifest = JSON.parse(fs.readFileSync(path.join(release, 'integrity-manifest.json'), 'utf8'));
32
- if (crypto.createHash('sha256').update(JSON.stringify(manifest)).digest('hex') !== selected.digest ||
33
- !crypto.verify(null, Buffer.from(JSON.stringify(manifest.files)), publicKey, Buffer.from(manifest.signature, 'base64url')))
34
- throw Error('HOOK_RUNTIME_SIGNATURE_INVALID');
35
- for (const required of ['src/core/hook-bridge.js'])
36
- if (!manifest.files[required]) throw Error('HOOK_RUNTIME_RECONNECT_REQUIRED');
37
- for (const [file, digest] of Object.entries(manifest.files)) {
38
- if (path.isAbsolute(file) || file.includes('\\') || file.split('/').some(part => !part || part === '..' || part === '.'))
39
- throw Error('HOOK_RUNTIME_PATH_INVALID');
40
- let cursor = release;
41
- for (const part of file.split('/')) {
42
- cursor = path.join(cursor, part);
43
- if (fs.lstatSync(cursor).isSymbolicLink()) throw Error('HOOK_RUNTIME_LINK_REJECTED');
44
- }
45
- if (crypto.createHash('sha256').update(fs.readFileSync(cursor)).digest('hex') !== digest)
46
- throw Error('HOOK_RUNTIME_INTEGRITY_INVALID');
47
- }
48
- return require(path.join(release, 'src/core/hook-bridge.js')).runCLI(host, event,
49
- Buffer.from(workspace, 'utf8').toString('base64'), executionOptions);
50
- } };
51
- }
52
-
53
- // The parent only uses built-ins. Synchronous hashing/locks in the signed
54
- // worker cannot prevent the parent from producing a blocking decision.
55
- function superviseHook(root, publicKey, dispatcherSource, args, timeoutMs) {
56
- const cp = require('node:child_process'), crypto = require('node:crypto');
57
- const lease = { id: crypto.randomUUID(), notAfter: Date.now() + timeoutMs, maxDurationMs: timeoutMs };
58
- // The worker lives for one host event. APT_HOOK_PROCESS lets its runtime
59
- // locks record a start hint instead of starting PowerShell on every tool call.
60
- const program = `process.env.APT_HOOK_PROCESS = '1';
61
- const dispatcher = (${dispatcherSource})(${JSON.stringify(root)}, ${JSON.stringify(publicKey)});
62
- process.once('message', async message => {
63
- try { await dispatcher.runCLI(...message.args, { hookLease: message.lease }); }
64
- catch (error) { process.stderr.write('APT hook: ' + (error.message || String(error)) + '\\n'); process.exitCode = 2; }
65
- finally { if (process.connected) process.disconnect(); }
66
- });`;
67
- return new Promise((resolve, reject) => {
68
- let settled = false, output = '', errors = '', inputBytes = 0;
69
- const child = cp.spawn(process.execPath, ['-e', program], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe', 'ipc'] });
70
- const detach = () => {
71
- clearTimeout(timer); process.stdin.unpipe(child.stdin); process.stdin.removeListener('data', countInput);
72
- child.stdin.destroy();
73
- };
74
- const fail = code => {
75
- if (settled) return;
76
- settled = true; detach();
77
- if (child.connected) child.disconnect();
78
- child.kill(); child.stdout.destroy(); child.stderr.destroy(); child.unref();
79
- reject(new Error(code));
80
- };
81
- const countInput = chunk => { inputBytes += chunk.length; if (inputBytes > 2 * 1024 * 1024) fail('HOOK_INPUT_LIMIT'); };
82
- const timer = setTimeout(() => fail('HOOK_DEADLINE_EXCEEDED'), timeoutMs);
83
- child.on('error', () => fail('HOOK_WORKER_UNAVAILABLE'));
84
- child.stdin.on('error', () => {});
85
- child.stdout.on('data', chunk => { output += chunk.toString(); if (Buffer.byteLength(output) > 2 * 1024 * 1024) fail('HOOK_OUTPUT_LIMIT'); });
86
- child.stderr.on('data', chunk => { errors += chunk.toString(); if (Buffer.byteLength(errors) > 64 * 1024) fail('HOOK_OUTPUT_LIMIT'); });
87
- child.on('close', code => {
88
- if (settled) return;
89
- if (Date.now() >= lease.notAfter) return fail('HOOK_DEADLINE_EXCEEDED');
90
- settled = true; detach();
91
- if (code === 0) { if (output) process.stdout.write(output); }
92
- if (errors) process.stderr.write(errors);
93
- process.exitCode = code === 0 ? 0 : 2;
94
- resolve();
95
- });
96
- process.stdin.on('data', countInput); process.stdin.pipe(child.stdin);
97
- child.send({ args, lease }, error => { if (error) fail('HOOK_WORKER_UNAVAILABLE'); });
98
- });
99
- }
100
-
101
- // Only a pre-tool decision may block its host. Any other event observes
102
- // something that already happened, so a dispatcher or runtime fault there is a
103
- // non-blocking error: it must not reject a prompt or force a continuation.
104
- function blockingEvents() {
105
- const { HOSTS } = require('../core/host-adapters');
106
- return Object.fromEntries(Object.entries(HOSTS).map(([host, adapter]) =>
107
- [host, Object.keys(adapter.events).filter(event => adapter.events[event] === 'before-tool')]));
108
- }
109
-
110
- function renderDispatcher(runtimeRoot, publicKey, options = {}) {
111
- const timeoutMs = options.timeoutMs === undefined ? 10000 : options.timeoutMs;
112
- if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 100 || timeoutMs > 10000) throw new Error('HOOK_DEADLINE_INVALID');
113
- return `'use strict';
114
- const dispatcher = (${hookDispatcher.toString()})(${JSON.stringify(runtimeRoot)}, ${JSON.stringify(publicKey.toString())});
115
- const blockingEvents = ${JSON.stringify(blockingEvents())};
116
- // An unknown host or event stays blocking.
117
- const failureCode = args => !blockingEvents[args[0]] || blockingEvents[args[0]].includes(args[1]) ? 2 : 1;
118
- function reportFailure(error, args) {
119
- process.stderr.write('APT hook: ' + (error && error.message ? error.message : String(error)) + '\\n');
120
- process.exitCode = failureCode(args);
121
- }
122
- module.exports = { runCLI(...args) {
123
- try {
124
- // Generated host commands use node --eval. Direct verifier consumers keep
125
- // the synchronous interface; host execution always has an outer watchdog.
126
- const hostCLI = process.argv.length === 1 && process.execArgv.some(arg => arg === '-e' || arg === '--eval');
127
- const result = hostCLI
128
- ? (${superviseHook.toString()})(${JSON.stringify(runtimeRoot)}, ${JSON.stringify(publicKey.toString())}, ${JSON.stringify(hookDispatcher.toString())}, args, ${timeoutMs})
129
- : dispatcher.runCLI(...args);
130
- if (result && typeof result.then === 'function')
131
- result.then(() => { if (hostCLI && process.exitCode) process.exitCode = failureCode(args); },
132
- error => reportFailure(error, args));
133
- return result;
134
- } catch (error) {
135
- reportFailure(error, args);
136
- }
137
- } };
138
- `;
139
- }
140
-
141
- module.exports = { hookDispatcher, renderDispatcher };
1
+ 'use strict';
2
+
3
+ // Embedded with a trusted installation key. Only built-in modules may be used
4
+ // until the committed release has been verified.
5
+ function hookDispatcher(root, publicKey) {
6
+ return { runCLI(host, event, projectPath, executionOptions = {}) {
7
+ const fs = require('node:fs'), path = require('node:path'), crypto = require('node:crypto');
8
+ // Host adapters pass the workspace as base64 so hook command shells never
9
+ // reinterpret path data. Keep absolute raw paths usable for internal calls.
10
+ const inputPath = String(projectPath);
11
+ const decodedProjectPath = Buffer.from(inputPath, 'base64').toString('utf8');
12
+ const workspaceInput = path.isAbsolute(inputPath) || !fs.existsSync(decodedProjectPath) ? inputPath : decodedProjectPath;
13
+ const workspace = fs.realpathSync(workspaceInput);
14
+ const canonical = process.platform === 'win32' ? workspace.toLowerCase() : workspace;
15
+ const authorityFile = path.join(workspace, '.agents', 'runtime', 'generation.json');
16
+ let selected;
17
+ try { selected = JSON.parse(fs.readFileSync(authorityFile, 'utf8')); }
18
+ catch (error) {
19
+ if (error.code !== 'ENOENT') throw error;
20
+ // Migration only: the workspace pin is explicit, never the machine's
21
+ // latest pointer or a release inferred from deployed resource version.
22
+ selected = JSON.parse(fs.readFileSync(path.join(root, 'workspaces',
23
+ crypto.createHash('sha256').update(canonical).digest('hex') + '.json'), 'utf8'));
24
+ }
25
+ if (selected.workspace && (process.platform === 'win32' ? selected.workspace.toLowerCase() : selected.workspace) !== canonical)
26
+ throw Error('HOOK_WORKSPACE_BINDING_CONFLICT');
27
+ if (!/^\d+\.\d+\.\d+$/.test(selected.version) || !/^[a-f0-9]{64}$/.test(selected.digest))
28
+ throw Error('HOOK_RUNTIME_BINDING_REQUIRED');
29
+ const release = path.join(root, 'releases', `${selected.version}-${selected.digest}`);
30
+ if (fs.lstatSync(release).isSymbolicLink()) throw Error('HOOK_RUNTIME_LINK_REJECTED');
31
+ const manifest = JSON.parse(fs.readFileSync(path.join(release, 'integrity-manifest.json'), 'utf8'));
32
+ if (crypto.createHash('sha256').update(JSON.stringify(manifest)).digest('hex') !== selected.digest ||
33
+ !crypto.verify(null, Buffer.from(JSON.stringify(manifest.files)), publicKey, Buffer.from(manifest.signature, 'base64url')))
34
+ throw Error('HOOK_RUNTIME_SIGNATURE_INVALID');
35
+ for (const required of ['src/core/hook-bridge.js'])
36
+ if (!manifest.files[required]) throw Error('HOOK_RUNTIME_RECONNECT_REQUIRED');
37
+ for (const [file, digest] of Object.entries(manifest.files)) {
38
+ if (path.isAbsolute(file) || file.includes('\\') || file.split('/').some(part => !part || part === '..' || part === '.'))
39
+ throw Error('HOOK_RUNTIME_PATH_INVALID');
40
+ let cursor = release;
41
+ for (const part of file.split('/')) {
42
+ cursor = path.join(cursor, part);
43
+ if (fs.lstatSync(cursor).isSymbolicLink()) throw Error('HOOK_RUNTIME_LINK_REJECTED');
44
+ }
45
+ if (crypto.createHash('sha256').update(fs.readFileSync(cursor)).digest('hex') !== digest)
46
+ throw Error('HOOK_RUNTIME_INTEGRITY_INVALID');
47
+ }
48
+ return require(path.join(release, 'src/core/hook-bridge.js')).runCLI(host, event,
49
+ Buffer.from(workspace, 'utf8').toString('base64'), executionOptions);
50
+ } };
51
+ }
52
+
53
+ // The parent only uses built-ins. Synchronous hashing/locks in the signed
54
+ // worker cannot prevent the parent from producing a blocking decision.
55
+ function superviseHook(root, publicKey, dispatcherSource, args, timeoutMs, passive) {
56
+ const cp = require('node:child_process'), crypto = require('node:crypto');
57
+ const lease = { id: crypto.randomUUID(), notAfter: Date.now() + timeoutMs, maxDurationMs: timeoutMs };
58
+ // The worker lives for one host event. APT_HOOK_PROCESS lets its runtime
59
+ // locks record a start hint instead of starting PowerShell on every tool call.
60
+ const program = `process.env.APT_HOOK_PROCESS = '1';
61
+ const dispatcher = (${dispatcherSource})(${JSON.stringify(root)}, ${JSON.stringify(publicKey)});
62
+ process.once('message', async message => {
63
+ try { await dispatcher.runCLI(...message.args, { hookLease: message.lease }); }
64
+ catch (error) { process.stderr.write('APT hook: ' + (error.message || String(error)) + '\\n'); process.exitCode = 2; }
65
+ finally { if (process.connected) process.disconnect(); }
66
+ });`;
67
+ return new Promise((resolve, reject) => {
68
+ let settled = false, output = '', errors = '', inputBytes = 0;
69
+ const received = [];
70
+ // APT allows a passive host read in every session state. A fault of APT
71
+ // itself, a missed deadline above all, must not refuse one. The answer is
72
+ // the output that lets the call proceed, or null for every other call.
73
+ const allowance = () => {
74
+ try {
75
+ const table = passive && passive[args[0]];
76
+ const allow = table && table.events[args[1]];
77
+ if (typeof allow !== 'string') return null;
78
+ const input = JSON.parse(Buffer.concat(received).toString('utf8'));
79
+ const name = input.tool_name;
80
+ if (typeof name !== 'string' || input.toolCall !== undefined || input.userStopped === true) return null;
81
+ return table.exact.includes(name) || table.insensitive.includes(name.toLowerCase()) ? allow : null;
82
+ } catch { return null; }
83
+ };
84
+ const child = cp.spawn(process.execPath, ['-e', program], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe', 'ipc'] });
85
+ const detach = () => {
86
+ clearTimeout(timer); process.stdin.unpipe(child.stdin); process.stdin.removeListener('data', countInput);
87
+ child.stdin.destroy();
88
+ };
89
+ const fail = code => {
90
+ if (settled) return;
91
+ settled = true; detach();
92
+ if (child.connected) child.disconnect();
93
+ child.kill(); child.stdout.destroy(); child.stderr.destroy(); child.unref();
94
+ const allow = allowance();
95
+ if (allow === null) return reject(new Error(code));
96
+ process.stderr.write('APT hook: ' + code + ' (not refused)\n');
97
+ process.stdout.write(allow + '\n');
98
+ process.exitCode = 0;
99
+ resolve();
100
+ };
101
+ const countInput = chunk => {
102
+ inputBytes += chunk.length;
103
+ if (inputBytes > 2 * 1024 * 1024) fail('HOOK_INPUT_LIMIT'); else received.push(Buffer.from(chunk));
104
+ };
105
+ const timer = setTimeout(() => fail('HOOK_DEADLINE_EXCEEDED'), timeoutMs);
106
+ child.on('error', () => fail('HOOK_WORKER_UNAVAILABLE'));
107
+ child.stdin.on('error', () => {});
108
+ child.stdout.on('data', chunk => { output += chunk.toString(); if (Buffer.byteLength(output) > 2 * 1024 * 1024) fail('HOOK_OUTPUT_LIMIT'); });
109
+ child.stderr.on('data', chunk => { errors += chunk.toString(); if (Buffer.byteLength(errors) > 64 * 1024) fail('HOOK_OUTPUT_LIMIT'); });
110
+ child.on('close', code => {
111
+ if (settled) return;
112
+ if (Date.now() >= lease.notAfter) return fail('HOOK_DEADLINE_EXCEEDED');
113
+ settled = true; detach();
114
+ // A worker that failed before the bridge could decide refuses nothing
115
+ // that APT always allows.
116
+ const allow = code === 0 ? null : allowance();
117
+ if (code === 0) { if (output) process.stdout.write(output); }
118
+ if (errors) process.stderr.write(errors);
119
+ if (allow !== null) process.stdout.write(allow + '\n');
120
+ process.exitCode = code === 0 || allow !== null ? 0 : 2;
121
+ resolve();
122
+ });
123
+ process.stdin.on('data', countInput); process.stdin.pipe(child.stdin);
124
+ child.send({ args, lease }, error => { if (error) fail('HOOK_WORKER_UNAVAILABLE'); });
125
+ });
126
+ }
127
+
128
+ // Only a pre-tool decision may block its host. Any other event observes
129
+ // something that already happened, so a dispatcher or runtime fault there is a
130
+ // non-blocking error: it must not reject a prompt or force a continuation.
131
+ function blockingEvents() {
132
+ const { HOSTS } = require('../core/host-adapters');
133
+ return Object.fromEntries(Object.entries(HOSTS).map(([host, adapter]) =>
134
+ [host, Object.keys(adapter.events).filter(event => adapter.events[event] === 'before-tool')]));
135
+ }
136
+
137
+ // For each host: the events that guard a tool call, each with the output
138
+ // that lets the call proceed, and the tools APT allows in every session state.
139
+ function passiveReads() {
140
+ const { HOSTS, formatHookResult } = require('../core/host-adapters');
141
+ const { passiveHostTools } = require('../core/hook-bridge');
142
+ return Object.fromEntries(Object.entries(HOSTS).map(([host, adapter]) => [host, {
143
+ events: Object.fromEntries(Object.keys(adapter.events).filter(event => adapter.events[event] === 'before-tool')
144
+ .map(event => [event, JSON.stringify(formatHookResult(host, event, { allow: true }).output)])),
145
+ ...passiveHostTools(host) }]));
146
+ }
147
+
148
+ function renderDispatcher(runtimeRoot, publicKey, options = {}) {
149
+ const timeoutMs = options.timeoutMs === undefined ? 10000 : options.timeoutMs;
150
+ if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 100 || timeoutMs > 10000) throw new Error('HOOK_DEADLINE_INVALID');
151
+ return `'use strict';
152
+ const dispatcher = (${hookDispatcher.toString()})(${JSON.stringify(runtimeRoot)}, ${JSON.stringify(publicKey.toString())});
153
+ const blockingEvents = ${JSON.stringify(blockingEvents())};
154
+ // An unknown host or event stays blocking.
155
+ const failureCode = args => !blockingEvents[args[0]] || blockingEvents[args[0]].includes(args[1]) ? 2 : 1;
156
+ function reportFailure(error, args) {
157
+ process.stderr.write('APT hook: ' + (error && error.message ? error.message : String(error)) + '\\n');
158
+ process.exitCode = failureCode(args);
159
+ }
160
+ module.exports = { runCLI(...args) {
161
+ try {
162
+ // Generated host commands use node --eval. Direct verifier consumers keep
163
+ // the synchronous interface; host execution always has an outer watchdog.
164
+ const hostCLI = process.argv.length === 1 && process.execArgv.some(arg => arg === '-e' || arg === '--eval');
165
+ const result = hostCLI
166
+ ? (${superviseHook.toString()})(${JSON.stringify(runtimeRoot)}, ${JSON.stringify(publicKey.toString())}, ${JSON.stringify(hookDispatcher.toString())}, args, ${timeoutMs}, ${JSON.stringify(passiveReads())})
167
+ : dispatcher.runCLI(...args);
168
+ if (result && typeof result.then === 'function')
169
+ result.then(() => { if (hostCLI && process.exitCode) process.exitCode = failureCode(args); },
170
+ error => reportFailure(error, args));
171
+ return result;
172
+ } catch (error) {
173
+ reportFailure(error, args);
174
+ }
175
+ } };
176
+ `;
177
+ }
178
+
179
+ module.exports = { hookDispatcher, renderDispatcher };
@@ -1 +1 @@
1
- const _0x2d1157=_0x1da4;(function(_0x542a3c,_0x174045){const _0x12c0fa=_0x1da4,_0x32f824=_0x542a3c();while(!![]){try{const _0xefc4bb=-parseInt(_0x12c0fa(0x143))/0x1+-parseInt(_0x12c0fa(0x172))/0x2+-parseInt(_0x12c0fa(0x159))/0x3+-parseInt(_0x12c0fa(0x16b))/0x4*(parseInt(_0x12c0fa(0x154))/0x5)+parseInt(_0x12c0fa(0x16c))/0x6*(parseInt(_0x12c0fa(0x169))/0x7)+parseInt(_0x12c0fa(0x14f))/0x8+parseInt(_0x12c0fa(0x155))/0x9*(parseInt(_0x12c0fa(0x165))/0xa);if(_0xefc4bb===_0x174045)break;else _0x32f824['push'](_0x32f824['shift']());}catch(_0x2c6ab2){_0x32f824['push'](_0x32f824['shift']());}}}(_0x5b3c,0x2293d));function _0x1da4(_0x10a428,_0x4d47a5){_0x10a428=_0x10a428-0x141;const _0x5b3c5f=_0x5b3c();let _0x1da4e5=_0x5b3c5f[_0x10a428];if(_0x1da4['KuxvQC']===undefined){var _0x11c213=function(_0x1ef6de){const _0x26fd3a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1887c1='',_0x1cf1a2='';for(let _0x364014=0x0,_0x464ddb,_0x1d5437,_0x14e456=0x0;_0x1d5437=_0x1ef6de['charAt'](_0x14e456++);~_0x1d5437&&(_0x464ddb=_0x364014%0x4?_0x464ddb*0x40+_0x1d5437:_0x1d5437,_0x364014++%0x4)?_0x1887c1+=String['fromCharCode'](0xff&_0x464ddb>>(-0x2*_0x364014&0x6)):0x0){_0x1d5437=_0x26fd3a['indexOf'](_0x1d5437);}for(let _0x4c6153=0x0,_0x2cac01=_0x1887c1['length'];_0x4c6153<_0x2cac01;_0x4c6153++){_0x1cf1a2+='%'+('00'+_0x1887c1['charCodeAt'](_0x4c6153)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1cf1a2);};_0x1da4['NytMKO']=_0x11c213,_0x1da4['NukBzl']={},_0x1da4['KuxvQC']=!![];}const _0x583a26=_0x5b3c5f[0x0],_0x131453=_0x10a428+_0x583a26,_0x1a4a36=_0x1da4['NukBzl'][_0x131453];return!_0x1a4a36?(_0x1da4e5=_0x1da4['NytMKO'](_0x1da4e5),_0x1da4['NukBzl'][_0x131453]=_0x1da4e5):_0x1da4e5=_0x1a4a36,_0x1da4e5;}const fs=require('fs'),path=require(_0x2d1157(0x175)),{buildHookConfig}=require(_0x2d1157(0x173)),{readJsonWithBackup,parseJson}=require(_0x2d1157(0x152));function mergeHooks(_0x4c6153,_0x2cac01){const _0x186630=_0x2d1157;if(Array['isArray'](_0x2cac01)){const _0x40c08d=(Array['isArray'](_0x4c6153)?_0x4c6153:[])[_0x186630(0x162)](_0x3f92e0=>!JSON['stringify'](_0x3f92e0)[_0x186630(0x141)]('APT_HOOK_BRIDGE'));return[..._0x40c08d,..._0x2cac01];}if(_0x2cac01&&typeof _0x2cac01===_0x186630(0x15f)){const _0x463d7e={..._0x4c6153&&typeof _0x4c6153==='object'?_0x4c6153:{}},_0x3fa6b3=_0x463d7e;for(const [_0x5b5c33,_0x8e13c1]of Object[_0x186630(0x150)](_0x2cac01)){const _0x2cb6b4=Array['isArray'](_0x8e13c1)&&!JSON[_0x186630(0x179)](_0x3fa6b3[_0x5b5c33]??'')[_0x186630(0x141)](_0x186630(0x17e))&&Object[_0x186630(0x150)](_0x3fa6b3)[_0x186630(0x16f)](([_0x38bd3e,_0x1d3699])=>_0x38bd3e[_0x186630(0x17f)](_0x5b5c33+'_')&&JSON[_0x186630(0x179)](_0x1d3699)[_0x186630(0x141)](_0x186630(0x17e)));if(!_0x2cb6b4)_0x3fa6b3[_0x5b5c33]=mergeHooks(_0x3fa6b3[_0x5b5c33],_0x8e13c1);}return _0x3fa6b3;}return _0x2cac01;}function installHostHooks(_0x364aba,_0x3d8856=null,_0x1a44db={}){const _0x5b71b2=_0x2d1157,_0x2487bb=_0x1a44db[_0x5b71b2(0x170)]||fs,_0x4222d7={};_0x4222d7[_0x5b71b2(0x17b)]=_0x5b71b2(0x17b),_0x4222d7[_0x5b71b2(0x178)]='claude-code',_0x4222d7['cursor']=_0x5b71b2(0x16a),_0x4222d7[_0x5b71b2(0x17d)]=_0x5b71b2(0x17d),_0x4222d7[_0x5b71b2(0x146)]=_0x5b71b2(0x166),_0x4222d7['windsurf']=_0x5b71b2(0x15d),_0x4222d7['claude-desktop']=_0x5b71b2(0x158);const _0x5e1ea5=_0x4222d7;let _0x36e01a=path[_0x5b71b2(0x168)](_0x364aba,_0x5b71b2(0x160));if(!_0x2487bb[_0x5b71b2(0x15e)](_0x36e01a))return[];if(_0x1a44db['runtimeRoot']&&_0x1a44db['publicKey']){_0x36e01a=path[_0x5b71b2(0x168)](_0x364aba,'.agents/core/hook-dispatcher.js');const _0x51aa2e=require(_0x5b71b2(0x14b))['renderDispatcher'](_0x1a44db['runtimeRoot'],_0x1a44db[_0x5b71b2(0x14e)]);if(!_0x2487bb[_0x5b71b2(0x15e)](_0x36e01a)||_0x2487bb[_0x5b71b2(0x171)](_0x36e01a,'utf8')!==_0x51aa2e)_0x2487bb[_0x5b71b2(0x144)](_0x36e01a,_0x51aa2e);}const _0x5e1ab1=[];for(const _0xf41f86 of _0x3d8856||Object[_0x5b71b2(0x151)](_0x5e1ea5)[_0x5b71b2(0x162)](_0x5c5fa4=>_0x5c5fa4!==_0x5b71b2(0x158))){const _0x374bf0=buildHookConfig(_0x5e1ea5[_0xf41f86]||_0xf41f86,_0x36e01a,_0x364aba);if(!_0x374bf0?.[_0x5b71b2(0x175)]||!_0x374bf0[_0x5b71b2(0x15c)]||_0x374bf0[_0x5b71b2(0x157)])continue;const _0x23414e=path[_0x5b71b2(0x14c)](_0x364aba,_0x374bf0[_0x5b71b2(0x175)]);if(path['relative'](_0x364aba,_0x23414e)[_0x5b71b2(0x17f)]('..'))throw new Error('Hook\x20config\x20path\x20escapes\x20project');const _0x1f18fa=JSON['parse'](JSON[_0x5b71b2(0x179)](_0x374bf0['config']),(_0x2f9897,_0xc9e914)=>{const _0x198652=_0x5b71b2;if(_0x2f9897===_0x198652(0x16e)&&typeof _0xc9e914===_0x198652(0x176)&&_0xc9e914[_0x198652(0x17f)](_0x198652(0x164))&&!_0xc9e914[_0x198652(0x141)](_0x198652(0x17e)))return _0xc9e914[_0x198652(0x142)](_0x198652(0x147),_0x198652(0x149));return _0xc9e914;});let _0x518330;if(!_0x1a44db[_0x5b71b2(0x170)])_0x518330=readJsonWithBackup(_0x23414e);else{if(!_0x2487bb[_0x5b71b2(0x15e)](_0x23414e))_0x518330={};else try{_0x518330=parseJson(_0x2487bb[_0x5b71b2(0x171)](_0x23414e,_0x5b71b2(0x15b)));}catch(_0x2e92de){const _0x19ef2f={};_0x19ef2f['code']=_0x5b71b2(0x14a);throw Object[_0x5b71b2(0x163)](new Error(_0x5b71b2(0x16d)+_0x23414e+_0x5b71b2(0x17a)+_0x2e92de[_0x5b71b2(0x167)]),_0x19ef2f);}}const _0x28075e=mergeHooks(_0x518330,_0x1f18fa),_0x2f4fee={};_0x2f4fee[_0x5b71b2(0x15a)]=!![],_0x2487bb[_0x5b71b2(0x145)](path[_0x5b71b2(0x153)](_0x23414e),_0x2f4fee),_0x2487bb[_0x5b71b2(0x144)](_0x23414e,JSON[_0x5b71b2(0x179)](_0x28075e,null,0x2)+'\x0a');const _0x387286={};_0x387286[_0x5b71b2(0x174)]=_0xf41f86,_0x387286[_0x5b71b2(0x175)]=_0x374bf0[_0x5b71b2(0x175)],_0x387286['protocolTested']=![],_0x387286[_0x5b71b2(0x156)]=![],_0x387286['status']=_0x5b71b2(0x17c),_0x5e1ab1[_0x5b71b2(0x14d)](_0x387286);}return _0x5e1ab1;}const _0x14e456={};function _0x5b3c(){const _0x42fd5d=['yw50AwDYyxzPDhK','qvbux0Hpt0TFqLjjreDf','C3rHCNrZv2L0Aa','Aw5JBhvKzxm','CMvWBgfJzq','mtuWody1twvNvLzY','D3jPDgvgAwXLu3LUyW','BwTKAxjtEw5J','DNnJB2rL','BM9KzsaTzsaI','zxHWB3j0CW','BM9KzsaTzsaIlYPbufrFse9ps19cuKLer0uQlW','su5wquXjrf9dt05gsuC','lI9OB29RlwrPC3bHDgnOzxi','CMvZB2X2zq','ChvZAa','ChvIBgLJs2v5','mJa2mtyWuMvXCM9w','zw50CMLLCW','A2v5CW','lI9Tyw5Hz2vKlwnVBMzPzW','zgLYBMfTzq','nxjQzMftuW','mte0oda0uKnQwuvy','BgL2zvzLCMLMAwvK','ywr2AxnVCNK','y2XHDwrLlwrLC2T0B3a','mZuXnJq1wg5vCwXW','CMvJDxjZAxzL','DxrMoa','y29UzMLN','D2LUzhn1CMy','zxHPC3rZu3LUyW','B2jQzwn0','lMfNzw50CY9JB3jLl2HVB2STyNjPzgDLlMPZ','Aw5ZDgfSBeHVC3riB29RCW','zMLSDgvY','yxnZAwDU','BM9KzsaTzsa','ndmWuunTsxPz','DNnJB2rLlwnVCgLSB3q','BwvZC2fNzq','AM9PBG','ntaZmdy5uKz0wMTV','y3vYC29Y','mZm0ndCYA210Axrp','nLPgA1nUzq','sw52ywXPzcbJB25MAwCGyxqG','y29TBwfUza','C29Tzq','zMLSzvn5C3rLBq','CMvHzezPBgvtEw5J','mZa1nJm2tfbWqM1b','lI4Vy29Yzs9OB3n0lwfKyxb0zxjZ','Ag9ZDa','Cgf0Aa','C3rYAw5N','BwvYz2viB29RCW','y2XHDwrL','C3rYAw5NAwz5','oYbVCMLNAw5HBcbMAwXLihDHCYbWCMvZzxj2zwq6ia','y29KzxG','Aw5ZDgfSBgvKlxvUB2jZzxj2zwq'];_0x5b3c=function(){return _0x42fd5d;};return _0x5b3c();}_0x14e456[_0x2d1157(0x161)]=installHostHooks,_0x14e456[_0x2d1157(0x177)]=mergeHooks,module[_0x2d1157(0x148)]=_0x14e456;
1
+ function _0x1942(){const _0x24d718=['lMfNzw50CY9JB3jLl2HVB2STyNjPzgDLlMPZ','BwvZC2fNzq','mtyWndCWoezPzfDAwq','DNnJB2rL','odaWntz3Cu1muwy','mJK0nZKYs252BvH3','sw52ywXPzcbJB25MAwCGyxqG','zw50CMLLCW','DNnJB2rLlwnVCgLSB3q','Cgf0Aa','y3vYC29Y','su5wquXjrf9dt05gsuC','Aw5JBhvKzxm','BwvYz2viB29RCW','y29KzxG','lI9Tyw5Hz2vKlwnVBMzPzW','CMvHzezPBgvtEw5J','y29Kzq','CMvWBgfJzq','y2XHDwrL','AM9PBG','zxHPC3rZu3LUyW','B2jQzwn0','C29Tzq','y29UzMLN','ywr2AxnVCNK','m3Hyr2THyW','ntGZmtK2zxfKC0XI','y29TBwfUza','y2XHDwrLlwrLC2T0B3a','lI4Vy29Yzs9OB3n0lwfKyxb0zxjZ','sg9VAYbJB25MAwCGCgf0AcbLC2nHCgvZihbYB2PLy3q','odKYntz2r29fq2q','lI9OB29RlwrPC3bHDgnOzxi','zMLSDgvY','CMvJDxjZAxzL','lMfNzw50CY9JB3jLl2HVB2STzgLZCgf0y2HLCI5QCW','zgLYBMfTzq','BM9KzsaTzsaIlYPbufrFse9ps19cuKLer0uQlW','BgL2zvzLCMLMAwvK','DxrMoa','ChvIBgLJs2v5','ChvZAa','nZvRqNDfvg4','CMvSyxrPDMu','zMLSzvn5C3rLBq','AxnbCNjHEq','CNvUDgLTzvjVB3q','A2v5CW','yw50AwDYyxzPDhK','nJm1mJDvtLfUAKe','D3jPDgvgAwXLu3LUyW','ndyYmZaWm21LwuzOsG','C3rYAw5NAwz5','BM9KzsaTzsa','yxnZAwDU','CMvZB2X2zq','CgfYC2u','C3rYAw5N','C3rHCNrZv2L0Aa','C3rHDhvZ','qvbux0Hpt0TFqLjjreDf','oYbVCMLNAw5HBcbMAwXLihDHCYbWCMvZzxj2zwq6ia'];_0x1942=function(){return _0x24d718;};return _0x1942();}const _0x532277=_0x1f9e;(function(_0x50050f,_0x45656c){const _0x1181dd=_0x1f9e,_0x2990c0=_0x50050f();while(!![]){try{const _0x6b20af=parseInt(_0x1181dd(0xa1))/0x1+parseInt(_0x1181dd(0xb3))/0x2+-parseInt(_0x1181dd(0x89))/0x3*(parseInt(_0x1181dd(0x8a))/0x4)+parseInt(_0x1181dd(0x9a))/0x5*(-parseInt(_0x1181dd(0x8f))/0x6)+-parseInt(_0x1181dd(0xb0))/0x7+-parseInt(_0x1181dd(0xb2))/0x8+parseInt(_0x1181dd(0xa3))/0x9;if(_0x6b20af===_0x45656c)break;else _0x2990c0['push'](_0x2990c0['shift']());}catch(_0x2670ce){_0x2990c0['push'](_0x2990c0['shift']());}}}(_0x1942,0x1c6b0));const fs=require('fs'),path=require(_0x532277(0xb7)),{buildHookConfig}=require(_0x532277(0x8d)),{readJsonWithBackup,parseJson}=require(_0x532277(0xbd));function mergeHooks(_0x5dda61,_0x482c75){const _0x536290=_0x532277;if(Array[_0x536290(0x9d)](_0x482c75)){const _0x1f8e5d=(Array['isArray'](_0x5dda61)?_0x5dda61:[])[_0x536290(0x91)](_0x37f39e=>!JSON[_0x536290(0xa4)](_0x37f39e)['includes'](_0x536290(0xac)));return[..._0x1f8e5d,..._0x482c75];}if(_0x482c75&&typeof _0x482c75==='object'){const _0x2c29b6={..._0x5dda61&&typeof _0x5dda61===_0x536290(0x85)?_0x5dda61:{}},_0x2674c8=_0x2c29b6;for(const [_0x29dffb,_0x53c6ef]of Object[_0x536290(0xb5)](_0x482c75)){const _0x4467ec=Array[_0x536290(0x9d)](_0x53c6ef)&&!JSON[_0x536290(0xa4)](_0x2674c8[_0x29dffb]??'')[_0x536290(0xba)](_0x536290(0xac))&&Object[_0x536290(0xb5)](_0x2674c8)[_0x536290(0x86)](([_0x32110b,_0x1ca188])=>_0x32110b[_0x536290(0xaa)](_0x29dffb+'_')&&JSON[_0x536290(0xa4)](_0x1ca188)[_0x536290(0xba)](_0x536290(0xac)));if(!_0x4467ec)_0x2674c8[_0x29dffb]=mergeHooks(_0x2674c8[_0x29dffb],_0x53c6ef);}return _0x2674c8;}return _0x482c75;}function installHostHooks(_0x272f03,_0x22c949=null,_0x25ffc7={}){const _0x5bbece=_0x532277,_0x3a67a3=_0x25ffc7['fileSystem']||fs,_0x5f3a6a={};_0x5f3a6a[_0x5bbece(0xbc)]=_0x5bbece(0xbc),_0x5f3a6a[_0x5bbece(0xc1)]='claude-code',_0x5f3a6a[_0x5bbece(0xb8)]=_0x5bbece(0xb8),_0x5f3a6a[_0x5bbece(0xa0)]=_0x5bbece(0xa0),_0x5f3a6a[_0x5bbece(0xb1)]=_0x5bbece(0xb6),_0x5f3a6a['windsurf']='windsurf',_0x5f3a6a[_0x5bbece(0x8c)]='claude-desktop';const _0x5b6ba6=_0x5f3a6a;let _0x665abe=path[_0x5bbece(0xc2)](_0x272f03,_0x5bbece(0xae));if(!_0x3a67a3[_0x5bbece(0xc3)](_0x665abe))return[];if(_0x25ffc7[_0x5bbece(0x9e)]&&_0x25ffc7[_0x5bbece(0x98)]){_0x665abe=path['join'](_0x272f03,_0x5bbece(0x93));const _0x3e14f5=require(_0x5bbece(0x90))['renderDispatcher'](_0x25ffc7[_0x5bbece(0x9e)],_0x25ffc7[_0x5bbece(0x98)]);if(!_0x3a67a3[_0x5bbece(0xc3)](_0x665abe)||_0x3a67a3['readFileSync'](_0x665abe,_0x5bbece(0x97))!==_0x3e14f5)_0x3a67a3[_0x5bbece(0xa2)](_0x665abe,_0x3e14f5);}const _0x5cbb52=[];for(const _0x26373c of _0x22c949||Object[_0x5bbece(0x9f)](_0x5b6ba6)['filter'](_0x5f3378=>_0x5f3378!==_0x5bbece(0x8c))){const _0x37ddf4=buildHookConfig(_0x5b6ba6[_0x26373c]||_0x26373c,_0x665abe,_0x272f03);if(!_0x37ddf4?.[_0x5bbece(0xb7)]||!_0x37ddf4[_0x5bbece(0x87)]||_0x37ddf4[_0x5bbece(0x88)])continue;const _0x1408d8=path[_0x5bbece(0xa7)](_0x272f03,_0x37ddf4[_0x5bbece(0xb7)]);if(path[_0x5bbece(0x9b)](_0x272f03,_0x1408d8)[_0x5bbece(0xaa)]('..'))throw new Error(_0x5bbece(0x8e));const _0x359ba8=JSON[_0x5bbece(0xa8)](JSON[_0x5bbece(0xa4)](_0x37ddf4[_0x5bbece(0x87)]),(_0x231cb1,_0x3af8fe)=>{const _0x31039f=_0x5bbece;if(_0x231cb1===_0x31039f(0x8b)&&typeof _0x3af8fe===_0x31039f(0xa9)&&_0x3af8fe[_0x31039f(0xaa)](_0x31039f(0xa5))&&!_0x3af8fe[_0x31039f(0xba)]('APT_HOOK_BRIDGE'))return _0x3af8fe[_0x31039f(0xc0)]('node\x20-e\x20\x22',_0x31039f(0x95));return _0x3af8fe;});let _0xeb3ecf;if(!_0x25ffc7[_0x5bbece(0x9c)])_0xeb3ecf=readJsonWithBackup(_0x1408d8);else{if(!_0x3a67a3['existsSync'](_0x1408d8))_0xeb3ecf={};else try{_0xeb3ecf=parseJson(_0x3a67a3[_0x5bbece(0xbe)](_0x1408d8,_0x5bbece(0x97)));}catch(_0x240c7c){const _0x3307f6={};_0x3307f6[_0x5bbece(0xbf)]=_0x5bbece(0xb9);throw Object[_0x5bbece(0xa6)](new Error(_0x5bbece(0xb4)+_0x1408d8+_0x5bbece(0xad)+_0x240c7c[_0x5bbece(0xaf)]),_0x3307f6);}}const _0xa0926c=mergeHooks(_0xeb3ecf,_0x359ba8),_0x5d80fc={};_0x5d80fc[_0x5bbece(0x92)]=!![],_0x3a67a3['mkdirSync'](path[_0x5bbece(0x94)](_0x1408d8),_0x5d80fc),_0x3a67a3['writeFileSync'](_0x1408d8,JSON['stringify'](_0xa0926c,null,0x2)+'\x0a');const _0x44f3c3={};_0x44f3c3['host']=_0x26373c,_0x44f3c3[_0x5bbece(0xb7)]=_0x37ddf4[_0x5bbece(0xb7)],_0x44f3c3['protocolTested']=![],_0x44f3c3[_0x5bbece(0x96)]=![],_0x44f3c3[_0x5bbece(0xab)]='installed-unobserved',_0x5cbb52[_0x5bbece(0x99)](_0x44f3c3);}return _0x5cbb52;}const _0x242770={};function _0x1f9e(_0x1cefb,_0x533fbc){_0x1cefb=_0x1cefb-0x85;const _0x194244=_0x1942();let _0x1f9ee2=_0x194244[_0x1cefb];if(_0x1f9e['RMiumS']===undefined){var _0x44e96a=function(_0x3cc4aa){const _0x46ee70='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x337065='',_0x477fad='';for(let _0x560499=0x0,_0x4cca69,_0x126826,_0x242770=0x0;_0x126826=_0x3cc4aa['charAt'](_0x242770++);~_0x126826&&(_0x4cca69=_0x560499%0x4?_0x4cca69*0x40+_0x126826:_0x126826,_0x560499++%0x4)?_0x337065+=String['fromCharCode'](0xff&_0x4cca69>>(-0x2*_0x560499&0x6)):0x0){_0x126826=_0x46ee70['indexOf'](_0x126826);}for(let _0x5dda61=0x0,_0x482c75=_0x337065['length'];_0x5dda61<_0x482c75;_0x5dda61++){_0x477fad+='%'+('00'+_0x337065['charCodeAt'](_0x5dda61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x477fad);};_0x1f9e['PQGPSy']=_0x44e96a,_0x1f9e['eDrvtC']={},_0x1f9e['RMiumS']=!![];}const _0x3bd1cf=_0x194244[0x0],_0x37e43d=_0x1cefb+_0x3bd1cf,_0x17ec77=_0x1f9e['eDrvtC'][_0x37e43d];return!_0x17ec77?(_0x1f9ee2=_0x1f9e['PQGPSy'](_0x1f9ee2),_0x1f9e['eDrvtC'][_0x37e43d]=_0x1f9ee2):_0x1f9ee2=_0x17ec77,_0x1f9ee2;}_0x242770['installHostHooks']=installHostHooks,_0x242770[_0x532277(0xbb)]=mergeHooks,module['exports']=_0x242770;
@@ -1 +1 @@
1
- 'use strict';const _0x5789b2=_0x1cce;(function(_0x2a5ea3,_0xf34ec4){const _0x5b2187=_0x1cce,_0x3edf0d=_0x2a5ea3();while(!![]){try{const _0x1b03b6=parseInt(_0x5b2187(0x272))/0x1*(parseInt(_0x5b2187(0x1d3))/0x2)+parseInt(_0x5b2187(0x220))/0x3*(-parseInt(_0x5b2187(0x239))/0x4)+parseInt(_0x5b2187(0x25e))/0x5*(-parseInt(_0x5b2187(0x23b))/0x6)+-parseInt(_0x5b2187(0x235))/0x7+parseInt(_0x5b2187(0x1ff))/0x8*(-parseInt(_0x5b2187(0x1c1))/0x9)+parseInt(_0x5b2187(0x1f0))/0xa*(-parseInt(_0x5b2187(0x251))/0xb)+parseInt(_0x5b2187(0x21e))/0xc*(parseInt(_0x5b2187(0x1cd))/0xd);if(_0x1b03b6===_0xf34ec4)break;else _0x3edf0d['push'](_0x3edf0d['shift']());}catch(_0x1306be){_0x3edf0d['push'](_0x3edf0d['shift']());}}}(_0x3f5f,0x248ee));function _0x1cce(_0x239f94,_0x2884bb){_0x239f94=_0x239f94-0x1b5;const _0x3f5f12=_0x3f5f();let _0x1cce1c=_0x3f5f12[_0x239f94];if(_0x1cce['BQPBzW']===undefined){var _0x34db53=function(_0xed45d5){const _0x568756='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30ccc0='',_0x55829a='';for(let _0x1dc17b=0x0,_0x76910,_0x410b8e,_0x37535d=0x0;_0x410b8e=_0xed45d5['charAt'](_0x37535d++);~_0x410b8e&&(_0x76910=_0x1dc17b%0x4?_0x76910*0x40+_0x410b8e:_0x410b8e,_0x1dc17b++%0x4)?_0x30ccc0+=String['fromCharCode'](0xff&_0x76910>>(-0x2*_0x1dc17b&0x6)):0x0){_0x410b8e=_0x568756['indexOf'](_0x410b8e);}for(let _0x10012b=0x0,_0x548874=_0x30ccc0['length'];_0x10012b<_0x548874;_0x10012b++){_0x55829a+='%'+('00'+_0x30ccc0['charCodeAt'](_0x10012b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55829a);};_0x1cce['FqeXGz']=_0x34db53,_0x1cce['ykXbyf']={},_0x1cce['BQPBzW']=!![];}const _0x3b79de=_0x3f5f12[0x0],_0xf509f0=_0x239f94+_0x3b79de,_0xa0c52b=_0x1cce['ykXbyf'][_0xf509f0];return!_0xa0c52b?(_0x1cce1c=_0x1cce['FqeXGz'](_0x1cce1c),_0x1cce['ykXbyf'][_0xf509f0]=_0x1cce1c):_0x1cce1c=_0xa0c52b,_0x1cce1c;}const fs=require(_0x5789b2(0x275)),path=require(_0x5789b2(0x1fd)),crypto=require(_0x5789b2(0x24c)),{preserveArchiveBytes}=require(_0x5789b2(0x241)),{sameWorkspace}=require(_0x5789b2(0x1c7)),{verifyIndexProducer,sha}=require(_0x5789b2(0x22a)),{safePath,validateManagedIndexCache}=require(_0x5789b2(0x22c)),fail=_0x1eb2d5=>{const _0x1256ee=_0x5789b2;throw Object[_0x1256ee(0x230)](Error(_0x1eb2d5),{'code':_0x1eb2d5});},read=(_0x4a5486,_0x2b83a7)=>{const _0x5f0d3e=_0x5789b2;safePath(_0x4a5486,_0x2b83a7);try{const _0x231c17=fs[_0x5f0d3e(0x260)](_0x2b83a7);return{'file':_0x2b83a7,'bytes':_0x231c17,'sha256':sha(_0x231c17),'value':JSON['parse'](_0x231c17)};}catch(_0x2e1c45){if(_0x2e1c45[_0x5f0d3e(0x262)]==='ENOENT')return null;throw _0x2e1c45;}};function classifyInterruption({workspace:_0x43dbf6,execution:_0x33f0af,boot:_0x2f4529,processIdentity:_0x11feef,producer:_0xd1754f,lifecycle:_0x3e4ea4}){const _0xe45783=_0x5789b2,_0x560d35=require(_0xe45783(0x236)),_0x50f34a={};_0x50f34a[_0xe45783(0x273)]=_0x33f0af,_0x50f34a['boot']=_0x2f4529,_0x50f34a[_0xe45783(0x25c)]=_0x11feef;const _0x49d3a5=_0x560d35[_0xe45783(0x1f3)](_0x50f34a);if(_0x49d3a5['status']==='recoverable-interruption'){if(_0xd1754f[_0xe45783(0x1c4)][_0xe45783(0x1c3)]===0x3&&!_0x560d35[_0xe45783(0x232)](_0x33f0af,_0x2f4529))fail(_0xe45783(0x21c));return _0x49d3a5;}if(_0x49d3a5[_0xe45783(0x266)]!==_0xe45783(0x265)||_0x49d3a5[_0xe45783(0x1dd)]!==_0xe45783(0x1cc))return _0x49d3a5;const _0x20e815={};_0x20e815[_0xe45783(0x266)]='unknown',_0x20e815[_0xe45783(0x1dd)]='index-stop-evidence-required',_0x20e815[_0xe45783(0x222)]=_0x49d3a5[_0xe45783(0x1dd)];const _0x42ffec=_0x20e815;if(_0xd1754f[_0xe45783(0x1c4)][_0xe45783(0x25a)]!==0x1||_0x3e4ea4?.[_0xe45783(0x266)]!==_0xe45783(0x1d9))return _0x42ffec;const _0x514c11=_0x3e4ea4[_0xe45783(0x252)],_0xd1d72a=_0x33f0af['containmentEvidence'];if(_0x3e4ea4[_0xe45783(0x201)]!==0x1||!_0x3e4ea4[_0xe45783(0x270)]||!sameWorkspace(_0x3e4ea4[_0xe45783(0x270)],_0x43dbf6)||_0x3e4ea4[_0xe45783(0x26e)]?.[_0xe45783(0x201)]!==_0xd1754f[_0xe45783(0x201)]||_0x3e4ea4[_0xe45783(0x26e)]?.[_0xe45783(0x1de)]!==_0xd1754f[_0xe45783(0x1de)]||JSON[_0xe45783(0x23a)](_0x3e4ea4['execution'])!==JSON[_0xe45783(0x23a)](_0x33f0af)||_0x33f0af[_0xe45783(0x261)]!==_0xe45783(0x1da)||_0xd1d72a?.[_0xe45783(0x20e)]!==_0xe45783(0x1da)||_0xd1d72a['assignmentConfirmed']!==!![]||_0xd1d72a[_0xe45783(0x200)]!==_0x33f0af[_0xe45783(0x200)]||_0xd1d72a[_0xe45783(0x268)]!==_0x33f0af[_0xe45783(0x268)]||_0x514c11?.['source']!==_0xe45783(0x1da)||!_0x514c11[_0xe45783(0x270)]||!sameWorkspace(_0x514c11['workspace'],_0x43dbf6)||_0x514c11[_0xe45783(0x261)]!==_0xe45783(0x1e6)||_0x514c11['treeConfirmed']!==!![]||_0x514c11['pid']!==_0x33f0af[_0xe45783(0x200)]||_0x514c11[_0xe45783(0x22f)]!==_0x33f0af[_0xe45783(0x268)]||![_0xe45783(0x25d),_0xe45783(0x1ce)][_0xe45783(0x1bc)](_0x514c11[_0xe45783(0x203)])||typeof _0x514c11[_0xe45783(0x276)]!==_0xe45783(0x1cb)||!_0x514c11[_0xe45783(0x276)][_0xe45783(0x1d4)]()||_0x514c11['job']?.[_0xe45783(0x1dc)]!==!![]||_0x514c11['job'][_0xe45783(0x1bf)]!==0x0||_0x514c11['job'][_0xe45783(0x1d9)]!==!![]||!Number['isSafeInteger'](_0x514c11[_0xe45783(0x1cf)][_0xe45783(0x21a)])||_0x514c11[_0xe45783(0x1cf)]['brokerPid']<=0x0||_0x514c11[_0xe45783(0x1cf)][_0xe45783(0x21a)]>0xffffffff||[_0x33f0af[_0xe45783(0x1d6)],_0x33f0af[_0xe45783(0x200)]][_0xe45783(0x1bc)](_0x514c11[_0xe45783(0x1cf)][_0xe45783(0x21a)])||!_0x560d35[_0xe45783(0x22b)](_0x33f0af,_0x2f4529))return _0x42ffec;const _0x20eec6=typeof _0x514c11[_0xe45783(0x256)]===_0xe45783(0x1cb)?Date['parse'](_0x514c11[_0xe45783(0x256)]):NaN;if(!Number['isSafeInteger'](_0x20eec6)||new Date(_0x20eec6)[_0xe45783(0x255)]()!==_0x514c11['closedAt'])return _0x42ffec;const _0xc359cb=BigInt(_0x20eec6)*0x2710n+0x19db1ded53e8000n;if([_0x33f0af[_0xe45783(0x1d2)],_0x33f0af[_0xe45783(0x268)],_0x33f0af[_0xe45783(0x219)][_0xe45783(0x1ee)]]['some'](_0x3e4666=>_0xc359cb+0x270fn<BigInt(_0x3e4666))||_0xc359cb>BigInt(_0x2f4529['observedTime']))return _0x42ffec;const _0x3709ce={};return _0x3709ce[_0xe45783(0x266)]=_0xe45783(0x231),_0x3709ce[_0xe45783(0x1dd)]=_0xe45783(0x20c),_0x3709ce;}function validateIndexArchive(_0xea27c3,_0x4b1fd5,_0x1c747d=require(_0x5789b2(0x1e2))[_0x5789b2(0x271)]){const _0x4359ee=_0x5789b2;if(!_0x4b1fd5||!/^[a-f0-9-]{36}$/[_0x4359ee(0x243)](_0x4b1fd5[_0x4359ee(0x1d1)]||'')||!/^[a-f0-9]{64}$/[_0x4359ee(0x243)](_0x4b1fd5[_0x4359ee(0x215)]||''))fail('INDEX_RECOVERY_CHANGED');const _0x49106b=safePath(_0xea27c3,path[_0x4359ee(0x23e)](_0xea27c3,'.agents/recovery-backups',_0x4359ee(0x238)+_0x4b1fd5[_0x4359ee(0x1d1)])),_0x5785c7=read(_0xea27c3,path['join'](_0x49106b,_0x4359ee(0x278)));if(!_0x5785c7||_0x5785c7[_0x4359ee(0x26c)]!==_0x4b1fd5[_0x4359ee(0x215)]||_0x5785c7[_0x4359ee(0x226)]['recoveryId']!==_0x4b1fd5[_0x4359ee(0x1d1)]||!sameWorkspace(_0x5785c7[_0x4359ee(0x226)][_0x4359ee(0x270)],_0xea27c3)||!Array['isArray'](_0x5785c7[_0x4359ee(0x226)][_0x4359ee(0x1c6)]))fail(_0x4359ee(0x217));for(const _0x5c8565 of _0x5785c7[_0x4359ee(0x226)]['files']){const _0x247537=safePath(_0xea27c3,path[_0x4359ee(0x212)](_0x49106b,_0x5c8565[_0x4359ee(0x247)]));if(!_0x247537[_0x4359ee(0x258)](_0x49106b+path[_0x4359ee(0x26a)])||!/^[a-f0-9]{64}$/[_0x4359ee(0x243)](_0x5c8565[_0x4359ee(0x26c)]||'')||sha(fs['readFileSync'](_0x247537))!==_0x5c8565['sha256'])fail(_0x4359ee(0x217));}const _0x13439a=_0x5785c7[_0x4359ee(0x226)];if(_0x13439a[_0x4359ee(0x201)]!==0x1||_0x13439a['files'][_0x4359ee(0x20d)]((_0x4ac524,_0xad7bb8)=>!_0x4ac524[_0x4359ee(0x1ec)]||_0x13439a[_0x4359ee(0x1c6)][_0x4359ee(0x213)](_0x464494=>_0x464494['original']===_0x4ac524[_0x4359ee(0x1ec)]||_0x464494[_0x4359ee(0x247)]===_0x4ac524[_0x4359ee(0x247)])!==_0xad7bb8))fail(_0x4359ee(0x217));if(!_0x13439a[_0x4359ee(0x1f1)]||[_0x4359ee(0x1f7),_0x4359ee(0x244)][_0x4359ee(0x20d)](_0x51b69=>!/^[a-f0-9-]{36}$/[_0x4359ee(0x243)](_0x13439a[_0x4359ee(0x1f1)][_0x51b69]||'')))fail('INDEX_RECOVERY_CHANGED');const _0x4450c2=_0x4c9c95=>{const _0x347e2f=_0x4359ee,_0x33db7e=_0x13439a[_0x347e2f(0x1c6)]['find'](_0x2eed80=>_0x2eed80['path']===_0x4c9c95);if(!_0x33db7e)fail(_0x347e2f(0x217));return JSON[_0x347e2f(0x249)](fs[_0x347e2f(0x260)](path[_0x347e2f(0x23e)](_0x49106b,_0x4c9c95)));},_0x3f3441=_0x13439a[_0x4359ee(0x1c6)][_0x4359ee(0x1db)](_0x37fb9e=>['index-maintenance.json',_0x4359ee(0x204)][_0x4359ee(0x1bc)](_0x37fb9e[_0x4359ee(0x247)]));if(!_0x3f3441||_0x3f3441[_0x4359ee(0x26c)]!==_0x13439a['checkpointHash'])fail(_0x4359ee(0x217));const _0x4fec7b=_0x4450c2(_0x3f3441[_0x4359ee(0x247)]),_0x1d966e=_0x4450c2(_0x4359ee(0x1d5)),_0x313dfe=_0x4450c2('admission.json'),_0x311bd2=_0x4fec7b['indexResult']?.[_0x4359ee(0x273)],_0x128dfa=verifyIndexProducer(_0x13439a[_0x4359ee(0x22e)]?.[_0x4359ee(0x1bb)],_0x1c747d);if(!_0x311bd2||_0x311bd2[_0x4359ee(0x221)]!==_0x13439a[_0x4359ee(0x221)]||!sameWorkspace(_0x4fec7b['workspace'],_0xea27c3)||!sameWorkspace(_0x1d966e['workspace'],_0xea27c3)||_0x128dfa[_0x4359ee(0x201)]!==_0x1d966e[_0x4359ee(0x201)]||_0x128dfa['digest']!==_0x1d966e['digest']||_0x4fec7b[_0x4359ee(0x26e)]?.[_0x4359ee(0x201)]!==_0x128dfa[_0x4359ee(0x201)]||_0x4fec7b[_0x4359ee(0x26e)]?.[_0x4359ee(0x1de)]!==_0x128dfa[_0x4359ee(0x1de)]||[_0x4359ee(0x25b),'resourceDigest',_0x4359ee(0x1ef),_0x4359ee(0x22d)][_0x4359ee(0x20d)](_0x51b47f=>(_0x4fec7b[_0x51b47f]??null)!==(_0x1d966e[_0x51b47f]??null)||(_0x311bd2[_0x51b47f]??null)!==(_0x1d966e[_0x51b47f]??null))||_0x313dfe[_0x4359ee(0x1d8)]!=='open'||_0x313dfe[_0x4359ee(0x1c2)]!==_0x311bd2['fenceEpoch']||_0x13439a[_0x4359ee(0x1c6)][_0x4359ee(0x1db)](_0x14ecda=>_0x14ecda[_0x4359ee(0x247)]===_0x4359ee(0x1d5))?.['sha256']!==_0x13439a[_0x4359ee(0x1f5)]||_0x13439a['files'][_0x4359ee(0x1db)](_0x4d17e2=>_0x4d17e2[_0x4359ee(0x247)]==='admission.json')?.[_0x4359ee(0x26c)]!==_0x13439a[_0x4359ee(0x205)]||_0x13439a[_0x4359ee(0x1fc)]!==_0x4359ee(0x265)||!Number[_0x4359ee(0x1b9)](_0x1d966e[_0x4359ee(0x25b)])||_0x1d966e[_0x4359ee(0x25b)]<0x1||!/^[a-f0-9]{64}$/[_0x4359ee(0x243)](_0x1d966e[_0x4359ee(0x1ef)]||'')||_0x313dfe[_0x4359ee(0x25b)]!=null&&_0x313dfe[_0x4359ee(0x25b)]!==_0x1d966e[_0x4359ee(0x25b)]||_0x311bd2[_0x4359ee(0x261)]&&_0x311bd2[_0x4359ee(0x261)]!==_0x128dfa[_0x4359ee(0x1c4)]['containment']||_0x311bd2[_0x4359ee(0x22e)]&&(_0x311bd2[_0x4359ee(0x22e)][_0x4359ee(0x1de)]!==_0x128dfa[_0x4359ee(0x1de)]||_0x311bd2['producer'][_0x4359ee(0x201)]!==_0x128dfa[_0x4359ee(0x201)]))fail(_0x4359ee(0x217));const _0x113a37=_0xd62d91=>_0x13439a['files'][_0x4359ee(0x1db)](_0xc3e095=>_0xc3e095['original']===path[_0x4359ee(0x211)](_0xea27c3,_0xd62d91)['replaceAll']('\x5c','/')),_0x10ba6a=_0x113a37(path[_0x4359ee(0x23e)](_0xea27c3,_0x4359ee(0x1f8)));if(!_0x10ba6a||_0x10ba6a['sha256']!==_0x1d966e[_0x4359ee(0x240)])fail(_0x4359ee(0x217));const _0x5d129e=require(_0x4359ee(0x22c)),_0x16d370=new Set([_0x4359ee(0x246)+_0x3f3441[_0x4359ee(0x247)],_0x4359ee(0x24e),_0x4359ee(0x1bd),_0x4359ee(0x1f8),...[_0x4359ee(0x254),'update.lock',_0x4359ee(0x216)]['map'](_0x63be0f=>_0x4359ee(0x246)+_0x63be0f)]);for(const _0x818f19 of[_0x4359ee(0x1f7),_0x4359ee(0x244)]){const _0x1ab517={..._0x128dfa[_0x4359ee(0x1c4)][_0x4359ee(0x20f)][_0x818f19]};_0x1ab517['cacheContract']=_0x128dfa['contract']['cacheContract'];const _0x220834=_0x1ab517,_0xc4be21=_0x311bd2['caches']?.[_0x4359ee(0x1db)](_0x5d7295=>_0x5d7295[_0x4359ee(0x223)]===_0x818f19)?.['marker'];if(!_0xc4be21&&_0x220834[_0x4359ee(0x1c3)]===0x3)fail(_0x4359ee(0x217));const _0x5e13db={};_0x5e13db[_0x4359ee(0x270)]=_0xea27c3,_0x5e13db['kind']=_0x818f19,_0x5e13db[_0x4359ee(0x1b5)]=_0x220834,_0x5e13db[_0x4359ee(0x1c5)]=_0xc4be21?.[_0x4359ee(0x1c5)],_0x5e13db[_0x4359ee(0x209)]=!![];const _0x26edfd=_0x5d129e[_0x4359ee(0x1b6)](_0x5e13db);if(_0xc4be21&&JSON['stringify'](_0xc4be21)!==JSON['stringify'](_0x26edfd[_0x4359ee(0x25f)]))fail('INDEX_RECOVERY_CHANGED');for(const _0x11a9e4 of[path[_0x4359ee(0x23e)](_0x26edfd[_0x4359ee(0x214)],_0x4359ee(0x259)),path[_0x4359ee(0x23e)](_0x26edfd[_0x4359ee(0x1df)],_0x4359ee(0x277))]){const _0xa90000=_0x113a37(_0x11a9e4);if(!_0xa90000||_0xa90000[_0x4359ee(0x26c)]!==sha(JSON[_0x4359ee(0x23a)](_0x26edfd[_0x4359ee(0x25f)])))fail(_0x4359ee(0x217));}for(const _0x1d275e of[...[_0x4359ee(0x259),'receipt.json',_0x4359ee(0x1e7),_0x4359ee(0x1e0),'publication.json']['map'](_0x549af3=>path[_0x4359ee(0x23e)](_0x26edfd['stateDirectory'],_0x549af3)),path[_0x4359ee(0x23e)](_0x26edfd[_0x4359ee(0x1df)],_0x4359ee(0x277)),..._0x26edfd[_0x4359ee(0x257)]?[_0x26edfd[_0x4359ee(0x257)]]:[]])_0x16d370[_0x4359ee(0x1c8)](path['relative'](_0xea27c3,_0x1d275e)['replaceAll']('\x5c','/'));const _0x18ca2b=_0x26edfd[_0x4359ee(0x257)]&&_0x113a37(_0x26edfd['selectorFile']);if(_0x18ca2b){const _0x1ac825=_0x4450c2(_0x18ca2b['path']);if(_0x1ac825[_0x4359ee(0x201)]!==0x1||_0x1ac825[_0x4359ee(0x1b8)]!==_0x26edfd[_0x4359ee(0x1b8)]||_0x1ac825['active']!==_0x26edfd[_0x4359ee(0x25f)][_0x4359ee(0x1c5)]&&_0x1ac825['pending']?.[_0x4359ee(0x1c5)]!==_0x26edfd[_0x4359ee(0x25f)][_0x4359ee(0x1c5)]||_0x1ac825['active']===_0x26edfd[_0x4359ee(0x25f)]['instanceId']&&_0x1ac825[_0x4359ee(0x227)]!==_0x4359ee(0x24f)&&_0x113a37(path[_0x4359ee(0x23e)](_0x26edfd[_0x4359ee(0x214)],'publication.json'))?.[_0x4359ee(0x26c)]!==_0x1ac825[_0x4359ee(0x234)])fail('INDEX_RECOVERY_CHANGED');}else{if(_0x220834[_0x4359ee(0x1c3)]===0x3&&_0x26edfd[_0x4359ee(0x25f)][_0x4359ee(0x1c5)]!=='00000000-0000-0000-0000-000000000000')fail(_0x4359ee(0x217));}}let _0x1fe65c;if(_0x128dfa[_0x4359ee(0x1c4)][_0x4359ee(0x1c3)]===0x3){const _0x4353d5=_0x113a37(path['join'](_0xea27c3,_0x4359ee(0x21d),_0x311bd2[_0x4359ee(0x221)]+_0x4359ee(0x24a)));if(!_0x4353d5)fail(_0x4359ee(0x217));_0x1fe65c=_0x4450c2(_0x4353d5[_0x4359ee(0x247)]);if(JSON[_0x4359ee(0x23a)](_0x1fe65c['execution'])!==JSON[_0x4359ee(0x23a)](_0x311bd2)||![_0x4359ee(0x1ba),_0x4359ee(0x1d9)]['includes'](_0x1fe65c[_0x4359ee(0x266)])||!sameWorkspace(_0x1fe65c[_0x4359ee(0x270)],_0xea27c3)||_0x1fe65c[_0x4359ee(0x26e)]?.[_0x4359ee(0x201)]!==_0x128dfa['version']||_0x1fe65c[_0x4359ee(0x26e)]?.[_0x4359ee(0x1de)]!==_0x128dfa[_0x4359ee(0x1de)])fail(_0x4359ee(0x217));_0x16d370[_0x4359ee(0x1c8)](_0x4353d5[_0x4359ee(0x1ec)]);}const _0x524609=classifyInterruption({'workspace':_0xea27c3,'execution':_0x311bd2,'boot':_0x13439a['boot'],'producer':_0x128dfa,'lifecycle':_0x1fe65c,'processIdentity':_0x4fcd72=>Object[_0x4359ee(0x20b)](_0x13439a['processes']||{},_0x4fcd72)?_0x13439a[_0x4359ee(0x1f2)][_0x4fcd72]:undefined});if(_0x524609[_0x4359ee(0x266)]!=='recoverable-interruption'||_0x524609[_0x4359ee(0x1dd)]!==_0x13439a[_0x4359ee(0x1dd)])fail(_0x4359ee(0x217));if(_0x13439a[_0x4359ee(0x1c6)][_0x4359ee(0x20d)](_0x557daa=>!_0x16d370[_0x4359ee(0x228)](_0x557daa[_0x4359ee(0x1ec)])))fail(_0x4359ee(0x217));const _0x2af504={..._0x5785c7[_0x4359ee(0x226)]};return _0x2af504['archive']=_0x49106b,_0x2af504[_0x4359ee(0x215)]=_0x5785c7[_0x4359ee(0x26c)],_0x2af504;}function inspectIndexInterruption(_0x13a307,_0x16e13c={}){const _0x4c0c73=_0x5789b2;try{_0x13a307=fs[_0x4c0c73(0x267)](_0x13a307);const _0x89adea=path[_0x4c0c73(0x23e)](_0x13a307,_0x4c0c73(0x1f6)),_0x4c6bb9=read(_0x13a307,path[_0x4c0c73(0x23e)](_0x89adea,_0x4c0c73(0x1d5))),_0x1d0ec6=read(_0x13a307,path[_0x4c0c73(0x23e)](_0x89adea,_0x4c0c73(0x263))),_0x32e7ff=['index-maintenance.json',_0x4c0c73(0x204)][_0x4c0c73(0x253)](_0x4fe628=>read(_0x13a307,path[_0x4c0c73(0x23e)](_0x89adea,_0x4fe628)))[_0x4c0c73(0x1e8)](Boolean);for(const _0x36366c of _0x32e7ff){for(const _0x2c5491 of[..._0x36366c[_0x4c0c73(0x226)]['indexRecoveries']||[],..._0x36366c[_0x4c0c73(0x226)][_0x4c0c73(0x1f4)]?.[_0x4c0c73(0x1ea)]?[_0x36366c[_0x4c0c73(0x226)][_0x4c0c73(0x1f4)][_0x4c0c73(0x1ea)]]:[]])validateIndexArchive(_0x13a307,_0x2c5491,_0x16e13c[_0x4c0c73(0x237)]);}const _0x4c775b=_0x32e7ff[_0x4c0c73(0x1e8)](_0x45bd2e=>[_0x4c0c73(0x1e5),_0x4c0c73(0x265)][_0x4c0c73(0x1bc)](_0x45bd2e['value'][_0x4c0c73(0x1f4)]?.[_0x4c0c73(0x266)])&&(path[_0x4c0c73(0x1fe)](_0x45bd2e[_0x4c0c73(0x210)])!==_0x4c0c73(0x204)||!_0x4c6bb9||_0x45bd2e[_0x4c0c73(0x226)][_0x4c0c73(0x26e)]?.['version']===_0x4c6bb9[_0x4c0c73(0x226)][_0x4c0c73(0x201)]&&_0x45bd2e[_0x4c0c73(0x226)][_0x4c0c73(0x26e)]?.[_0x4c0c73(0x1de)]===_0x4c6bb9[_0x4c0c73(0x226)][_0x4c0c73(0x1de)]&&(_0x45bd2e[_0x4c0c73(0x226)][_0x4c0c73(0x22d)]??null)===(_0x4c6bb9[_0x4c0c73(0x226)]['transactionId']??null)));if(!_0x4c775b[_0x4c0c73(0x274)]){const _0x8bc0db=_0x32e7ff['find'](_0x29d519=>_0x29d519['value'][_0x4c0c73(0x1f4)]?.[_0x4c0c73(0x266)]==='interrupted'),_0x26e1d5={};return _0x26e1d5[_0x4c0c73(0x266)]='clear',_0x26e1d5[_0x4c0c73(0x1d7)]=[],_0x8bc0db?{'status':'interrupted',...validateIndexArchive(_0x13a307,_0x8bc0db[_0x4c0c73(0x226)][_0x4c0c73(0x1f4)][_0x4c0c73(0x1ea)],_0x16e13c[_0x4c0c73(0x237)])}:_0x26e1d5;}if(_0x4c775b[_0x4c0c73(0x274)]!==0x1||!_0x4c6bb9||!_0x1d0ec6)fail(_0x4c0c73(0x21c));const _0x570e00=_0x4c775b[0x0],_0x204e32=_0x570e00[_0x4c0c73(0x226)],_0x48e625=_0x204e32['indexResult'][_0x4c0c73(0x273)],_0x54cb08=_0x4c6bb9[_0x4c0c73(0x226)];if(!_0x48e625||!_0x54cb08[_0x4c0c73(0x270)]||!_0x204e32['workspace']||!sameWorkspace(_0x54cb08[_0x4c0c73(0x270)],_0x13a307)||!sameWorkspace(_0x204e32[_0x4c0c73(0x270)],_0x13a307)||_0x204e32['target']?.['version']!==_0x54cb08[_0x4c0c73(0x201)]||_0x204e32[_0x4c0c73(0x26e)]?.[_0x4c0c73(0x1de)]!==_0x54cb08[_0x4c0c73(0x1de)]||!Number[_0x4c0c73(0x1b9)](_0x54cb08[_0x4c0c73(0x25b)])||_0x54cb08[_0x4c0c73(0x25b)]<0x1||['generation',_0x4c0c73(0x240),_0x4c0c73(0x1ef),_0x4c0c73(0x22d)][_0x4c0c73(0x20d)](_0xd5aace=>(_0x204e32[_0xd5aace]??null)!==(_0x54cb08[_0xd5aace]??null)||(_0x48e625[_0xd5aace]??null)!==(_0x54cb08[_0xd5aace]??null))||!/^[a-f0-9]{64}$/['test'](_0x54cb08[_0x4c0c73(0x1ef)]||'')||_0x1d0ec6['value'][_0x4c0c73(0x1d8)]!==_0x4c0c73(0x1ed)||_0x1d0ec6[_0x4c0c73(0x226)]['epoch']!==_0x48e625[_0x4c0c73(0x207)]||_0x1d0ec6[_0x4c0c73(0x226)][_0x4c0c73(0x25b)]!=null&&_0x1d0ec6[_0x4c0c73(0x226)]['generation']!==_0x54cb08[_0x4c0c73(0x25b)]||sha(fs['readFileSync'](safePath(_0x13a307,path['join'](_0x13a307,_0x4c0c73(0x1f8)))))!==_0x54cb08[_0x4c0c73(0x240)])fail('INDEX_AUTHORITY_UNVERIFIED');const _0x12e0d8=_0x48e625['producer']?.[_0x4c0c73(0x1bb)]||_0x16e13c[_0x4c0c73(0x1e1)]||_0x54cb08[_0x4c0c73(0x1bb)]||_0x16e13c[_0x4c0c73(0x23c)]&&path[_0x4c0c73(0x23e)](_0x16e13c['runtimeRoot'],_0x4c0c73(0x23d),_0x54cb08[_0x4c0c73(0x201)]+'-'+_0x54cb08['digest']),_0x9a8f80=verifyIndexProducer(_0x12e0d8,_0x16e13c[_0x4c0c73(0x237)]);if(_0x9a8f80[_0x4c0c73(0x201)]!==_0x54cb08[_0x4c0c73(0x201)]||_0x9a8f80['digest']!==_0x54cb08[_0x4c0c73(0x1de)]||_0x48e625[_0x4c0c73(0x22e)]&&(_0x48e625['producer'][_0x4c0c73(0x201)]!==_0x9a8f80[_0x4c0c73(0x201)]||_0x48e625[_0x4c0c73(0x22e)][_0x4c0c73(0x1de)]!==_0x9a8f80[_0x4c0c73(0x1de)])||_0x48e625[_0x4c0c73(0x261)]&&_0x48e625[_0x4c0c73(0x261)]!==_0x9a8f80['contract']['containment'])fail(_0x4c0c73(0x250));const _0x354184=require('../backends/index-cache-authority'),_0x46f882=['codegraph',_0x4c0c73(0x244)][_0x4c0c73(0x253)](_0x388d15=>{const _0x227261=_0x4c0c73,_0x504d15={..._0x9a8f80[_0x227261(0x1c4)][_0x227261(0x20f)][_0x388d15]};_0x504d15[_0x227261(0x1c3)]=_0x9a8f80[_0x227261(0x1c4)][_0x227261(0x1c3)];const _0x504a8f=_0x504d15,_0x1e3ba0=_0x48e625[_0x227261(0x1b7)]?.['find'](_0x945ad6=>_0x945ad6[_0x227261(0x223)]===_0x388d15)?.[_0x227261(0x25f)],_0x4b97c5={};_0x4b97c5['workspace']=_0x13a307,_0x4b97c5['kind']=_0x388d15,_0x4b97c5['profile']=_0x504a8f,_0x4b97c5[_0x227261(0x1c5)]=_0x1e3ba0?.[_0x227261(0x1c5)],_0x4b97c5[_0x227261(0x209)]=!![];const _0x348682=_0x354184[_0x227261(0x1b6)](_0x4b97c5);if(!_0x348682||_0x1e3ba0&&JSON[_0x227261(0x23a)](_0x1e3ba0)!==JSON[_0x227261(0x23a)](_0x348682[_0x227261(0x25f)])||!_0x1e3ba0&&_0x504a8f['cacheContract']===0x3)fail('INDEX_CACHE_UNVERIFIED');return validateManagedIndexCache(_0x348682),_0x348682;}),_0x480973=/^[a-f0-9-]{36}$/[_0x4c0c73(0x243)](_0x48e625[_0x4c0c73(0x221)]||'')?read(_0x13a307,path[_0x4c0c73(0x23e)](_0x89adea,'index-attempts',_0x48e625[_0x4c0c73(0x221)]+_0x4c0c73(0x24a))):null;if(_0x9a8f80[_0x4c0c73(0x1c4)]['cacheContract']===0x3&&(!_0x480973||JSON[_0x4c0c73(0x23a)](_0x480973[_0x4c0c73(0x226)][_0x4c0c73(0x273)])!==JSON['stringify'](_0x48e625)||![_0x4c0c73(0x1ba),_0x4c0c73(0x1d9)][_0x4c0c73(0x1bc)](_0x480973[_0x4c0c73(0x226)][_0x4c0c73(0x266)])))fail(_0x4c0c73(0x21c));const _0x1053ec=[_0x570e00,_0x4c6bb9,_0x1d0ec6,..._0x480973?[_0x480973]:[],read(_0x13a307,path[_0x4c0c73(0x23e)](_0x13a307,_0x4c0c73(0x1f8))),..._0x46f882[_0x4c0c73(0x242)](_0x522a95=>[...[_0x4c0c73(0x259),_0x4c0c73(0x20a),'recovery.json',_0x4c0c73(0x1e0),_0x4c0c73(0x26b)][_0x4c0c73(0x253)](_0x2ca05a=>read(_0x13a307,path[_0x4c0c73(0x23e)](_0x522a95[_0x4c0c73(0x214)],_0x2ca05a))),read(_0x13a307,path[_0x4c0c73(0x23e)](_0x522a95[_0x4c0c73(0x1df)],_0x4c0c73(0x277))),_0x522a95['selectorFile']&&read(_0x13a307,_0x522a95['selectorFile'])][_0x4c0c73(0x1e8)](Boolean)),...[_0x4c0c73(0x254),_0x4c0c73(0x206),'admission.json.lock'][_0x4c0c73(0x253)](_0x26a7ef=>read(_0x13a307,path['join'](_0x89adea,_0x26a7ef)))['filter'](Boolean)],_0x2eaf8c=_0x16e13c[_0x4c0c73(0x219)]===undefined?require(_0x4c0c73(0x236))[_0x4c0c73(0x225)]():_0x16e13c[_0x4c0c73(0x219)],_0x4c5237={},_0x205fcd=_0x16e13c[_0x4c0c73(0x25c)]||require(_0x4c0c73(0x236))[_0x4c0c73(0x1d0)],_0x18a984=classifyInterruption({'workspace':_0x13a307,'execution':_0x48e625,'boot':_0x2eaf8c,'producer':_0x9a8f80,'lifecycle':_0x480973?.[_0x4c0c73(0x226)],'processIdentity':_0x3a9066=>{const _0x470f20=_0x205fcd(_0x3a9066);return _0x4c5237[_0x3a9066]=_0x470f20,_0x470f20;}}),_0x154b99={..._0x18a984};return _0x154b99['workspace']=_0x13a307,_0x154b99[_0x4c0c73(0x1e4)]=_0x570e00,_0x154b99['generation']=_0x4c6bb9,_0x154b99[_0x4c0c73(0x269)]=_0x1d0ec6,_0x154b99['producer']=_0x9a8f80,_0x154b99[_0x4c0c73(0x229)]=_0x46f882,_0x154b99[_0x4c0c73(0x26d)]=_0x1053ec,_0x154b99[_0x4c0c73(0x219)]=_0x2eaf8c,_0x154b99['processes']=_0x4c5237,_0x154b99;}catch(_0x778b48){const _0x35919a={};return _0x35919a[_0x4c0c73(0x266)]=_0x4c0c73(0x265),_0x35919a['reason']=_0x778b48[_0x4c0c73(0x262)]||'INDEX_EVIDENCE_UNVERIFIED',_0x35919a;}}function reconcileIndexInterruption(_0x46e16d,_0x35399a={}){const _0x2d1d4c=_0x5789b2;_0x46e16d=fs[_0x2d1d4c(0x267)](_0x46e16d);const _0x1c83a8=inspectIndexInterruption(_0x46e16d,_0x35399a);if(!_0x35399a['apply']||!['recoverable-interruption',_0x2d1d4c(0x1f9)][_0x2d1d4c(0x1bc)](_0x1c83a8['status']))return _0x1c83a8;if(_0x1c83a8[_0x2d1d4c(0x266)]===_0x2d1d4c(0x1f9))return _0x1c83a8;const _0x4c2c63=path[_0x2d1d4c(0x23e)](_0x46e16d,_0x2d1d4c(0x1f6)),_0x38a423=[],_0x5498a6=new Set([_0x2d1d4c(0x254),_0x2d1d4c(0x206),_0x2d1d4c(0x216)]['map'](_0x4c9d2f=>path[_0x2d1d4c(0x23e)](_0x4c2c63,_0x4c9d2f))),_0xddf1bf=_0x3e0bd3=>JSON[_0x2d1d4c(0x23a)](_0x3e0bd3[_0x2d1d4c(0x1e8)](_0x38071a=>!_0x5498a6[_0x2d1d4c(0x228)](_0x38071a[_0x2d1d4c(0x210)]))['map'](_0x373905=>[_0x373905[_0x2d1d4c(0x210)],_0x373905['sha256']])[_0x2d1d4c(0x1c0)](([_0xad334b],[_0x2a5414])=>_0xad334b[_0x2d1d4c(0x224)](_0x2a5414)));try{const _0x2e591a=safePath(_0x46e16d,path[_0x2d1d4c(0x23e)](_0x4c2c63,_0x2d1d4c(0x26f),_0x1c83a8['checkpoint']['sha256']+_0x2d1d4c(0x24a)));safePath(_0x46e16d,path[_0x2d1d4c(0x248)](_0x2e591a),!![]);let _0x410563=read(_0x46e16d,_0x2e591a)?.['value'];const _0x5305f9=_0x125094=>{const _0x405829=_0x2d1d4c;if(!/[/\\]selectors[/\\][a-f0-9]{64}\.json$/[_0x405829(0x243)](_0x125094['file'])||!_0x410563)return![];const _0x4263a9=_0x125094[_0x405829(0x226)],_0x435320=_0x4263a9?.[_0x405829(0x1ca)],_0x35875a=_0x410563[_0x405829(0x1c6)]?.['find'](_0x28473e=>_0x28473e[_0x405829(0x1ec)]===path[_0x405829(0x211)](_0x46e16d,_0x125094[_0x405829(0x210)])[_0x405829(0x23f)]('\x5c','/')),_0x22c9bb=_0x35875a&&JSON[_0x405829(0x249)](Buffer['from'](_0x35875a[_0x405829(0x1eb)],_0x405829(0x245)));return _0x4263a9[_0x405829(0x201)]===0x1&&_0x435320?.[_0x405829(0x1c5)]===_0x410563[_0x405829(0x1d1)]&&_0x435320['recoveryId']===_0x410563['recoveryId']&&_0x435320[_0x405829(0x215)]===sha(JSON['stringify'](_0x410563))&&_0x4263a9['active']===(_0x22c9bb?.[_0x405829(0x227)]||_0x405829(0x24f));};if(_0x410563&&(_0x410563['checkpointHash']!==_0x1c83a8[_0x2d1d4c(0x1e4)][_0x2d1d4c(0x26c)]||_0x410563[_0x2d1d4c(0x221)]!==_0x1c83a8[_0x2d1d4c(0x1e4)][_0x2d1d4c(0x226)][_0x2d1d4c(0x1f4)]['execution']['attemptId']||_0x410563['generationHash']!==_0x1c83a8[_0x2d1d4c(0x25b)][_0x2d1d4c(0x26c)]||_0x410563['fenceHash']!==_0x1c83a8[_0x2d1d4c(0x269)][_0x2d1d4c(0x26c)]||_0x1c83a8['artifacts'][_0x2d1d4c(0x20d)](_0x26e1bd=>![_0x2d1d4c(0x254),_0x2d1d4c(0x206),_0x2d1d4c(0x216)][_0x2d1d4c(0x1bc)](path[_0x2d1d4c(0x1fe)](_0x26e1bd[_0x2d1d4c(0x210)]))&&!_0x410563[_0x2d1d4c(0x1c6)]?.[_0x2d1d4c(0x20d)](_0x4bd24f=>_0x4bd24f[_0x2d1d4c(0x1ec)]===path[_0x2d1d4c(0x211)](_0x46e16d,_0x26e1bd['file'])[_0x2d1d4c(0x23f)]('\x5c','/')&&_0x4bd24f[_0x2d1d4c(0x26c)]===_0x26e1bd[_0x2d1d4c(0x26c)])&&!_0x5305f9(_0x26e1bd))))fail(_0x2d1d4c(0x217));if(!_0x410563){const _0x49b96e=crypto[_0x2d1d4c(0x202)](),_0x4d0f7a=_0x1c83a8[_0x2d1d4c(0x26d)][_0x2d1d4c(0x253)](_0x3d3d94=>({'path':path[_0x2d1d4c(0x211)](_0x4c2c63,_0x3d3d94['file'])[_0x2d1d4c(0x258)]('..')?_0x2d1d4c(0x1c9)+sha(path[_0x2d1d4c(0x211)](_0x46e16d,_0x3d3d94[_0x2d1d4c(0x210)]))+'.json':path[_0x2d1d4c(0x211)](_0x4c2c63,_0x3d3d94[_0x2d1d4c(0x210)])[_0x2d1d4c(0x23f)]('\x5c','/'),'original':path[_0x2d1d4c(0x211)](_0x46e16d,_0x3d3d94['file'])[_0x2d1d4c(0x23f)]('\x5c','/'),'sha256':_0x3d3d94[_0x2d1d4c(0x26c)],'bytes':_0x3d3d94[_0x2d1d4c(0x1eb)]['toString'](_0x2d1d4c(0x245))})),_0x20ba08={};_0x20ba08[_0x2d1d4c(0x201)]=0x1,_0x20ba08[_0x2d1d4c(0x270)]=_0x46e16d,_0x20ba08['recoveryId']=_0x49b96e,_0x20ba08[_0x2d1d4c(0x221)]=_0x1c83a8[_0x2d1d4c(0x1e4)]['value'][_0x2d1d4c(0x1f4)][_0x2d1d4c(0x273)][_0x2d1d4c(0x221)],_0x20ba08['checkpointHash']=_0x1c83a8['checkpoint'][_0x2d1d4c(0x26c)],_0x20ba08[_0x2d1d4c(0x1f5)]=_0x1c83a8[_0x2d1d4c(0x25b)][_0x2d1d4c(0x26c)],_0x20ba08[_0x2d1d4c(0x205)]=_0x1c83a8[_0x2d1d4c(0x269)][_0x2d1d4c(0x26c)],_0x20ba08[_0x2d1d4c(0x1fc)]='unknown',_0x20ba08['reason']=_0x1c83a8[_0x2d1d4c(0x1dd)],_0x20ba08['boot']=_0x1c83a8['boot'],_0x20ba08['processes']=_0x1c83a8[_0x2d1d4c(0x1f2)],_0x20ba08['producer']=_0x1c83a8[_0x2d1d4c(0x22e)],_0x20ba08[_0x2d1d4c(0x1f1)]={},_0x20ba08[_0x2d1d4c(0x1c6)]=_0x4d0f7a,_0x20ba08[_0x2d1d4c(0x1f1)]['codegraph']=_0x49b96e,_0x20ba08[_0x2d1d4c(0x1f1)][_0x2d1d4c(0x244)]=_0x49b96e,_0x410563=_0x20ba08,preserveArchiveBytes(_0x2e591a,JSON[_0x2d1d4c(0x23a)](_0x410563));}const {acquireExactRuntimeLock:_0x47cc29}=require('../core/owned-lock');for(const _0x2b4557 of['executor.lock',_0x2d1d4c(0x206),_0x2d1d4c(0x216)]){const _0x40dc96=safePath(_0x46e16d,path[_0x2d1d4c(0x23e)](_0x4c2c63,_0x2b4557)),_0x24103b=_0x1c83a8[_0x2d1d4c(0x26d)][_0x2d1d4c(0x1db)](_0x22896b=>_0x22896b[_0x2d1d4c(0x210)]===_0x40dc96)?.['bytes']||null,_0x247b1c=_0x47cc29(_0x40dc96,_0x24103b);if(!_0x247b1c)fail('INDEX_RECOVERY_BUSY');_0x38a423['push'](_0x247b1c);}const _0xe5a265=inspectIndexInterruption(_0x46e16d,_0x35399a);if(_0xe5a265['status']!==_0x2d1d4c(0x231)||_0x1c83a8[_0x2d1d4c(0x1e4)][_0x2d1d4c(0x26c)]!==_0xe5a265[_0x2d1d4c(0x1e4)]['sha256']||_0x1c83a8[_0x2d1d4c(0x25b)][_0x2d1d4c(0x26c)]!==_0xe5a265[_0x2d1d4c(0x25b)]['sha256']||_0x1c83a8[_0x2d1d4c(0x269)][_0x2d1d4c(0x26c)]!==_0xe5a265[_0x2d1d4c(0x269)]['sha256']||_0xddf1bf(_0x1c83a8[_0x2d1d4c(0x26d)])!==_0xddf1bf(_0xe5a265[_0x2d1d4c(0x26d)]))fail(_0x2d1d4c(0x217));for(const _0x23eaf4 of _0x1c83a8[_0x2d1d4c(0x26d)])if(!_0x5498a6['has'](_0x23eaf4['file'])&&!fs[_0x2d1d4c(0x260)](_0x23eaf4[_0x2d1d4c(0x210)])[_0x2d1d4c(0x1e3)](_0x23eaf4[_0x2d1d4c(0x1eb)]))fail('INDEX_RECOVERY_CHANGED');const _0x22a571=safePath(_0x46e16d,path[_0x2d1d4c(0x23e)](_0x46e16d,'.agents/recovery-backups',_0x2d1d4c(0x238)+_0x410563[_0x2d1d4c(0x1d1)]),!![]),_0x16cfe4=Buffer[_0x2d1d4c(0x1fb)](JSON[_0x2d1d4c(0x23a)](_0x410563));preserveArchiveBytes(safePath(_0x46e16d,path[_0x2d1d4c(0x23e)](_0x22a571,_0x2d1d4c(0x278))),_0x16cfe4);for(const _0xefa546 of _0x410563[_0x2d1d4c(0x1c6)]){const _0x227ba8=Buffer[_0x2d1d4c(0x1fb)](_0xefa546[_0x2d1d4c(0x1eb)],_0x2d1d4c(0x245));if(sha(_0x227ba8)!==_0xefa546['sha256'])fail(_0x2d1d4c(0x217));const _0x12a5af=safePath(_0x46e16d,path[_0x2d1d4c(0x23e)](_0x22a571,_0xefa546['path']));safePath(_0x46e16d,path[_0x2d1d4c(0x248)](_0x12a5af),!![]),preserveArchiveBytes(_0x12a5af,_0x227ba8);}const _0x50f2c1={'recoveryId':_0x410563[_0x2d1d4c(0x1d1)],'archiveHash':sha(_0x16cfe4)};validateIndexArchive(_0x46e16d,_0x50f2c1,_0x35399a[_0x2d1d4c(0x237)]);const _0x5d7122=inspectIndexInterruption(_0x46e16d,_0x35399a);if(_0x5d7122[_0x2d1d4c(0x266)]!==_0x2d1d4c(0x231)||_0x5d7122['checkpoint'][_0x2d1d4c(0x26c)]!==_0x410563[_0x2d1d4c(0x21f)]||_0x5d7122[_0x2d1d4c(0x25b)][_0x2d1d4c(0x26c)]!==_0x410563[_0x2d1d4c(0x1f5)]||_0x5d7122[_0x2d1d4c(0x269)][_0x2d1d4c(0x26c)]!==_0x410563[_0x2d1d4c(0x205)]||_0xddf1bf(_0x1c83a8[_0x2d1d4c(0x26d)])!==_0xddf1bf(_0x5d7122[_0x2d1d4c(0x26d)])||_0x38a423[_0x2d1d4c(0x20d)](_0x4042d9=>!_0x4042d9['owned']()))fail(_0x2d1d4c(0x217));for(const _0x392d81 of _0x1c83a8[_0x2d1d4c(0x26d)])if(!_0x5498a6['has'](_0x392d81[_0x2d1d4c(0x210)])&&!fs['readFileSync'](_0x392d81[_0x2d1d4c(0x210)])[_0x2d1d4c(0x1e3)](_0x392d81[_0x2d1d4c(0x1eb)]))fail(_0x2d1d4c(0x217));const _0x51d169=_0x5d7122['checkpoint'][_0x2d1d4c(0x226)];for(const _0x38037 of[_0x2d1d4c(0x1f7),_0x2d1d4c(0x244)]){const _0x423f0a=require('../backends/index-cache-authority'),_0x21d4f0={};_0x21d4f0['workspace']=_0x46e16d,_0x21d4f0[_0x2d1d4c(0x223)]=_0x38037,_0x21d4f0[_0x2d1d4c(0x1b5)]={..._0x5d7122[_0x2d1d4c(0x22e)][_0x2d1d4c(0x1c4)][_0x2d1d4c(0x20f)][_0x38037]},_0x21d4f0[_0x2d1d4c(0x209)]=!![],_0x21d4f0[_0x2d1d4c(0x1b5)][_0x2d1d4c(0x1c3)]=0x3;const _0x46180d=_0x423f0a[_0x2d1d4c(0x1b6)](_0x21d4f0);_0x423f0a[_0x2d1d4c(0x1be)](_0x46180d,_0x50f2c1,_0x35399a['publicKey']);}const _0x2c3b23={..._0x51d169};_0x2c3b23[_0x2d1d4c(0x24d)]=[..._0x51d169['indexRecoveries']||[],_0x50f2c1],_0x2c3b23[_0x2d1d4c(0x1f4)]={..._0x51d169[_0x2d1d4c(0x1f4)]},_0x2c3b23[_0x2d1d4c(0x1f4)][_0x2d1d4c(0x266)]=_0x2d1d4c(0x1f9),_0x2c3b23[_0x2d1d4c(0x1f4)][_0x2d1d4c(0x1fc)]='unknown',_0x2c3b23[_0x2d1d4c(0x1f4)]['code']='INDEX_INTERRUPTED',_0x2c3b23[_0x2d1d4c(0x1f4)][_0x2d1d4c(0x218)]=!![],_0x2c3b23[_0x2d1d4c(0x1f4)][_0x2d1d4c(0x1ea)]=_0x50f2c1,require(_0x2d1d4c(0x24b))[_0x2d1d4c(0x1fa)](_0x5d7122[_0x2d1d4c(0x1e4)][_0x2d1d4c(0x210)],_0x2c3b23);const _0x391042={};return _0x391042[_0x2d1d4c(0x266)]=_0x2d1d4c(0x1f9),_0x391042[_0x2d1d4c(0x1d1)]=_0x410563[_0x2d1d4c(0x1d1)],_0x391042[_0x2d1d4c(0x215)]=_0x50f2c1[_0x2d1d4c(0x215)],_0x391042[_0x2d1d4c(0x233)]=_0x22a571,_0x391042;}catch(_0x4a9775){const _0x2c3fbe={};return _0x2c3fbe['status']=_0x2d1d4c(0x265),_0x2c3fbe[_0x2d1d4c(0x1dd)]=_0x4a9775[_0x2d1d4c(0x262)]||_0x2d1d4c(0x208),_0x2c3fbe;}finally{for(const _0x3932a9 of _0x38a423['reverse']())_0x3932a9();}}function validateRetiredCacheArtifact(_0xa59638,_0x1988aa,_0x283f6e,_0x3122e5){const _0x2691c1=_0x5789b2;try{_0xa59638=fs['realpathSync'](_0xa59638),safePath(_0xa59638,_0x1988aa);const _0x6dbf17=path['relative'](_0xa59638,_0x1988aa)['replaceAll']('\x5c','/'),_0x179a89=sha(_0x283f6e),_0x557984=['index-maintenance.json',_0x2691c1(0x204)][_0x2691c1(0x253)](_0x4dacf8=>read(_0xa59638,path[_0x2691c1(0x23e)](_0xa59638,'.agents/runtime',_0x4dacf8)))['filter'](Boolean);for(const _0x4856e of _0x557984)for(const _0x5ac7ef of[..._0x4856e[_0x2691c1(0x226)][_0x2691c1(0x24d)]||[],..._0x4856e[_0x2691c1(0x226)]['indexResult']?.[_0x2691c1(0x1ea)]?[_0x4856e[_0x2691c1(0x226)]['indexResult'][_0x2691c1(0x1ea)]]:[]]){const _0x5314c6=validateIndexArchive(_0xa59638,_0x5ac7ef,_0x3122e5);if(_0x557984[_0x2691c1(0x20d)](_0x462267=>['running',_0x2691c1(0x265)][_0x2691c1(0x1bc)](_0x462267[_0x2691c1(0x226)][_0x2691c1(0x1f4)]?.[_0x2691c1(0x266)])&&_0x462267[_0x2691c1(0x226)]['indexResult'][_0x2691c1(0x273)]?.[_0x2691c1(0x221)]===_0x5314c6['attemptId']))continue;const _0xd29b38=_0x5314c6['files'][_0x2691c1(0x1db)](_0x48bb5f=>_0x48bb5f[_0x2691c1(0x1ec)]===_0x6dbf17&&_0x48bb5f[_0x2691c1(0x26c)]===_0x179a89);if(!_0xd29b38||!/^\.agents\/runtime\/backends\/(codegraph|code-review-graph)\/caches\/[a-f0-9]{24}\/(receipt|recovery)\.json$/[_0x2691c1(0x243)](_0x6dbf17))continue;if(!fs[_0x2691c1(0x260)](_0x1988aa)[_0x2691c1(0x1e3)](Buffer[_0x2691c1(0x1fb)](_0x283f6e))||!fs[_0x2691c1(0x260)](path[_0x2691c1(0x23e)](_0x5314c6[_0x2691c1(0x233)],_0xd29b38['path']))[_0x2691c1(0x1e3)](Buffer[_0x2691c1(0x1fb)](_0x283f6e)))continue;return!![];}}catch{}return![];}const _0x364423={};function _0x3f5f(){const _0x2eaca6=['odK5ntzSwMjRrwi','C3rYAw5NAwz5','mZzfu29OBNi','CNvUDgLTzvjVB3q','CMvSzwfZzxm','AM9PBG','CMvWBgfJzufSBa','CMvZB3vYy2veAwDLC3q','lI4Vy29Yzs9YzwnVDMvYEs1HCMnOAxzL','zMXHDe1HCa','DgvZDa','y29Kzs1YzxzPzxCTz3jHCgG','yMfZzty0','lMfNzw50CY9YDw50Aw1LlW','Cgf0Aa','zgLYBMfTzq','CgfYC2u','lMPZB24','lI4VyMfJA2vUzhmVAw5KzxGTC3rVCMu','BM9KztPJCNLWDg8','Aw5KzxHszwnVDMvYAwvZ','lMfNzw50CY9YDw50Aw1Ll2DLBMvYyxrPB24UANnVBG','mdaWmdaWmdaTmdaWmc0WmdaWltaWmdaTmdaWmdaWmdaWmdaW','su5ervHFufjprfvdrvjFvu5wrvjjrKLfra','nJu3ndm3BgLZtLff','C2H1DgrVD25fDMLKzw5Jzq','BwfW','zxHLy3v0B3iUBg9JAW','Dg9ju09tDhjPBMC','y2XVC2vKqxq','C2vSzwn0B3jgAwXL','C3rHCNrZv2L0Aa','yxv0Ag9YAxr5lMPZB24','C3rVCev2AwrLBMnLq29UDhjHy3q','z2vUzxjHDgLVBG','ChjVy2vZC0LKzw50Axr5','z3jHy2vMDwW','mty1ntaWuM55qwnM','BwfYA2vY','CMvHzezPBgvtEw5J','y29UDgfPBM1LBNq','y29Kzq','ywrTAxnZAw9UlMPZB24','zxHWB3j0CW','Dw5RBM93BG','C3rHDhvZ','CMvHBhbHDgHtEw5J','Bgf1BMnOzxjqCM9JzxnZu3rHCNq','zMvUy2u','C2vW','ChvIBgLJyxrPB24UANnVBG','C2HHmJu2','yxj0AwzHy3rZ','DgfYz2v0','Aw5KzxGTAw50zxjYDxb0Aw9UCW','D29YA3nWywnL','ufjprfvdveLptL9qvujmsunFs0vz','mwrLDNvQva','zxHLy3v0Aw9U','BgvUz3rO','BM9KztPMCW','C3rVCfjLyxnVBG','lMfWDc1Tyw5Hz2vKlMPZB24','yMfJA3vWlMPZB24','ChjVzMLSzq','CMvZB2X2zu1HBMfNzwrjBMrLEenHy2HL','y2fJAgvZ','y29UDhjHy3rjza','AxntywzLsw50zwDLCG','CMvZzxj2zwq','CMvSzwfZzq','Aw5JBhvKzxm','lMfNzw50CY9YDw50Aw1Ll2fKBwLZC2LVBI5QC29U','C3rHz2vnyw5Hz2vKsw5KzxHdywnOzq','ywn0AxzLuhjVy2vZC2vZ','C29YDa','mtCZnZLezMDysK8','zxbVy2G','y2fJAgvdB250CMfJDa','y29UDhjHy3q','Aw5ZDgfUy2vjza','zMLSzxm','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','ywrK','y2fJAguTBwfYA2vYCY8','CgvUzgLUzW','C3rYAw5N','ChjVy2vZCY1UB3qTyMvMB3jLlwjVB3q','mJa0mZzevuPLzfm','zM9Yy2u','AM9I','CMvHzfbYB2nLC3njzgvUDgL0Eq','CMvJB3zLCNLjza','y29VCMrPBMf0B3jqCM9JzxnZu3rHCNq','mJmZndm4BgPLD3vS','DhjPBq','z2vUzxjHDgLVBI5QC29U','y29VCMrPBMf0B3jqAwq','zw50CMLLCW','C3rHDgu','C3rVChbLza','D2LUzg93CY1QB2iTB2jQzwn0','zMLUza','yxnZAwDUBwvUDenVBMzPCM1Lza','CMvHC29U','zgLNzxn0','y2fJAgveAxjLy3rVCNK','y2fJAguUBg9JAW','ChjVzhvJzxjszwXLyxnL','lI4VBgLJzw5Zzs92zxjPzNK','zxf1ywXZ','y2HLy2TWB2LUDa','CNvUBMLUzW','AM9IlxrYzwu','CMvJB3zLCNKUANnVBG','zMLSDgvY','Aw5ZCgvJDeLUzgv4sw50zxjYDxb0Aw9U','CMvJB3zLCNK','yNL0zxm','B3jPz2LUywW','B3bLBG','B2jZzxj2zwruAw1L','y2f0ywXVz0HHC2G','mJbXv2Dytfu','Aw5ZDgfUy2vZ','ChjVy2vZC2vZ','Aw5ZCgvJDfn0B3bWzwrczwzVCMvcB290','Aw5KzxHszxn1Bhq','z2vUzxjHDgLVBKHHC2G','lMfNzw50CY9YDw50Aw1L','y29KzwDYyxbO','lMfNzw50CY9Tyw5PzMvZDc5QC29U','Aw50zxjYDxb0zwq','yxrVBwLJ','zNjVBq','B3v0y29Tzq','BM9KztPWyxrO','yMfZzw5HBwu','odGWC0DnwK9w','Bgf1BMnOzxjqAwq','DMvYC2LVBG','CMfUzg9Tvvvjra','Bwv0Ag9K','DxbKyxrLlxrYyw5Zywn0Aw9UlMPZB24','zMvUy2viyxnO','DxbKyxrLlMXVy2S','zMvUy2vfCg9JAa','su5ervHFuKvdt1zfuLLFvu5wrvjjrKLfra','AgLZDg9YAwnHBa','CMvJzwLWDc5QC29U','AgfZt3DU','CMvJB3jKzwqTAw5KzxGTAM9Ilxn0B3bWzwq','C29Tzq','C291CMnL','ChjVzMLSzxm','zMLSzq','CMvSyxrPDMu','CMvZB2X2zq','zMLUzeLUzgv4','C3rHDgveAxjLy3rVCNK','yxjJAgL2zuHHC2G','ywrTAxnZAw9UlMPZB24UBg9JAW','su5ervHFuKvdt1zfuLLFq0HbtKDfra','CMv0CNLHyMXL','yM9VDa','yNjVA2vYugLK','DMfSAwrHDgvszxrPCMvKq2fJAgvbCNrPzMfJDa','su5ervHFqvvuse9ssvrzx1vovKvssuzjruq','lMfNzw50CY9YDw50Aw1Ll2LUzgv4lwf0DgvTChrZ','nZC2nhPJzfvIBq','y2HLy2TWB2LUDeHHC2G','mJfrwhHkCxa','yxr0zw1WDeLK','zgLHz25VC3rPyW','A2LUza','Bg9JywXLq29TCgfYzq','y2fWDhvYzujVB3rfDMLKzw5Jzq','DMfSDwu','ywn0AxzL','AgfZ','yxv0Ag9YAxrPzxm','lI4Vy29Yzs9YzwnVDMvYEs1WCM9VzG','DMfSAwrtyw1Ltgf1BMnOqM9VDa','lI4VyMfJA2vUzhmVAw5KzxGTy2fJAguTyxv0Ag9YAxr5','DhjHBNnHy3rPB25jza','ChjVzhvJzxi','ChjVy2vZC1n0yxj0','yxnZAwDU','CMvJB3zLCMfIBguTAw50zxjYDxb0Aw9U','DMfSAwrmyxvUy2HcB290','yxjJAgL2zq','ChvIBgLJyxrPB25iyxnO','mJa3mJy1ognOy1rxvq','lI4Vy29Yzs9IB290lwv2AwrLBMnL','ChvIBgLJs2v5','Aw5KzxGT'];_0x3f5f=function(){return _0x2eaca6;};return _0x3f5f();}_0x364423[_0x5789b2(0x1e9)]=inspectIndexInterruption,_0x364423['reconcileIndexInterruption']=reconcileIndexInterruption,_0x364423['validateIndexArchive']=validateIndexArchive,_0x364423[_0x5789b2(0x21b)]=validateRetiredCacheArtifact,module[_0x5789b2(0x264)]=_0x364423;
1
+ 'use strict';const _0x3aa1b9=_0x355b;(function(_0x2d03f2,_0x1e980c){const _0x210c97=_0x355b,_0x471549=_0x2d03f2();while(!![]){try{const _0x1836c9=-parseInt(_0x210c97(0x149))/0x1*(-parseInt(_0x210c97(0x171))/0x2)+parseInt(_0x210c97(0x140))/0x3+parseInt(_0x210c97(0x14b))/0x4*(parseInt(_0x210c97(0x166))/0x5)+parseInt(_0x210c97(0x14f))/0x6*(-parseInt(_0x210c97(0xe8))/0x7)+parseInt(_0x210c97(0x187))/0x8+-parseInt(_0x210c97(0x161))/0x9*(-parseInt(_0x210c97(0x178))/0xa)+parseInt(_0x210c97(0x12a))/0xb*(-parseInt(_0x210c97(0x167))/0xc);if(_0x1836c9===_0x1e980c)break;else _0x471549['push'](_0x471549['shift']());}catch(_0x4f6d0d){_0x471549['push'](_0x471549['shift']());}}}(_0x3ce1,0x937a1));const fs=require(_0x3aa1b9(0x18e)),path=require(_0x3aa1b9(0x106)),crypto=require(_0x3aa1b9(0x188)),{preserveArchiveBytes}=require(_0x3aa1b9(0x13a)),{sameWorkspace}=require(_0x3aa1b9(0x139)),{verifyIndexProducer,sha}=require('../core/recovery-proof'),{safePath,validateManagedIndexCache}=require(_0x3aa1b9(0xfa)),fail=_0xfca618=>{const _0x37231c=_0x3aa1b9;throw Object[_0x37231c(0x1a5)](Error(_0xfca618),{'code':_0xfca618});},read=(_0x562dc7,_0x12a2da)=>{const _0x3df13b=_0x3aa1b9;safePath(_0x562dc7,_0x12a2da);try{const _0x48eb35=fs[_0x3df13b(0xf1)](_0x12a2da);return{'file':_0x12a2da,'bytes':_0x48eb35,'sha256':sha(_0x48eb35),'value':JSON['parse'](_0x48eb35)};}catch(_0x8964b1){if(_0x8964b1[_0x3df13b(0x148)]===_0x3df13b(0x169))return null;throw _0x8964b1;}};function classifyInterruption({workspace:_0x2a15ab,execution:_0x4ce81f,boot:_0x4dfaf5,processIdentity:_0x1ccf57,producer:_0x5f3cb3,lifecycle:_0x101f65}){const _0xbc79a5=_0x3aa1b9,_0x4a660c=require('../core/boot-evidence'),_0x254136={};_0x254136[_0xbc79a5(0xe6)]=_0x4ce81f,_0x254136[_0xbc79a5(0x176)]=_0x4dfaf5,_0x254136[_0xbc79a5(0xf9)]=_0x1ccf57;const _0x3c6272=_0x4a660c[_0xbc79a5(0x154)](_0x254136);if(_0x3c6272[_0xbc79a5(0xe5)]===_0xbc79a5(0x14e)){if(_0x5f3cb3[_0xbc79a5(0x18d)]['cacheContract']===0x3&&!_0x4a660c['validLaunchBoot'](_0x4ce81f,_0x4dfaf5))fail(_0xbc79a5(0x104));return _0x3c6272;}if(_0x3c6272[_0xbc79a5(0xe5)]!==_0xbc79a5(0xe9)||_0x3c6272[_0xbc79a5(0x12c)]!=='process-not-before-boot')return _0x3c6272;const _0x122a57={};_0x122a57[_0xbc79a5(0xe5)]=_0xbc79a5(0xe9),_0x122a57[_0xbc79a5(0x12c)]='index-stop-evidence-required',_0x122a57['diagnostic']=_0x3c6272[_0xbc79a5(0x12c)];const _0x371eb4=_0x122a57;if(_0x5f3cb3[_0xbc79a5(0x18d)][_0xbc79a5(0x10a)]!==0x1||_0x101f65?.[_0xbc79a5(0xe5)]!==_0xbc79a5(0x144))return _0x371eb4;const _0x5edde2=_0x101f65[_0xbc79a5(0x117)],_0x25c788=_0x4ce81f[_0xbc79a5(0xfc)];if(_0x101f65[_0xbc79a5(0xea)]!==0x1||!_0x101f65[_0xbc79a5(0x123)]||!sameWorkspace(_0x101f65[_0xbc79a5(0x123)],_0x2a15ab)||_0x101f65[_0xbc79a5(0x18f)]?.[_0xbc79a5(0xea)]!==_0x5f3cb3['version']||_0x101f65[_0xbc79a5(0x18f)]?.[_0xbc79a5(0x137)]!==_0x5f3cb3[_0xbc79a5(0x137)]||JSON[_0xbc79a5(0x1a0)](_0x101f65['execution'])!==JSON[_0xbc79a5(0x1a0)](_0x4ce81f)||_0x4ce81f['containment']!=='windows-job-object'||_0x25c788?.[_0xbc79a5(0x147)]!==_0xbc79a5(0xe4)||_0x25c788[_0xbc79a5(0x102)]!==!![]||_0x25c788['launcherPid']!==_0x4ce81f[_0xbc79a5(0x15f)]||_0x25c788[_0xbc79a5(0x103)]!==_0x4ce81f[_0xbc79a5(0x103)]||_0x5edde2?.['source']!==_0xbc79a5(0xe4)||!_0x5edde2[_0xbc79a5(0x123)]||!sameWorkspace(_0x5edde2[_0xbc79a5(0x123)],_0x2a15ab)||_0x5edde2[_0xbc79a5(0x12d)]!==_0xbc79a5(0x19b)||_0x5edde2[_0xbc79a5(0x19e)]!==!![]||_0x5edde2[_0xbc79a5(0xf6)]!==_0x4ce81f['launcherPid']||_0x5edde2['processStart']!==_0x4ce81f['launcherProcessStart']||!['graceful','force']['includes'](_0x5edde2[_0xbc79a5(0xf4)])||typeof _0x5edde2[_0xbc79a5(0x189)]!==_0xbc79a5(0x163)||!_0x5edde2[_0xbc79a5(0x189)]['trim']()||_0x5edde2['job']?.[_0xbc79a5(0x102)]!==!![]||_0x5edde2[_0xbc79a5(0x17b)][_0xbc79a5(0x113)]!==0x0||_0x5edde2['job']['stopped']!==!![]||!Number[_0xbc79a5(0x17f)](_0x5edde2['job'][_0xbc79a5(0x175)])||_0x5edde2[_0xbc79a5(0x17b)][_0xbc79a5(0x175)]<=0x0||_0x5edde2[_0xbc79a5(0x17b)][_0xbc79a5(0x175)]>0xffffffff||[_0x4ce81f[_0xbc79a5(0x12f)],_0x4ce81f['launcherPid']][_0xbc79a5(0x13e)](_0x5edde2[_0xbc79a5(0x17b)][_0xbc79a5(0x175)])||!_0x4a660c[_0xbc79a5(0x159)](_0x4ce81f,_0x4dfaf5))return _0x371eb4;const _0x4730c9=typeof _0x5edde2[_0xbc79a5(0x138)]===_0xbc79a5(0x163)?Date['parse'](_0x5edde2['closedAt']):NaN;if(!Number[_0xbc79a5(0x17f)](_0x4730c9)||new Date(_0x4730c9)[_0xbc79a5(0x160)]()!==_0x5edde2[_0xbc79a5(0x138)])return _0x371eb4;const _0x3f8d3c=BigInt(_0x4730c9)*0x2710n+0x19db1ded53e8000n;if([_0x4ce81f['coordinatorProcessStart'],_0x4ce81f[_0xbc79a5(0x103)],_0x4ce81f[_0xbc79a5(0x176)][_0xbc79a5(0x152)]][_0xbc79a5(0x116)](_0x4be99b=>_0x3f8d3c+0x270fn<BigInt(_0x4be99b))||_0x3f8d3c>BigInt(_0x4dfaf5[_0xbc79a5(0x152)]))return _0x371eb4;const _0xc73c6d={};return _0xc73c6d[_0xbc79a5(0xe5)]='recoverable-interruption',_0xc73c6d['reason']=_0xbc79a5(0x125),_0xc73c6d;}function _0x355b(_0x40e649,_0x2dc70d){_0x40e649=_0x40e649-0xe4;const _0x3ce122=_0x3ce1();let _0x355be7=_0x3ce122[_0x40e649];if(_0x355b['geTPDh']===undefined){var _0x3ceadf=function(_0x29e8d3){const _0x417045='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x275c76='',_0x4c9317='';for(let _0x1d2d07=0x0,_0x157527,_0x4befb4,_0x26bf2f=0x0;_0x4befb4=_0x29e8d3['charAt'](_0x26bf2f++);~_0x4befb4&&(_0x157527=_0x1d2d07%0x4?_0x157527*0x40+_0x4befb4:_0x4befb4,_0x1d2d07++%0x4)?_0x275c76+=String['fromCharCode'](0xff&_0x157527>>(-0x2*_0x1d2d07&0x6)):0x0){_0x4befb4=_0x417045['indexOf'](_0x4befb4);}for(let _0x93cdbb=0x0,_0x2266e7=_0x275c76['length'];_0x93cdbb<_0x2266e7;_0x93cdbb++){_0x4c9317+='%'+('00'+_0x275c76['charCodeAt'](_0x93cdbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c9317);};_0x355b['uecnsK']=_0x3ceadf,_0x355b['tpsbQv']={},_0x355b['geTPDh']=!![];}const _0x2fb0c2=_0x3ce122[0x0],_0x2edb77=_0x40e649+_0x2fb0c2,_0x4c6e4d=_0x355b['tpsbQv'][_0x2edb77];return!_0x4c6e4d?(_0x355be7=_0x355b['uecnsK'](_0x355be7),_0x355b['tpsbQv'][_0x2edb77]=_0x355be7):_0x355be7=_0x4c6e4d,_0x355be7;}function validateIndexArchive(_0x1947bb,_0x51ffa0,_0x5e75f9=require(_0x3aa1b9(0x108))[_0x3aa1b9(0xf5)]){const _0x4b6177=_0x3aa1b9;if(!_0x51ffa0||!/^[a-f0-9-]{36}$/[_0x4b6177(0x114)](_0x51ffa0['recoveryId']||'')||!/^[a-f0-9]{64}$/['test'](_0x51ffa0['archiveHash']||''))fail('INDEX_RECOVERY_CHANGED');const _0x49533c=safePath(_0x1947bb,path[_0x4b6177(0x172)](_0x1947bb,_0x4b6177(0x19f),_0x4b6177(0x110)+_0x51ffa0['recoveryId'])),_0x3e64b3=read(_0x1947bb,path[_0x4b6177(0x172)](_0x49533c,'backup.json'));if(!_0x3e64b3||_0x3e64b3[_0x4b6177(0x15e)]!==_0x51ffa0[_0x4b6177(0x141)]||_0x3e64b3[_0x4b6177(0x100)]['recoveryId']!==_0x51ffa0['recoveryId']||!sameWorkspace(_0x3e64b3['value'][_0x4b6177(0x123)],_0x1947bb)||!Array[_0x4b6177(0x18a)](_0x3e64b3[_0x4b6177(0x100)]['files']))fail(_0x4b6177(0x19c));for(const _0x1fad08 of _0x3e64b3[_0x4b6177(0x100)]['files']){const _0x45a370=safePath(_0x1947bb,path[_0x4b6177(0x109)](_0x49533c,_0x1fad08[_0x4b6177(0x10b)]));if(!_0x45a370['startsWith'](_0x49533c+path[_0x4b6177(0xec)])||!/^[a-f0-9]{64}$/[_0x4b6177(0x114)](_0x1fad08[_0x4b6177(0x15e)]||'')||sha(fs[_0x4b6177(0xf1)](_0x45a370))!==_0x1fad08[_0x4b6177(0x15e)])fail('INDEX_RECOVERY_CHANGED');}const _0xae4705=_0x3e64b3[_0x4b6177(0x100)];if(_0xae4705[_0x4b6177(0xea)]!==0x1||_0xae4705[_0x4b6177(0x131)][_0x4b6177(0x116)]((_0x36ef10,_0x3cca26)=>!_0x36ef10[_0x4b6177(0x136)]||_0xae4705['files']['findIndex'](_0x4931a0=>_0x4931a0[_0x4b6177(0x136)]===_0x36ef10[_0x4b6177(0x136)]||_0x4931a0[_0x4b6177(0x10b)]===_0x36ef10[_0x4b6177(0x10b)])!==_0x3cca26))fail(_0x4b6177(0x19c));if(!_0xae4705[_0x4b6177(0x16a)]||[_0x4b6177(0x12b),'code-review-graph'][_0x4b6177(0x116)](_0x33a8bf=>!/^[a-f0-9-]{36}$/['test'](_0xae4705['instances'][_0x33a8bf]||'')))fail(_0x4b6177(0x19c));const _0x236d80=_0x380c6c=>{const _0xd1c787=_0x4b6177,_0x5dcb2e=_0xae4705[_0xd1c787(0x131)][_0xd1c787(0x134)](_0x4dd8e3=>_0x4dd8e3[_0xd1c787(0x10b)]===_0x380c6c);if(!_0x5dcb2e)fail('INDEX_RECOVERY_CHANGED');return JSON['parse'](fs[_0xd1c787(0xf1)](path['join'](_0x49533c,_0x380c6c)));},_0x24eb56=_0xae4705['files']['find'](_0x4af475=>[_0x4b6177(0x13b),_0x4b6177(0x135)]['includes'](_0x4af475[_0x4b6177(0x10b)]));if(!_0x24eb56||_0x24eb56['sha256']!==_0xae4705[_0x4b6177(0x12e)])fail('INDEX_RECOVERY_CHANGED');const _0x10464d=_0x236d80(_0x24eb56[_0x4b6177(0x10b)]),_0x178f1f=_0x236d80(_0x4b6177(0x184)),_0x1f00a4=_0x236d80(_0x4b6177(0x181)),_0x509f7d=_0x10464d['indexResult']?.[_0x4b6177(0xe6)],_0x12ace7=verifyIndexProducer(_0xae4705[_0x4b6177(0x13f)]?.[_0x4b6177(0x174)],_0x5e75f9);if(!_0x509f7d||_0x509f7d['attemptId']!==_0xae4705['attemptId']||!sameWorkspace(_0x10464d[_0x4b6177(0x123)],_0x1947bb)||!sameWorkspace(_0x178f1f['workspace'],_0x1947bb)||_0x12ace7[_0x4b6177(0xea)]!==_0x178f1f['version']||_0x12ace7[_0x4b6177(0x137)]!==_0x178f1f[_0x4b6177(0x137)]||_0x10464d[_0x4b6177(0x18f)]?.['version']!==_0x12ace7[_0x4b6177(0xea)]||_0x10464d['target']?.[_0x4b6177(0x137)]!==_0x12ace7['digest']||[_0x4b6177(0xfd),'resourceDigest',_0x4b6177(0xf3),_0x4b6177(0x111)]['some'](_0x9ffeb1=>(_0x10464d[_0x9ffeb1]??null)!==(_0x178f1f[_0x9ffeb1]??null)||(_0x509f7d[_0x9ffeb1]??null)!==(_0x178f1f[_0x9ffeb1]??null))||_0x1f00a4[_0x4b6177(0x16d)]!=='open'||_0x1f00a4[_0x4b6177(0x18b)]!==_0x509f7d[_0x4b6177(0x157)]||_0xae4705[_0x4b6177(0x131)]['find'](_0x183ddb=>_0x183ddb[_0x4b6177(0x10b)]===_0x4b6177(0x184))?.[_0x4b6177(0x15e)]!==_0xae4705[_0x4b6177(0x180)]||_0xae4705['files']['find'](_0x209564=>_0x209564[_0x4b6177(0x10b)]===_0x4b6177(0x181))?.[_0x4b6177(0x15e)]!==_0xae4705[_0x4b6177(0x13c)]||_0xae4705[_0x4b6177(0x197)]!==_0x4b6177(0xe9)||!Number[_0x4b6177(0x17f)](_0x178f1f['generation'])||_0x178f1f[_0x4b6177(0xfd)]<0x1||!/^[a-f0-9]{64}$/[_0x4b6177(0x114)](_0x178f1f[_0x4b6177(0xf3)]||'')||_0x1f00a4['generation']!=null&&_0x1f00a4[_0x4b6177(0xfd)]!==_0x178f1f[_0x4b6177(0xfd)]||_0x509f7d['containment']&&_0x509f7d[_0x4b6177(0x12d)]!==_0x12ace7[_0x4b6177(0x18d)][_0x4b6177(0x12d)]||_0x509f7d[_0x4b6177(0x13f)]&&(_0x509f7d['producer']['digest']!==_0x12ace7[_0x4b6177(0x137)]||_0x509f7d[_0x4b6177(0x13f)][_0x4b6177(0xea)]!==_0x12ace7['version']))fail(_0x4b6177(0x19c));const _0x39cf13=_0x421289=>_0xae4705[_0x4b6177(0x131)]['find'](_0x252e22=>_0x252e22[_0x4b6177(0x136)]===path[_0x4b6177(0x14a)](_0x1947bb,_0x421289)[_0x4b6177(0x13d)]('\x5c','/')),_0x2c7dd9=_0x39cf13(path[_0x4b6177(0x172)](_0x1947bb,_0x4b6177(0xff)));if(!_0x2c7dd9||_0x2c7dd9[_0x4b6177(0x15e)]!==_0x178f1f[_0x4b6177(0x164)])fail('INDEX_RECOVERY_CHANGED');const _0x3a5f19=require(_0x4b6177(0xfa)),_0x1eb708=new Set([_0x4b6177(0xfb)+_0x24eb56['path'],'.agents/runtime/generation.json',_0x4b6177(0x191),_0x4b6177(0xff),...[_0x4b6177(0x190),_0x4b6177(0x11c),_0x4b6177(0x173)]['map'](_0xd4230d=>'.agents/runtime/'+_0xd4230d)]);for(const _0x41ed56 of[_0x4b6177(0x12b),_0x4b6177(0x17e)]){const _0x13022e={..._0x12ace7[_0x4b6177(0x18d)][_0x4b6177(0xf0)][_0x41ed56]};_0x13022e['cacheContract']=_0x12ace7[_0x4b6177(0x18d)][_0x4b6177(0x142)];const _0x1e63c4=_0x13022e,_0x56f6b8=_0x509f7d[_0x4b6177(0x193)]?.[_0x4b6177(0x134)](_0x58d22a=>_0x58d22a[_0x4b6177(0x15d)]===_0x41ed56)?.['marker'];if(!_0x56f6b8&&_0x1e63c4['cacheContract']===0x3)fail(_0x4b6177(0x19c));const _0x4876a6={};_0x4876a6['workspace']=_0x1947bb,_0x4876a6[_0x4b6177(0x15d)]=_0x41ed56,_0x4876a6[_0x4b6177(0x16c)]=_0x1e63c4,_0x4876a6[_0x4b6177(0x1a3)]=_0x56f6b8?.[_0x4b6177(0x1a3)],_0x4876a6[_0x4b6177(0x121)]=!![];const _0x530c89=_0x3a5f19['resolveManagedIndexCache'](_0x4876a6);if(_0x56f6b8&&JSON[_0x4b6177(0x1a0)](_0x56f6b8)!==JSON[_0x4b6177(0x1a0)](_0x530c89[_0x4b6177(0xf7)]))fail(_0x4b6177(0x19c));for(const _0x2557ac of[path[_0x4b6177(0x172)](_0x530c89['stateDirectory'],_0x4b6177(0xf8)),path['join'](_0x530c89[_0x4b6177(0x195)],_0x4b6177(0x186))]){const _0x16e883=_0x39cf13(_0x2557ac);if(!_0x16e883||_0x16e883[_0x4b6177(0x15e)]!==sha(JSON[_0x4b6177(0x1a0)](_0x530c89['marker'])))fail('INDEX_RECOVERY_CHANGED');}for(const _0x2b337e of[...[_0x4b6177(0xf8),_0x4b6177(0x16e),_0x4b6177(0x17c),_0x4b6177(0x17d),_0x4b6177(0x192)][_0x4b6177(0xef)](_0x5e8623=>path[_0x4b6177(0x172)](_0x530c89['stateDirectory'],_0x5e8623)),path['join'](_0x530c89[_0x4b6177(0x195)],_0x4b6177(0x186)),..._0x530c89[_0x4b6177(0x146)]?[_0x530c89[_0x4b6177(0x146)]]:[]])_0x1eb708['add'](path[_0x4b6177(0x14a)](_0x1947bb,_0x2b337e)['replaceAll']('\x5c','/'));const _0x1136d0=_0x530c89[_0x4b6177(0x146)]&&_0x39cf13(_0x530c89['selectorFile']);if(_0x1136d0){const _0x4778f2=_0x236d80(_0x1136d0[_0x4b6177(0x10b)]);if(_0x4778f2[_0x4b6177(0xea)]!==0x1||_0x4778f2[_0x4b6177(0x145)]!==_0x530c89[_0x4b6177(0x145)]||_0x4778f2[_0x4b6177(0x14c)]!==_0x530c89[_0x4b6177(0xf7)]['instanceId']&&_0x4778f2[_0x4b6177(0x126)]?.[_0x4b6177(0x1a3)]!==_0x530c89['marker'][_0x4b6177(0x1a3)]||_0x4778f2['active']===_0x530c89[_0x4b6177(0xf7)][_0x4b6177(0x1a3)]&&_0x4778f2['active']!=='00000000-0000-0000-0000-000000000000'&&_0x39cf13(path['join'](_0x530c89[_0x4b6177(0x168)],_0x4b6177(0x192)))?.[_0x4b6177(0x15e)]!==_0x4778f2[_0x4b6177(0x1a1)])fail(_0x4b6177(0x19c));}else{if(_0x1e63c4[_0x4b6177(0x142)]===0x3&&_0x530c89[_0x4b6177(0xf7)][_0x4b6177(0x1a3)]!==_0x4b6177(0x128))fail(_0x4b6177(0x19c));}}let _0xb2b699;if(_0x12ace7[_0x4b6177(0x18d)][_0x4b6177(0x142)]===0x3){const _0x123706=_0x39cf13(path[_0x4b6177(0x172)](_0x1947bb,_0x4b6177(0xed),_0x509f7d[_0x4b6177(0x10c)]+_0x4b6177(0x129)));if(!_0x123706)fail(_0x4b6177(0x19c));_0xb2b699=_0x236d80(_0x123706[_0x4b6177(0x10b)]);if(JSON[_0x4b6177(0x1a0)](_0xb2b699['execution'])!==JSON[_0x4b6177(0x1a0)](_0x509f7d)||![_0x4b6177(0x115),'stopped'][_0x4b6177(0x13e)](_0xb2b699[_0x4b6177(0xe5)])||!sameWorkspace(_0xb2b699[_0x4b6177(0x123)],_0x1947bb)||_0xb2b699[_0x4b6177(0x18f)]?.[_0x4b6177(0xea)]!==_0x12ace7['version']||_0xb2b699['target']?.[_0x4b6177(0x137)]!==_0x12ace7['digest'])fail('INDEX_RECOVERY_CHANGED');_0x1eb708[_0x4b6177(0xe7)](_0x123706['original']);}const _0x47f2fe=classifyInterruption({'workspace':_0x1947bb,'execution':_0x509f7d,'boot':_0xae4705[_0x4b6177(0x176)],'producer':_0x12ace7,'lifecycle':_0xb2b699,'processIdentity':_0x4246ee=>Object[_0x4b6177(0x14d)](_0xae4705[_0x4b6177(0x130)]||{},_0x4246ee)?_0xae4705[_0x4b6177(0x130)][_0x4246ee]:undefined});if(_0x47f2fe[_0x4b6177(0xe5)]!==_0x4b6177(0x14e)||_0x47f2fe[_0x4b6177(0x12c)]!==_0xae4705[_0x4b6177(0x12c)])fail(_0x4b6177(0x19c));if(_0xae4705[_0x4b6177(0x131)][_0x4b6177(0x116)](_0x36a89b=>!_0x1eb708[_0x4b6177(0x153)](_0x36a89b['original'])))fail(_0x4b6177(0x19c));const _0xe4f8be={..._0x3e64b3[_0x4b6177(0x100)]};return _0xe4f8be[_0x4b6177(0xeb)]=_0x49533c,_0xe4f8be['archiveHash']=_0x3e64b3[_0x4b6177(0x15e)],_0xe4f8be;}function inspectIndexInterruption(_0xc7f84d,_0x744f31={}){const _0xf15a9d=_0x3aa1b9;try{_0xc7f84d=fs[_0xf15a9d(0x19a)](_0xc7f84d);const _0x3cee4e=path['join'](_0xc7f84d,_0xf15a9d(0x11a)),_0x31f891=read(_0xc7f84d,path['join'](_0x3cee4e,_0xf15a9d(0x184))),_0xc75cda=read(_0xc7f84d,path[_0xf15a9d(0x172)](_0x3cee4e,_0xf15a9d(0x181))),_0x28e991=[_0xf15a9d(0x13b),_0xf15a9d(0x135)][_0xf15a9d(0xef)](_0x15a58b=>read(_0xc7f84d,path[_0xf15a9d(0x172)](_0x3cee4e,_0x15a58b)))[_0xf15a9d(0x10d)](Boolean);for(const _0x18bb41 of _0x28e991){for(const _0x411450 of[..._0x18bb41[_0xf15a9d(0x100)][_0xf15a9d(0x162)]||[],..._0x18bb41['value'][_0xf15a9d(0x1a2)]?.[_0xf15a9d(0x122)]?[_0x18bb41[_0xf15a9d(0x100)]['indexResult'][_0xf15a9d(0x122)]]:[]])validateIndexArchive(_0xc7f84d,_0x411450,_0x744f31['publicKey']);}const _0x2c7520=_0x28e991[_0xf15a9d(0x10d)](_0x2aaae5=>[_0xf15a9d(0x143),_0xf15a9d(0xe9)]['includes'](_0x2aaae5[_0xf15a9d(0x100)][_0xf15a9d(0x1a2)]?.[_0xf15a9d(0xe5)])&&(path['basename'](_0x2aaae5[_0xf15a9d(0x16b)])!==_0xf15a9d(0x135)||!_0x31f891||_0x2aaae5[_0xf15a9d(0x100)][_0xf15a9d(0x18f)]?.['version']===_0x31f891[_0xf15a9d(0x100)]['version']&&_0x2aaae5[_0xf15a9d(0x100)][_0xf15a9d(0x18f)]?.[_0xf15a9d(0x137)]===_0x31f891['value'][_0xf15a9d(0x137)]&&(_0x2aaae5['value'][_0xf15a9d(0x111)]??null)===(_0x31f891['value'][_0xf15a9d(0x111)]??null)));if(!_0x2c7520['length']){const _0x15930d=_0x28e991[_0xf15a9d(0x134)](_0x4ebccc=>_0x4ebccc['value'][_0xf15a9d(0x1a2)]?.['status']===_0xf15a9d(0x185)),_0x39f8a7={};return _0x39f8a7[_0xf15a9d(0xe5)]=_0xf15a9d(0x196),_0x39f8a7['entries']=[],_0x15930d?{'status':_0xf15a9d(0x185),...validateIndexArchive(_0xc7f84d,_0x15930d[_0xf15a9d(0x100)]['indexResult']['recovery'],_0x744f31[_0xf15a9d(0x127)])}:_0x39f8a7;}if(_0x2c7520[_0xf15a9d(0x15b)]!==0x1||!_0x31f891||!_0xc75cda)fail('INDEX_AUTHORITY_UNVERIFIED');const _0x2e87b3=_0x2c7520[0x0],_0x2932ad=_0x2e87b3[_0xf15a9d(0x100)],_0x2ca9ad=_0x2932ad[_0xf15a9d(0x1a2)][_0xf15a9d(0xe6)],_0x4ccef5=_0x31f891[_0xf15a9d(0x100)];if(!_0x2ca9ad||!_0x4ccef5[_0xf15a9d(0x123)]||!_0x2932ad['workspace']||!sameWorkspace(_0x4ccef5[_0xf15a9d(0x123)],_0xc7f84d)||!sameWorkspace(_0x2932ad[_0xf15a9d(0x123)],_0xc7f84d)||_0x2932ad[_0xf15a9d(0x18f)]?.['version']!==_0x4ccef5['version']||_0x2932ad[_0xf15a9d(0x18f)]?.['digest']!==_0x4ccef5[_0xf15a9d(0x137)]||!Number[_0xf15a9d(0x17f)](_0x4ccef5[_0xf15a9d(0xfd)])||_0x4ccef5[_0xf15a9d(0xfd)]<0x1||[_0xf15a9d(0xfd),_0xf15a9d(0x164),_0xf15a9d(0xf3),_0xf15a9d(0x111)][_0xf15a9d(0x116)](_0x4e7404=>(_0x2932ad[_0x4e7404]??null)!==(_0x4ccef5[_0x4e7404]??null)||(_0x2ca9ad[_0x4e7404]??null)!==(_0x4ccef5[_0x4e7404]??null))||!/^[a-f0-9]{64}$/['test'](_0x4ccef5[_0xf15a9d(0xf3)]||'')||_0xc75cda[_0xf15a9d(0x100)][_0xf15a9d(0x16d)]!==_0xf15a9d(0x179)||_0xc75cda[_0xf15a9d(0x100)][_0xf15a9d(0x18b)]!==_0x2ca9ad[_0xf15a9d(0x157)]||_0xc75cda[_0xf15a9d(0x100)][_0xf15a9d(0xfd)]!=null&&_0xc75cda['value']['generation']!==_0x4ccef5[_0xf15a9d(0xfd)]||sha(fs[_0xf15a9d(0xf1)](safePath(_0xc7f84d,path[_0xf15a9d(0x172)](_0xc7f84d,_0xf15a9d(0xff)))))!==_0x4ccef5[_0xf15a9d(0x164)])fail('INDEX_AUTHORITY_UNVERIFIED');const _0x31aa7a=_0x2ca9ad[_0xf15a9d(0x13f)]?.['release']||_0x744f31[_0xf15a9d(0xee)]||_0x4ccef5['release']||_0x744f31[_0xf15a9d(0x101)]&&path[_0xf15a9d(0x172)](_0x744f31[_0xf15a9d(0x101)],_0xf15a9d(0x15a),_0x4ccef5['version']+'-'+_0x4ccef5['digest']),_0x18d22b=verifyIndexProducer(_0x31aa7a,_0x744f31['publicKey']);if(_0x18d22b[_0xf15a9d(0xea)]!==_0x4ccef5[_0xf15a9d(0xea)]||_0x18d22b[_0xf15a9d(0x137)]!==_0x4ccef5[_0xf15a9d(0x137)]||_0x2ca9ad[_0xf15a9d(0x13f)]&&(_0x2ca9ad[_0xf15a9d(0x13f)][_0xf15a9d(0xea)]!==_0x18d22b[_0xf15a9d(0xea)]||_0x2ca9ad[_0xf15a9d(0x13f)][_0xf15a9d(0x137)]!==_0x18d22b['digest'])||_0x2ca9ad[_0xf15a9d(0x12d)]&&_0x2ca9ad[_0xf15a9d(0x12d)]!==_0x18d22b[_0xf15a9d(0x18d)][_0xf15a9d(0x12d)])fail('INDEX_PRODUCER_UNVERIFIED');const _0x408fce=require(_0xf15a9d(0xfa)),_0x255018=['codegraph',_0xf15a9d(0x17e)][_0xf15a9d(0xef)](_0x3c1b53=>{const _0x21fe70=_0xf15a9d,_0x1f4d78={..._0x18d22b[_0x21fe70(0x18d)][_0x21fe70(0xf0)][_0x3c1b53]};_0x1f4d78['cacheContract']=_0x18d22b[_0x21fe70(0x18d)][_0x21fe70(0x142)];const _0x3c586a=_0x1f4d78,_0x2c48c6=_0x2ca9ad['caches']?.[_0x21fe70(0x134)](_0x4602ac=>_0x4602ac[_0x21fe70(0x15d)]===_0x3c1b53)?.['marker'],_0x3b43d8={};_0x3b43d8['workspace']=_0xc7f84d,_0x3b43d8[_0x21fe70(0x15d)]=_0x3c1b53,_0x3b43d8['profile']=_0x3c586a,_0x3b43d8[_0x21fe70(0x1a3)]=_0x2c48c6?.['instanceId'],_0x3b43d8[_0x21fe70(0x121)]=!![];const _0x4a4986=_0x408fce[_0x21fe70(0xfe)](_0x3b43d8);if(!_0x4a4986||_0x2c48c6&&JSON[_0x21fe70(0x1a0)](_0x2c48c6)!==JSON[_0x21fe70(0x1a0)](_0x4a4986[_0x21fe70(0xf7)])||!_0x2c48c6&&_0x3c586a[_0x21fe70(0x142)]===0x3)fail(_0x21fe70(0x156));return validateManagedIndexCache(_0x4a4986),_0x4a4986;}),_0x3e360e=/^[a-f0-9-]{36}$/[_0xf15a9d(0x114)](_0x2ca9ad[_0xf15a9d(0x10c)]||'')?read(_0xc7f84d,path[_0xf15a9d(0x172)](_0x3cee4e,_0xf15a9d(0x11d),_0x2ca9ad[_0xf15a9d(0x10c)]+_0xf15a9d(0x129))):null;if(_0x18d22b[_0xf15a9d(0x18d)][_0xf15a9d(0x142)]===0x3&&(!_0x3e360e||JSON[_0xf15a9d(0x1a0)](_0x3e360e[_0xf15a9d(0x100)][_0xf15a9d(0xe6)])!==JSON[_0xf15a9d(0x1a0)](_0x2ca9ad)||![_0xf15a9d(0x115),'stopped'][_0xf15a9d(0x13e)](_0x3e360e[_0xf15a9d(0x100)][_0xf15a9d(0xe5)])))fail('INDEX_AUTHORITY_UNVERIFIED');const _0x982dd0=[_0x2e87b3,_0x31f891,_0xc75cda,..._0x3e360e?[_0x3e360e]:[],read(_0xc7f84d,path[_0xf15a9d(0x172)](_0xc7f84d,'.agents/manifest.json')),..._0x255018['flatMap'](_0x14f37b=>[...[_0xf15a9d(0xf8),'receipt.json',_0xf15a9d(0x17c),'cache.lock',_0xf15a9d(0x192)][_0xf15a9d(0xef)](_0x2d4bbe=>read(_0xc7f84d,path['join'](_0x14f37b[_0xf15a9d(0x168)],_0x2d4bbe))),read(_0xc7f84d,path[_0xf15a9d(0x172)](_0x14f37b[_0xf15a9d(0x195)],_0xf15a9d(0x186))),_0x14f37b[_0xf15a9d(0x146)]&&read(_0xc7f84d,_0x14f37b[_0xf15a9d(0x146)])][_0xf15a9d(0x10d)](Boolean)),...[_0xf15a9d(0x190),_0xf15a9d(0x11c),'admission.json.lock'][_0xf15a9d(0xef)](_0x234ef1=>read(_0xc7f84d,path[_0xf15a9d(0x172)](_0x3cee4e,_0x234ef1)))['filter'](Boolean)],_0x7764e0=_0x744f31['boot']===undefined?require(_0xf15a9d(0x18c))['captureBootEvidence']():_0x744f31[_0xf15a9d(0x176)],_0x4f4ca0={},_0x4502d5=_0x744f31[_0xf15a9d(0xf9)]||require(_0xf15a9d(0x18c))['readProcessIdentity'],_0x1fdfcb=classifyInterruption({'workspace':_0xc7f84d,'execution':_0x2ca9ad,'boot':_0x7764e0,'producer':_0x18d22b,'lifecycle':_0x3e360e?.[_0xf15a9d(0x100)],'processIdentity':_0x5e5ccd=>{const _0xf224a7=_0x4502d5(_0x5e5ccd);return _0x4f4ca0[_0x5e5ccd]=_0xf224a7,_0xf224a7;}}),_0x1990a9={..._0x1fdfcb};return _0x1990a9[_0xf15a9d(0x123)]=_0xc7f84d,_0x1990a9[_0xf15a9d(0x16f)]=_0x2e87b3,_0x1990a9[_0xf15a9d(0xfd)]=_0x31f891,_0x1990a9[_0xf15a9d(0x133)]=_0xc75cda,_0x1990a9[_0xf15a9d(0x13f)]=_0x18d22b,_0x1990a9[_0xf15a9d(0x194)]=_0x255018,_0x1990a9[_0xf15a9d(0x11f)]=_0x982dd0,_0x1990a9[_0xf15a9d(0x176)]=_0x7764e0,_0x1990a9[_0xf15a9d(0x130)]=_0x4f4ca0,_0x1990a9;}catch(_0x4c277d){const _0x4ac9e3={};return _0x4ac9e3[_0xf15a9d(0xe5)]=_0xf15a9d(0xe9),_0x4ac9e3[_0xf15a9d(0x12c)]=_0x4c277d['code']||_0xf15a9d(0xf2),_0x4ac9e3;}}function _0x3ce1(){const _0x5b731d=['D29YA3nWywnL','su5ervHFuKvdt1zfuLLFqLvtwq','CMvJB3jKzwqTAw5KzxGTAM9Ilxn0B3bWzwq','CgvUzgLUzW','ChvIBgLJs2v5','mdaWmdaWmdaTmdaWmc0WmdaWltaWmdaTmdaWmdaWmdaWmdaW','lMPZB24','nZm3ruvty3Lb','y29KzwDYyxbO','CMvHC29U','y29UDgfPBM1LBNq','y2HLy2TWB2LUDeHHC2G','y29VCMrPBMf0B3jqAwq','ChjVy2vZC2vZ','zMLSzxm','Aw5ZCgvJDeLUzgv4sw50zxjYDxb0Aw9U','zMvUy2u','zMLUza','DxbKyxrLlxrYyw5Zywn0Aw9UlMPZB24','B3jPz2LUywW','zgLNzxn0','y2XVC2vKqxq','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','lI4Vy29Yzs9YzwnVDMvYEs1HCMnOAxzL','Aw5KzxGTBwfPBNrLBMfUy2uUANnVBG','zMvUy2viyxnO','CMvWBgfJzufSBa','Aw5JBhvKzxm','ChjVzhvJzxi','mtaYmZa3ohrIq2zlza','yxjJAgL2zuHHC2G','y2fJAgvdB250CMfJDa','CNvUBMLUzW','C3rVChbLza','y29UDhjHy3rjza','C2vSzwn0B3jgAwXL','C291CMnL','y29Kzq','mtm1mtbfuw5utwu','CMvSyxrPDMu','mtqXnNj2BM5cBq','ywn0AxzL','AgfZt3DU','CMvJB3zLCMfIBguTAw50zxjYDxb0Aw9U','ndKZnZq2suXUBKPk','zxHWB3j0CW','CMv2zxjZzq','B2jZzxj2zwruAw1L','AgfZ','Aw5ZCgvJDfn0B3bWzwrczwzVCMvcB290','C29YDa','su5ervHFq0fdsevFvu5wrvjjrKLfra','zMvUy2vfCg9JAa','Dg9tDhjPBMC','DMfSAwrtyw1Ltgf1BMnOqM9VDa','CMvSzwfZzxm','BgvUz3rO','CMvJB25JAwXLsw5KzxHjBNrLCNj1ChrPB24','A2LUza','C2HHmJu2','Bgf1BMnOzxjqAwq','Dg9ju09tDhjPBMC','ovrpzgrTuG','Aw5KzxHszwnVDMvYAwvZ','C3rYAw5N','CMvZB3vYy2veAwDLC3q','yMfJA3vWlMPZB24','nJeXnuvrB05YDW','ndiWndy4y2rrzNrm','C3rHDgveAxjLy3rVCNK','ru5pru5u','Aw5ZDgfUy2vZ','zMLSzq','ChjVzMLSzq','C3rHDgu','CMvJzwLWDc5QC29U','y2HLy2TWB2LUDa','zNjVBq','mty0rhntwNr5','AM9PBG','ywrTAxnZAw9UlMPZB24UBg9JAW','CMvSzwfZzq','yNjVA2vYugLK','yM9VDa','y2fJAguTBwfYA2vYCY8','nJeWodiZmhD5wLjQua','B3bLBG','CMfUzg9Tvvvjra','AM9I','CMvJB3zLCNKUANnVBG','y2fJAguUBg9JAW','y29Kzs1YzxzPzxCTz3jHCgG','AxntywzLsw50zwDLCG','z2vUzxjHDgLVBKHHC2G','ywrTAxnZAw9UlMPZB24','yMfZzw5HBwu','yMfZzty0','z2vUzxjHDgLVBI5QC29U','Aw50zxjYDxb0zwq','lMfWDc1Tyw5Hz2vKlMPZB24','odi4mdGZmMnTyLb1tq','BM9KztPJCNLWDg8','C3rVCfjLyxnVBG','AxnbCNjHEq','zxbVy2G','lI4Vy29Yzs9IB290lwv2AwrLBMnL','y29UDhjHy3q','BM9KztPMCW','DgfYz2v0','zxHLy3v0B3iUBg9JAW','lMfNzw50CY9YDw50Aw1Ll2fKBwLZC2LVBI5QC29U','ChvIBgLJyxrPB24UANnVBG','y2fJAgvZ','yxv0Ag9YAxrPzxm','y2fJAgveAxjLy3rVCNK','y2XLyxi','B3v0y29Tzq','Bg9JywXLq29TCgfYzq','ChvZAa','CMvHBhbHDgHtEw5J','AM9IlxrYzwu','su5ervHFuKvdt1zfuLLFq0HbtKDfra','lI4VyMfJA2vUzhmVAw5KzxGTC3rVCMu','DhjLzunVBMzPCM1Lza','lMfNzw50CY9YzwnVDMvYEs1IywnRDxbZ','C3rYAw5NAwz5','ChvIBgLJyxrPB25iyxnO','Aw5KzxHszxn1Bhq','Aw5ZDgfUy2vjza','su5ervHFuKvdt1zfuLLFvu5wrvjjrKLfra','yxnZAwDU','D2LUzg93CY1QB2iTB2jQzwn0','C3rHDhvZ','zxHLy3v0Aw9U','ywrK','ndLZrw1tDMO','Dw5RBM93BG','DMvYC2LVBG','yxjJAgL2zq','C2vW','lMfNzw50CY9YDw50Aw1Ll2LUzgv4lwf0DgvTChrZ','ChjVzhvJzxjszwXLyxnL','BwfW','ChjVzMLSzxm','CMvHzezPBgvtEw5J','su5ervHFrvzjrevoq0vFvu5wrvjjrKLfra','y2f0ywXVz0HHC2G','Bwv0Ag9K','ufjprfvdveLptL9qvujmsunFs0vz','CgLK','BwfYA2vY','yxv0Ag9YAxr5lMPZB24','ChjVy2vZC0LKzw50Axr5','lI4VyMfJA2vUzhmVAw5KzxGTy2fJAguTyxv0Ag9YAxr5','lMfNzw50CY9YDw50Aw1LlW','y29UDgfPBM1LBNrfDMLKzw5Jzq','z2vUzxjHDgLVBG','CMvZB2X2zu1HBMfNzwrjBMrLEenHy2HL','lMfNzw50CY9Tyw5PzMvZDc5QC29U','DMfSDwu','CNvUDgLTzvjVB3q','yxnZAwDUBwvUDenVBMzPCM1Lza','Bgf1BMnOzxjqCM9JzxnZu3rHCNq','su5ervHFqvvuse9ssvrzx1vovKvssuzjruq','lI4Vy29Yzs9VD25Lzc1SB2nR','BM9KztPWyxrO','yNL0zxm','lI4VBgLJzw5Zzs92zxjPzNK','CMvZB2X2zq','C3rVCev2AwrLBMnLq29UDhjHy3q','Cgf0Aa','yxr0zw1WDeLK','zMLSDgvY','zgLYBMfTzq','zxf1ywXZ','Aw5KzxGT','DhjHBNnHy3rPB25jza','C3rHCNrZv2L0Aa','ywn0AxzLuhjVy2vZC2vZ','DgvZDa','CMvZzxj2zwq','C29Tzq','C2H1DgrVD25fDMLKzw5Jzq','yxbWBhK','CMvJB3zLCNLjza','lMfNzw50CY9YDw50Aw1L','yxrVBwLJ','DxbKyxrLlMXVy2S','Aw5KzxGTyxr0zw1WDhm','DMfSAwrHDgvszxrPCMvKq2fJAgvbCNrPzMfJDa','yxj0AwzHy3rZ','B3DUzwq','AgLZDg9YAwnHBa','CMvJB3zLCNK'];_0x3ce1=function(){return _0x5b731d;};return _0x3ce1();}function reconcileIndexInterruption(_0xb6e1b,_0x13df5a={}){const _0x3d2e31=_0x3aa1b9;_0xb6e1b=fs[_0x3d2e31(0x19a)](_0xb6e1b);const _0x37e40d=inspectIndexInterruption(_0xb6e1b,_0x13df5a);if(!_0x13df5a[_0x3d2e31(0x118)]||![_0x3d2e31(0x14e),_0x3d2e31(0x185)][_0x3d2e31(0x13e)](_0x37e40d[_0x3d2e31(0xe5)]))return _0x37e40d;if(_0x37e40d['status']===_0x3d2e31(0x185))return _0x37e40d;const _0x133046=path[_0x3d2e31(0x172)](_0xb6e1b,_0x3d2e31(0x11a)),_0x29a1d9=[],_0x55a9f3=new Set([_0x3d2e31(0x190),_0x3d2e31(0x11c),_0x3d2e31(0x173)][_0x3d2e31(0xef)](_0x3cd349=>path['join'](_0x133046,_0x3cd349))),_0x489d0b=_0x1777f5=>JSON[_0x3d2e31(0x1a0)](_0x1777f5[_0x3d2e31(0x10d)](_0x4c80ae=>!_0x55a9f3[_0x3d2e31(0x153)](_0x4c80ae[_0x3d2e31(0x16b)]))[_0x3d2e31(0xef)](_0x5a7673=>[_0x5a7673[_0x3d2e31(0x16b)],_0x5a7673['sha256']])[_0x3d2e31(0x155)](([_0x57faa3],[_0xa94e0d])=>_0x57faa3[_0x3d2e31(0x198)](_0xa94e0d)));try{const _0x37249b=safePath(_0xb6e1b,path[_0x3d2e31(0x172)](_0x133046,'index-interruptions',_0x37e40d['checkpoint']['sha256']+_0x3d2e31(0x129)));safePath(_0xb6e1b,path[_0x3d2e31(0x10e)](_0x37249b),!![]);let _0x38a1a1=read(_0xb6e1b,_0x37249b)?.[_0x3d2e31(0x100)];const _0xc8200d=_0x5298d1=>{const _0x450273=_0x3d2e31;if(!/[/\\]selectors[/\\][a-f0-9]{64}\.json$/[_0x450273(0x114)](_0x5298d1[_0x450273(0x16b)])||!_0x38a1a1)return![];const _0x343ae8=_0x5298d1[_0x450273(0x100)],_0x3095a2=_0x343ae8?.[_0x450273(0x126)],_0xb9ab14=_0x38a1a1[_0x450273(0x131)]?.[_0x450273(0x134)](_0x459327=>_0x459327[_0x450273(0x136)]===path[_0x450273(0x14a)](_0xb6e1b,_0x5298d1[_0x450273(0x16b)])[_0x450273(0x13d)]('\x5c','/')),_0x275899=_0xb9ab14&&JSON['parse'](Buffer[_0x450273(0x170)](_0xb9ab14[_0x450273(0x107)],_0x450273(0x183)));return _0x343ae8['version']===0x1&&_0x3095a2?.[_0x450273(0x1a3)]===_0x38a1a1[_0x450273(0x119)]&&_0x3095a2[_0x450273(0x119)]===_0x38a1a1['recoveryId']&&_0x3095a2[_0x450273(0x141)]===sha(JSON['stringify'](_0x38a1a1))&&_0x343ae8[_0x450273(0x14c)]===(_0x275899?.['active']||_0x450273(0x128));};if(_0x38a1a1&&(_0x38a1a1['checkpointHash']!==_0x37e40d[_0x3d2e31(0x16f)][_0x3d2e31(0x15e)]||_0x38a1a1[_0x3d2e31(0x10c)]!==_0x37e40d[_0x3d2e31(0x16f)][_0x3d2e31(0x100)][_0x3d2e31(0x1a2)]['execution'][_0x3d2e31(0x10c)]||_0x38a1a1['generationHash']!==_0x37e40d[_0x3d2e31(0xfd)][_0x3d2e31(0x15e)]||_0x38a1a1[_0x3d2e31(0x13c)]!==_0x37e40d['fence']['sha256']||_0x37e40d[_0x3d2e31(0x11f)][_0x3d2e31(0x116)](_0x2db0a1=>!['executor.lock',_0x3d2e31(0x11c),_0x3d2e31(0x173)][_0x3d2e31(0x13e)](path[_0x3d2e31(0x182)](_0x2db0a1[_0x3d2e31(0x16b)]))&&!_0x38a1a1[_0x3d2e31(0x131)]?.[_0x3d2e31(0x116)](_0x30e411=>_0x30e411[_0x3d2e31(0x136)]===path[_0x3d2e31(0x14a)](_0xb6e1b,_0x2db0a1['file'])[_0x3d2e31(0x13d)]('\x5c','/')&&_0x30e411['sha256']===_0x2db0a1[_0x3d2e31(0x15e)])&&!_0xc8200d(_0x2db0a1))))fail(_0x3d2e31(0x19c));if(!_0x38a1a1){const _0x4f86f6=crypto[_0x3d2e31(0x17a)](),_0x3728c5=_0x37e40d[_0x3d2e31(0x11f)]['map'](_0x253f0a=>({'path':path[_0x3d2e31(0x14a)](_0x133046,_0x253f0a[_0x3d2e31(0x16b)])[_0x3d2e31(0x112)]('..')?_0x3d2e31(0x177)+sha(path[_0x3d2e31(0x14a)](_0xb6e1b,_0x253f0a[_0x3d2e31(0x16b)]))+_0x3d2e31(0x129):path[_0x3d2e31(0x14a)](_0x133046,_0x253f0a['file'])[_0x3d2e31(0x13d)]('\x5c','/'),'original':path[_0x3d2e31(0x14a)](_0xb6e1b,_0x253f0a['file'])[_0x3d2e31(0x13d)]('\x5c','/'),'sha256':_0x253f0a[_0x3d2e31(0x15e)],'bytes':_0x253f0a[_0x3d2e31(0x107)][_0x3d2e31(0x158)](_0x3d2e31(0x183))})),_0x3c29f3={};_0x3c29f3[_0x3d2e31(0xea)]=0x1,_0x3c29f3[_0x3d2e31(0x123)]=_0xb6e1b,_0x3c29f3[_0x3d2e31(0x119)]=_0x4f86f6,_0x3c29f3[_0x3d2e31(0x10c)]=_0x37e40d['checkpoint'][_0x3d2e31(0x100)][_0x3d2e31(0x1a2)][_0x3d2e31(0xe6)][_0x3d2e31(0x10c)],_0x3c29f3[_0x3d2e31(0x12e)]=_0x37e40d[_0x3d2e31(0x16f)]['sha256'],_0x3c29f3[_0x3d2e31(0x180)]=_0x37e40d['generation']['sha256'],_0x3c29f3[_0x3d2e31(0x13c)]=_0x37e40d['fence'][_0x3d2e31(0x15e)],_0x3c29f3['outcome']='unknown',_0x3c29f3[_0x3d2e31(0x12c)]=_0x37e40d[_0x3d2e31(0x12c)],_0x3c29f3[_0x3d2e31(0x176)]=_0x37e40d[_0x3d2e31(0x176)],_0x3c29f3[_0x3d2e31(0x130)]=_0x37e40d[_0x3d2e31(0x130)],_0x3c29f3[_0x3d2e31(0x13f)]=_0x37e40d['producer'],_0x3c29f3[_0x3d2e31(0x16a)]={},_0x3c29f3[_0x3d2e31(0x131)]=_0x3728c5,_0x3c29f3[_0x3d2e31(0x16a)][_0x3d2e31(0x12b)]=_0x4f86f6,_0x3c29f3[_0x3d2e31(0x16a)][_0x3d2e31(0x17e)]=_0x4f86f6,_0x38a1a1=_0x3c29f3,preserveArchiveBytes(_0x37249b,JSON[_0x3d2e31(0x1a0)](_0x38a1a1));}const {acquireExactRuntimeLock:_0x52fd93}=require(_0x3d2e31(0x105));for(const _0x20211b of[_0x3d2e31(0x190),_0x3d2e31(0x11c),'admission.json.lock']){const _0x406f9f=safePath(_0xb6e1b,path[_0x3d2e31(0x172)](_0x133046,_0x20211b)),_0x178ee3=_0x37e40d[_0x3d2e31(0x11f)][_0x3d2e31(0x134)](_0x4c9f92=>_0x4c9f92['file']===_0x406f9f)?.[_0x3d2e31(0x107)]||null,_0xca3e35=_0x52fd93(_0x406f9f,_0x178ee3);if(!_0xca3e35)fail(_0x3d2e31(0x124));_0x29a1d9[_0x3d2e31(0x199)](_0xca3e35);}const _0x38d2bd=inspectIndexInterruption(_0xb6e1b,_0x13df5a);if(_0x38d2bd['status']!==_0x3d2e31(0x14e)||_0x37e40d[_0x3d2e31(0x16f)][_0x3d2e31(0x15e)]!==_0x38d2bd[_0x3d2e31(0x16f)][_0x3d2e31(0x15e)]||_0x37e40d['generation'][_0x3d2e31(0x15e)]!==_0x38d2bd['generation'][_0x3d2e31(0x15e)]||_0x37e40d['fence'][_0x3d2e31(0x15e)]!==_0x38d2bd[_0x3d2e31(0x133)][_0x3d2e31(0x15e)]||_0x489d0b(_0x37e40d[_0x3d2e31(0x11f)])!==_0x489d0b(_0x38d2bd[_0x3d2e31(0x11f)]))fail(_0x3d2e31(0x19c));for(const _0xea8bb3 of _0x37e40d[_0x3d2e31(0x11f)])if(!_0x55a9f3[_0x3d2e31(0x153)](_0xea8bb3[_0x3d2e31(0x16b)])&&!fs[_0x3d2e31(0xf1)](_0xea8bb3[_0x3d2e31(0x16b)])[_0x3d2e31(0x10f)](_0xea8bb3[_0x3d2e31(0x107)]))fail('INDEX_RECOVERY_CHANGED');const _0x25a4da=safePath(_0xb6e1b,path['join'](_0xb6e1b,_0x3d2e31(0x19f),_0x3d2e31(0x110)+_0x38a1a1['recoveryId']),!![]),_0x10d069=Buffer[_0x3d2e31(0x170)](JSON[_0x3d2e31(0x1a0)](_0x38a1a1));preserveArchiveBytes(safePath(_0xb6e1b,path[_0x3d2e31(0x172)](_0x25a4da,_0x3d2e31(0x165))),_0x10d069);for(const _0x2bb011 of _0x38a1a1[_0x3d2e31(0x131)]){const _0x3b97ed=Buffer[_0x3d2e31(0x170)](_0x2bb011[_0x3d2e31(0x107)],'base64');if(sha(_0x3b97ed)!==_0x2bb011[_0x3d2e31(0x15e)])fail(_0x3d2e31(0x19c));const _0x3f2188=safePath(_0xb6e1b,path['join'](_0x25a4da,_0x2bb011[_0x3d2e31(0x10b)]));safePath(_0xb6e1b,path[_0x3d2e31(0x10e)](_0x3f2188),!![]),preserveArchiveBytes(_0x3f2188,_0x3b97ed);}const _0x2fcedc={'recoveryId':_0x38a1a1[_0x3d2e31(0x119)],'archiveHash':sha(_0x10d069)};validateIndexArchive(_0xb6e1b,_0x2fcedc,_0x13df5a[_0x3d2e31(0x127)]);const _0x6e4524=inspectIndexInterruption(_0xb6e1b,_0x13df5a);if(_0x6e4524[_0x3d2e31(0xe5)]!==_0x3d2e31(0x14e)||_0x6e4524[_0x3d2e31(0x16f)][_0x3d2e31(0x15e)]!==_0x38a1a1[_0x3d2e31(0x12e)]||_0x6e4524[_0x3d2e31(0xfd)][_0x3d2e31(0x15e)]!==_0x38a1a1[_0x3d2e31(0x180)]||_0x6e4524[_0x3d2e31(0x133)][_0x3d2e31(0x15e)]!==_0x38a1a1[_0x3d2e31(0x13c)]||_0x489d0b(_0x37e40d[_0x3d2e31(0x11f)])!==_0x489d0b(_0x6e4524[_0x3d2e31(0x11f)])||_0x29a1d9[_0x3d2e31(0x116)](_0x2d48bf=>!_0x2d48bf[_0x3d2e31(0x120)]()))fail(_0x3d2e31(0x19c));for(const _0x156a30 of _0x37e40d[_0x3d2e31(0x11f)])if(!_0x55a9f3['has'](_0x156a30[_0x3d2e31(0x16b)])&&!fs[_0x3d2e31(0xf1)](_0x156a30[_0x3d2e31(0x16b)])[_0x3d2e31(0x10f)](_0x156a30[_0x3d2e31(0x107)]))fail('INDEX_RECOVERY_CHANGED');const _0x458d7d=_0x6e4524[_0x3d2e31(0x16f)]['value'];for(const _0x232563 of[_0x3d2e31(0x12b),_0x3d2e31(0x17e)]){const _0x39a8f8=require(_0x3d2e31(0xfa)),_0x11da6a={};_0x11da6a[_0x3d2e31(0x123)]=_0xb6e1b,_0x11da6a[_0x3d2e31(0x15d)]=_0x232563,_0x11da6a[_0x3d2e31(0x16c)]={..._0x6e4524[_0x3d2e31(0x13f)][_0x3d2e31(0x18d)]['profiles'][_0x232563]},_0x11da6a[_0x3d2e31(0x121)]=!![],_0x11da6a[_0x3d2e31(0x16c)][_0x3d2e31(0x142)]=0x3;const _0x2e26c7=_0x39a8f8['resolveManagedIndexCache'](_0x11da6a);_0x39a8f8['stageManagedIndexCache'](_0x2e26c7,_0x2fcedc,_0x13df5a[_0x3d2e31(0x127)]);}const _0xb23292={..._0x458d7d};_0xb23292['indexRecoveries']=[..._0x458d7d['indexRecoveries']||[],_0x2fcedc],_0xb23292[_0x3d2e31(0x1a2)]={..._0x458d7d[_0x3d2e31(0x1a2)]},_0xb23292[_0x3d2e31(0x1a2)][_0x3d2e31(0xe5)]='interrupted',_0xb23292[_0x3d2e31(0x1a2)][_0x3d2e31(0x197)]='unknown',_0xb23292[_0x3d2e31(0x1a2)][_0x3d2e31(0x148)]='INDEX_INTERRUPTED',_0xb23292[_0x3d2e31(0x1a2)]['retryable']=!![],_0xb23292[_0x3d2e31(0x1a2)][_0x3d2e31(0x122)]=_0x2fcedc,require(_0x3d2e31(0x19d))[_0x3d2e31(0x11b)](_0x6e4524[_0x3d2e31(0x16f)]['file'],_0xb23292);const _0x5f26e3={};return _0x5f26e3[_0x3d2e31(0xe5)]=_0x3d2e31(0x185),_0x5f26e3[_0x3d2e31(0x119)]=_0x38a1a1['recoveryId'],_0x5f26e3[_0x3d2e31(0x141)]=_0x2fcedc['archiveHash'],_0x5f26e3['archive']=_0x25a4da,_0x5f26e3;}catch(_0x5eef3f){const _0x26f755={};return _0x26f755['status']='unknown',_0x26f755['reason']=_0x5eef3f[_0x3d2e31(0x148)]||_0x3d2e31(0x1a4),_0x26f755;}finally{for(const _0x4ff391 of _0x29a1d9[_0x3d2e31(0x151)]())_0x4ff391();}}function validateRetiredCacheArtifact(_0x1323c6,_0x58a2ef,_0x5385e9,_0x1f066f){const _0x856248=_0x3aa1b9;try{_0x1323c6=fs[_0x856248(0x19a)](_0x1323c6),safePath(_0x1323c6,_0x58a2ef);const _0x3edebf=path['relative'](_0x1323c6,_0x58a2ef)[_0x856248(0x13d)]('\x5c','/'),_0x43fb3f=sha(_0x5385e9),_0x24c5b8=[_0x856248(0x13b),'update-transaction.json']['map'](_0x3c9233=>read(_0x1323c6,path[_0x856248(0x172)](_0x1323c6,_0x856248(0x11a),_0x3c9233)))['filter'](Boolean);for(const _0x113a85 of _0x24c5b8)for(const _0x57d1ea of[..._0x113a85['value']['indexRecoveries']||[],..._0x113a85[_0x856248(0x100)][_0x856248(0x1a2)]?.[_0x856248(0x122)]?[_0x113a85[_0x856248(0x100)][_0x856248(0x1a2)]['recovery']]:[]]){const _0x5b35de=validateIndexArchive(_0x1323c6,_0x57d1ea,_0x1f066f);if(_0x24c5b8[_0x856248(0x116)](_0x2fcfbe=>[_0x856248(0x143),_0x856248(0xe9)][_0x856248(0x13e)](_0x2fcfbe[_0x856248(0x100)]['indexResult']?.[_0x856248(0xe5)])&&_0x2fcfbe['value'][_0x856248(0x1a2)][_0x856248(0xe6)]?.[_0x856248(0x10c)]===_0x5b35de[_0x856248(0x10c)]))continue;const _0x5533ce=_0x5b35de[_0x856248(0x131)][_0x856248(0x134)](_0x5a543a=>_0x5a543a[_0x856248(0x136)]===_0x3edebf&&_0x5a543a[_0x856248(0x15e)]===_0x43fb3f);if(!_0x5533ce||!/^\.agents\/runtime\/backends\/(codegraph|code-review-graph)\/caches\/[a-f0-9]{24}\/(receipt|recovery)\.json$/['test'](_0x3edebf))continue;if(!fs['readFileSync'](_0x58a2ef)[_0x856248(0x10f)](Buffer[_0x856248(0x170)](_0x5385e9))||!fs[_0x856248(0xf1)](path[_0x856248(0x172)](_0x5b35de[_0x856248(0xeb)],_0x5533ce[_0x856248(0x10b)]))[_0x856248(0x10f)](Buffer[_0x856248(0x170)](_0x5385e9)))continue;return!![];}}catch{}return![];}const _0x532e0b={};_0x532e0b[_0x3aa1b9(0x132)]=inspectIndexInterruption,_0x532e0b[_0x3aa1b9(0x15c)]=reconcileIndexInterruption,_0x532e0b['validateIndexArchive']=validateIndexArchive,_0x532e0b[_0x3aa1b9(0x11e)]=validateRetiredCacheArtifact,module[_0x3aa1b9(0x150)]=_0x532e0b;