@unotest/viewer 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@unotest/viewer` are documented in this file.
4
+
5
+ ## [0.5.0] - 2026-05-29
6
+
7
+ Initial release. NestJS server + React+MobX frontend for viewing
8
+ `@unotest/web` test runs in a local browser UI. Start via
9
+ `npx @unotest/web viewer`.
10
+
11
+ Environment-variable editor (activity-bar → Environment): reads / edits the
12
+ project's `unotest/.env`. The file owns the key set — only values are
13
+ editable; secrets are masked with a reveal toggle, `0|1` flags render an
14
+ on/off switch. Saves preserve comments, ordering, and the quoting of
15
+ untouched values (`GET`/`PUT /api/env`).
16
+
17
+ The docked terminal restores the execute bit on node-pty's prebuilt
18
+ `spawn-helper` at boot — node-pty 1.1.0 ships it without `+x`, which would
19
+ otherwise make the first Local terminal die with `posix_spawnp failed`.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ivan Volkov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # @unotest/viewer
2
+
3
+ Local browser UI for [`@unotest/web`](https://github.com/unotest/web) test runs.
4
+
5
+ Installed automatically as part of `@unotest/web` — no manual setup needed.
6
+
7
+ ## Usage
8
+
9
+ ```sh
10
+ npx @unotest/web viewer
11
+ ```
12
+
13
+ Opens a local IDE-style UI in your default browser: a scenario / collection
14
+ / run-history tree, run-from-UI with live results over WebSocket, a foldable
15
+ block view of each scenario (one section per `//@collapse` group) with
16
+ per-step status, a step debugger (breakpoints + live DOM inspection),
17
+ screenshots and failure artifacts, and a docked terminal.
18
+
19
+ Set `UNOTEST_VIEWER_NO_OPEN=1` to start the server without auto-opening the browser.
20
+
21
+ ## Ecosystem
22
+
23
+ | Package | Role |
24
+ |---|---|
25
+ | [`@unotest/web`](https://github.com/unotest/web) | CLI / MCP server / runner |
26
+ | `@unotest/viewer` | this package — local results browser |
27
+ | [`@unotest/protocol`](https://github.com/unotest/protocol) | shared types |
28
+ | [`@unotest/dsl`](https://github.com/unotest/dsl) | scenario parser + validator engine |
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ // Standalone launcher for @unotest/viewer. End users normally don't
3
+ // invoke this — `npx @unotest/web viewer` is the canonical entry that
4
+ // spawns the same server. Kept here for dev / debug / future Electron
5
+ // builds that embed Nest directly.
6
+
7
+ import "./../dist/server/main.js";
@@ -0,0 +1,25 @@
1
+ import { IRunnerAdapter } from '@unotest/protocol';
2
+
3
+ interface StartViewerOptions {
4
+ /** Absolute path to the project root (the dir containing `unotest/`). */
5
+ projectRoot: string;
6
+ /** Runner adapter — provides bin path + argv + env for each
7
+ * `RunRequest`. Imported and passed in by whoever launches the
8
+ * viewer (`@unotest/web`'s viewer-launcher passes `webRunnerAdapter`,
9
+ * `@unotest/mobile`'s would pass its own). The viewer NEVER imports
10
+ * a concrete adapter — DIP boundary. */
11
+ adapter: IRunnerAdapter;
12
+ /** Port to bind. `0` = OS picks a free port. Default 0. */
13
+ port?: number;
14
+ /** Host to bind. Default 'localhost' (loopback only). */
15
+ host?: string;
16
+ }
17
+ interface ViewerHandle {
18
+ url: string;
19
+ stop(): Promise<void>;
20
+ }
21
+ /** Public entry — `@unotest/web`'s viewer subcommand calls this via
22
+ * `await import('@unotest/viewer/server').startViewerServer({...})`. */
23
+ declare function startViewerServer(opts: StartViewerOptions): Promise<ViewerHandle>;
24
+
25
+ export { type StartViewerOptions, type ViewerHandle, startViewerServer };
@@ -0,0 +1 @@
1
+ const _0x2d7e8f=_0x285c;(function(_0x50f79d,_0x588a9f){const _0x3d9eda={_0x55869e:0x25f,_0x5d1f31:0x233,_0x5302f6:0x278,_0x534b58:0x2ed,_0x489985:0x2f3,_0x3a24a9:0x1aa},_0xb85613=_0x285c,_0x24f220=_0x50f79d();while(!![]){try{const _0xa5313=parseInt(_0xb85613(0x1ce))/0x1+-parseInt(_0xb85613(_0x3d9eda._0x55869e))/0x2*(-parseInt(_0xb85613(_0x3d9eda._0x5d1f31))/0x3)+-parseInt(_0xb85613(_0x3d9eda._0x5302f6))/0x4*(parseInt(_0xb85613(0x22b))/0x5)+parseInt(_0xb85613(0x1a8))/0x6+parseInt(_0xb85613(_0x3d9eda._0x534b58))/0x7+parseInt(_0xb85613(_0x3d9eda._0x489985))/0x8+parseInt(_0xb85613(0x15a))/0x9*(-parseInt(_0xb85613(_0x3d9eda._0x3a24a9))/0xa);if(_0xa5313===_0x588a9f)break;else _0x24f220['push'](_0x24f220['shift']());}catch(_0x5a6dab){_0x24f220['push'](_0x24f220['shift']());}}}(_0x4d5a,0xc817d));var __defProp=Object[_0x2d7e8f(0x2cd)],__name=(_0x5e86de,_0x42f2e7)=>__defProp(_0x5e86de,_0x2d7e8f(0x134),{'value':_0x42f2e7,'configurable':!![]});import'reflect-metadata';import{NestFactory}from'@nestjs/core';import{FastifyAdapter}from'@nestjs/platform-fastify';import{WsAdapter}from'@nestjs/platform-ws';import{existsSync as _0x34b8e5}from'fs';import{dirname as _0x3ee47,resolve as _0x4625dd}from'path';import{fileURLToPath}from'url';import{Catch,HttpStatus}from'@nestjs/common';var ICOLLECTIONS_WRITER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x21d)),CollectionNotFoundError=class extends Error{static{__name(this,'CollectionNotFoundError');}constructor(_0x494687){const _0x5ddf29={_0x389e15:0x134},_0x29afb6=_0x2d7e8f;super(_0x29afb6(0x1c5)+_0x494687+_0x29afb6(0x11e)),this[_0x29afb6(_0x5ddf29._0x389e15)]='CollectionNotFoundError';}},CollectionExistsError=class extends Error{static{__name(this,_0x2d7e8f(0x279));}constructor(_0x350c7f){const _0xd199a2=_0x2d7e8f;super('collection\x20\x22'+_0x350c7f+_0xd199a2(0x196)),this['name']=_0xd199a2(0x279);}},InvalidCollectionNameError=class extends Error{static{__name(this,_0x2d7e8f(0x25b));}constructor(_0xfd591c,_0x3e1155){const _0x2a0d06=_0x2d7e8f;super(_0x2a0d06(0x297)+_0xfd591c+'\x22:\x20'+_0x3e1155),this['name']=_0x2a0d06(0x25b);}};import{posix}from'path';import{parse as _0x388aaa}from'yaml';var CollectionParseError=class extends Error{static{__name(this,_0x2d7e8f(0x2c0));}constructor(_0x33fb4e){const _0x5a0dcb=_0x2d7e8f;super(_0x33fb4e),this[_0x5a0dcb(0x134)]=_0x5a0dcb(0x2c0);}};function parseCollectionYaml(_0x5080b1,_0x558650){const _0x321a6d={_0x3d6b2d:0x2a4,_0x5299ef:0x176,_0x5b3c38:0x23e,_0x5cabd8:0x184},_0x4d3718=_0x2d7e8f;let _0x37482c;try{_0x37482c=_0x388aaa(_0x558650)??{};}catch(_0x3de3e6){throw new CollectionParseError(_0x5080b1+':\x20invalid\x20YAML\x20—\x20'+_0x3de3e6['message']);}if(!Array[_0x4d3718(0x128)](_0x37482c[_0x4d3718(_0x321a6d._0x3d6b2d)]))throw new CollectionParseError(_0x5080b1+_0x4d3718(0x2f1));const _0xc1079a=[];for(const _0x25ed40 of _0x37482c[_0x4d3718(_0x321a6d._0x3d6b2d)]){if(typeof _0x25ed40!==_0x4d3718(0x23e))throw new CollectionParseError(_0x5080b1+_0x4d3718(0x2a3)+typeof _0x25ed40);_0xc1079a[_0x4d3718(0x1c2)](_0x25ed40);}return{'name':posix[_0x4d3718(_0x321a6d._0x5299ef)](_0x5080b1)[_0x4d3718(0x1dd)](/\.ya?ml$/,''),'path':_0x5080b1,'description':typeof _0x37482c['description']===_0x4d3718(_0x321a6d._0x5b3c38)?_0x37482c[_0x4d3718(_0x321a6d._0x5cabd8)]:null,'scenarios':_0xc1079a};}__name(parseCollectionYaml,_0x2d7e8f(0x1b9));function _ts_decorate(_0x5ce552,_0x1fef87,_0x4b63d9,_0x162847){const _0x5ad5ce={_0x554bf6:0x223,_0x701161:0x267,_0x512c55:0x167},_0x3ab1b7=_0x2d7e8f;var _0x196b34=arguments[_0x3ab1b7(_0x5ad5ce._0x554bf6)],_0x24712c=_0x196b34<0x3?_0x1fef87:_0x162847===null?_0x162847=Object[_0x3ab1b7(0x111)](_0x1fef87,_0x4b63d9):_0x162847,_0x494fe7;if(typeof Reflect===_0x3ab1b7(_0x5ad5ce._0x701161)&&typeof Reflect[_0x3ab1b7(_0x5ad5ce._0x512c55)]===_0x3ab1b7(0x22f))_0x24712c=Reflect[_0x3ab1b7(0x167)](_0x5ce552,_0x1fef87,_0x4b63d9,_0x162847);else{for(var _0x245d27=_0x5ce552[_0x3ab1b7(0x223)]-0x1;_0x245d27>=0x0;_0x245d27--)if(_0x494fe7=_0x5ce552[_0x245d27])_0x24712c=(_0x196b34<0x3?_0x494fe7(_0x24712c):_0x196b34>0x3?_0x494fe7(_0x1fef87,_0x4b63d9,_0x24712c):_0x494fe7(_0x1fef87,_0x4b63d9))||_0x24712c;}return _0x196b34>0x3&&_0x24712c&&Object[_0x3ab1b7(0x2cd)](_0x1fef87,_0x4b63d9,_0x24712c),_0x24712c;}__name(_ts_decorate,'_ts_decorate');var CollectionsExceptionFilter=class{static{__name(this,_0x2d7e8f(0x2ca));}['catch'](_0xcb4ae7,_0x1ed4ef){const _0x5909bf={_0x247d67:0x24d,_0xb24e9b:0x284,_0x1f15dc:0x1db,_0x7ff3b3:0x2e4,_0x4d9dd7:0x134,_0x53dd41:0x143},_0x5273f6=_0x2d7e8f,_0x5996f1=_0x1ed4ef[_0x5273f6(_0x5909bf._0x247d67)](),_0x14849b=_0x5996f1[_0x5273f6(0x264)](),_0x4ebd03=this[_0x5273f6(_0x5909bf._0xb24e9b)](_0xcb4ae7);_0x14849b[_0x5273f6(_0x5909bf._0x1f15dc)](_0x4ebd03)[_0x5273f6(_0x5909bf._0x7ff3b3)]({'statusCode':_0x4ebd03,'error':_0xcb4ae7[_0x5273f6(_0x5909bf._0x4d9dd7)],'message':_0xcb4ae7[_0x5273f6(_0x5909bf._0x53dd41)]});}['statusFor'](_0xae1d6a){const _0x394799={_0xa2404a:0x2b7,_0x283863:0x115},_0x40ce87=_0x2d7e8f;if(_0xae1d6a instanceof CollectionNotFoundError)return HttpStatus['NOT_FOUND'];if(_0xae1d6a instanceof CollectionExistsError)return HttpStatus[_0x40ce87(_0x394799._0xa2404a)];if(_0xae1d6a instanceof InvalidCollectionNameError)return HttpStatus[_0x40ce87(_0x394799._0x283863)];return HttpStatus['UNPROCESSABLE_ENTITY'];}};CollectionsExceptionFilter=_ts_decorate([Catch(CollectionExistsError,CollectionNotFoundError,InvalidCollectionNameError,CollectionParseError)],CollectionsExceptionFilter);import{Catch as _0x4f4757,HttpStatus as _0x31ba1b}from'@nestjs/common';var IPROJECT_FS=Symbol['for'](_0x2d7e8f(0x1be)),ProjectFsError=class extends Error{static{__name(this,_0x2d7e8f(0x28f));}constructor(_0x4934c2){const _0x221794={_0x390d15:0x28f},_0x385fae=_0x2d7e8f;super(_0x4934c2),this[_0x385fae(0x134)]=_0x385fae(_0x221794._0x390d15);}};function _ts_decorate2(_0x2dac29,_0x31fc21,_0x1b16c4,_0x210768){const _0x4659e0=_0x2d7e8f;var _0x22add1=arguments[_0x4659e0(0x223)],_0x30b84f=_0x22add1<0x3?_0x31fc21:_0x210768===null?_0x210768=Object[_0x4659e0(0x111)](_0x31fc21,_0x1b16c4):_0x210768,_0x2c1193;if(typeof Reflect===_0x4659e0(0x267)&&typeof Reflect[_0x4659e0(0x167)]===_0x4659e0(0x22f))_0x30b84f=Reflect['decorate'](_0x2dac29,_0x31fc21,_0x1b16c4,_0x210768);else{for(var _0x9588ba=_0x2dac29['length']-0x1;_0x9588ba>=0x0;_0x9588ba--)if(_0x2c1193=_0x2dac29[_0x9588ba])_0x30b84f=(_0x22add1<0x3?_0x2c1193(_0x30b84f):_0x22add1>0x3?_0x2c1193(_0x31fc21,_0x1b16c4,_0x30b84f):_0x2c1193(_0x31fc21,_0x1b16c4))||_0x30b84f;}return _0x22add1>0x3&&_0x30b84f&&Object['defineProperty'](_0x31fc21,_0x1b16c4,_0x30b84f),_0x30b84f;}__name(_ts_decorate2,_0x2d7e8f(0x140));var ProjectFsExceptionFilter=class{static{__name(this,_0x2d7e8f(0x259));}['catch'](_0x57f12d,_0x131ebc){const _0x1d9d8b={_0x2b5a22:0x2e4,_0x277682:0x143},_0x19be32=_0x2d7e8f,_0x3791b1=_0x131ebc['switchToHttp'](),_0x5608be=_0x3791b1[_0x19be32(0x264)]();_0x5608be['status'](_0x31ba1b['BAD_REQUEST'])[_0x19be32(_0x1d9d8b._0x2b5a22)]({'statusCode':_0x31ba1b[_0x19be32(0x115)],'error':_0x19be32(0x28f),'message':_0x57f12d[_0x19be32(_0x1d9d8b._0x277682)]});}};ProjectFsExceptionFilter=_ts_decorate2([_0x4f4757(ProjectFsError)],ProjectFsExceptionFilter);import{Catch as _0x5c2f42,HttpStatus as _0x4c7de6}from'@nestjs/common';import{RunnerAdapterNotFoundError,UnsupportedRunKindError}from'@unotest/protocol';var IRUNNER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x2ae)),ActiveRunConflictError=class extends Error{static{__name(this,_0x2d7e8f(0x181));}constructor(_0x29b7fe){const _0x20d79d={_0x42c710:0x1c9,_0x5aa04f:0x125,_0x597e26:0x2a9,_0x3a78c0:0x216,_0x5dfa38:0x130},_0x5343ad=_0x2d7e8f,_0x379e3f=_0x29b7fe[_0x5343ad(_0x20d79d._0x42c710)]===_0x5343ad(0x169)?_0x5343ad(0x1c5)+_0x29b7fe['ref']+'\x22':_0x5343ad(_0x20d79d._0x5aa04f)+_0x29b7fe[_0x5343ad(0x241)]+'\x22';super(_0x5343ad(_0x20d79d._0x597e26)+_0x379e3f+'\x20('+_0x29b7fe[_0x5343ad(_0x20d79d._0x3a78c0)]+_0x5343ad(_0x20d79d._0x5dfa38)),this[_0x5343ad(0x134)]=_0x5343ad(0x181);}},NoActiveRunError=class extends Error{static{__name(this,_0x2d7e8f(0x275));}constructor(_0x1e9f2d){const _0xda9c31={_0xbc0db4:0x275},_0x3a08f2=_0x2d7e8f;super(_0x3a08f2(0x263)+_0x1e9f2d),this[_0x3a08f2(0x134)]=_0x3a08f2(_0xda9c31._0xbc0db4);}};function _ts_decorate3(_0x42393b,_0x270c6c,_0x1e1a19,_0x2d15d0){const _0x118f32={_0x4364d9:0x22f,_0x3c7bb0:0x167,_0x5c7b86:0x223,_0x590e0e:0x2cd},_0x2ce8e1=_0x2d7e8f;var _0x6fac71=arguments[_0x2ce8e1(0x223)],_0x385a7a=_0x6fac71<0x3?_0x270c6c:_0x2d15d0===null?_0x2d15d0=Object[_0x2ce8e1(0x111)](_0x270c6c,_0x1e1a19):_0x2d15d0,_0x2223ab;if(typeof Reflect==='object'&&typeof Reflect['decorate']===_0x2ce8e1(_0x118f32._0x4364d9))_0x385a7a=Reflect[_0x2ce8e1(_0x118f32._0x3c7bb0)](_0x42393b,_0x270c6c,_0x1e1a19,_0x2d15d0);else{for(var _0x44d6b4=_0x42393b[_0x2ce8e1(_0x118f32._0x5c7b86)]-0x1;_0x44d6b4>=0x0;_0x44d6b4--)if(_0x2223ab=_0x42393b[_0x44d6b4])_0x385a7a=(_0x6fac71<0x3?_0x2223ab(_0x385a7a):_0x6fac71>0x3?_0x2223ab(_0x270c6c,_0x1e1a19,_0x385a7a):_0x2223ab(_0x270c6c,_0x1e1a19))||_0x385a7a;}return _0x6fac71>0x3&&_0x385a7a&&Object[_0x2ce8e1(_0x118f32._0x590e0e)](_0x270c6c,_0x1e1a19,_0x385a7a),_0x385a7a;}__name(_ts_decorate3,_0x2d7e8f(0x140));var RunnerExceptionFilter=class{static{__name(this,_0x2d7e8f(0x23f));}[_0x2d7e8f(0x1f3)](_0x3ad39f,_0x14a215){const _0x22396b={_0x5566ca:0x284,_0x16cd43:0x24d,_0x4b74d0:0x1db,_0x51f33c:0x143},_0x4d840e=_0x2d7e8f,_0x15518e=this[_0x4d840e(_0x22396b._0x5566ca)](_0x3ad39f),_0x5eac8d=_0x14a215[_0x4d840e(_0x22396b._0x16cd43)]()[_0x4d840e(0x264)]();_0x5eac8d[_0x4d840e(_0x22396b._0x4b74d0)](_0x15518e)['send']({'statusCode':_0x15518e,'error':_0x3ad39f['name'],'message':_0x3ad39f[_0x4d840e(_0x22396b._0x51f33c)]});}[_0x2d7e8f(0x284)](_0x4357e3){const _0x2a46f1={_0x4b771d:0x2b7,_0x408dc5:0x236},_0x104a1c=_0x2d7e8f;if(_0x4357e3 instanceof ActiveRunConflictError)return _0x4c7de6[_0x104a1c(_0x2a46f1._0x4b771d)];if(_0x4357e3 instanceof NoActiveRunError)return _0x4c7de6[_0x104a1c(_0x2a46f1._0x408dc5)];if(_0x4357e3 instanceof UnsupportedRunKindError)return _0x4c7de6['BAD_REQUEST'];return _0x4c7de6[_0x104a1c(0x2de)];}};RunnerExceptionFilter=_ts_decorate3([_0x5c2f42(ActiveRunConflictError,NoActiveRunError,RunnerAdapterNotFoundError,UnsupportedRunKindError)],RunnerExceptionFilter);var ILOCK=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x160));import{Module as _0x560f3f}from'@nestjs/common';var VIEWER_CONFIG=Symbol['for']('unotest.viewer.config');import{Module}from'@nestjs/common';var ICOLLECTIONS_DISCOVERY=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x21c)),IHELPERS_DISCOVERY=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x124)),ISCENARIO_HEADER_PARSER=Symbol['for'](_0x2d7e8f(0x17a)),ScenarioHeaderError=class extends Error{static{__name(this,'ScenarioHeaderError');}constructor(_0x23cc40){const _0x3fdbed={_0x5de0db:0x134},_0x146d19=_0x2d7e8f;super(_0x23cc40),this[_0x146d19(_0x3fdbed._0x5de0db)]='ScenarioHeaderError';}},ISCENARIOS_DISCOVERY=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x1f0));import{Inject,Injectable}from'@nestjs/common';import{COLLECTIONS_SUBDIR,E2E_SUBDIR,UNOTEST_DIR}from'@unotest/protocol';import{posix as _0x3f25a1}from'path';function _ts_decorate4(_0x58e10b,_0x292e6b,_0x214dff,_0x10725c){const _0xc178b7={_0x20cf2a:0x267,_0x4f1e0c:0x167,_0x1f7c28:0x22f,_0x312947:0x2cd},_0x497d63=_0x2d7e8f;var _0x42a68e=arguments[_0x497d63(0x223)],_0x3288b3=_0x42a68e<0x3?_0x292e6b:_0x10725c===null?_0x10725c=Object[_0x497d63(0x111)](_0x292e6b,_0x214dff):_0x10725c,_0x2fb769;if(typeof Reflect===_0x497d63(_0xc178b7._0x20cf2a)&&typeof Reflect[_0x497d63(_0xc178b7._0x4f1e0c)]===_0x497d63(_0xc178b7._0x1f7c28))_0x3288b3=Reflect[_0x497d63(_0xc178b7._0x4f1e0c)](_0x58e10b,_0x292e6b,_0x214dff,_0x10725c);else{for(var _0x556192=_0x58e10b['length']-0x1;_0x556192>=0x0;_0x556192--)if(_0x2fb769=_0x58e10b[_0x556192])_0x3288b3=(_0x42a68e<0x3?_0x2fb769(_0x3288b3):_0x42a68e>0x3?_0x2fb769(_0x292e6b,_0x214dff,_0x3288b3):_0x2fb769(_0x292e6b,_0x214dff))||_0x3288b3;}return _0x42a68e>0x3&&_0x3288b3&&Object[_0x497d63(_0xc178b7._0x312947)](_0x292e6b,_0x214dff,_0x3288b3),_0x3288b3;}__name(_ts_decorate4,_0x2d7e8f(0x140));function _ts_metadata(_0x3e5dd4,_0x5c3e5e){const _0x347a98={_0x4783e5:0x191,_0x2f3ac8:0x22f},_0x279a8a=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect[_0x279a8a(_0x347a98._0x4783e5)]===_0x279a8a(_0x347a98._0x2f3ac8))return Reflect[_0x279a8a(_0x347a98._0x4783e5)](_0x3e5dd4,_0x5c3e5e);}__name(_ts_metadata,_0x2d7e8f(0x26b));function _ts_param(_0x1a40e1,_0xf0812d){return function(_0x634ec5,_0x5883d9){_0xf0812d(_0x634ec5,_0x5883d9,_0x1a40e1);};}__name(_ts_param,'_ts_param');var COLLECTIONS_ROOT=_0x3f25a1[_0x2d7e8f(0x2f4)](UNOTEST_DIR,E2E_SUBDIR,COLLECTIONS_SUBDIR),CollectionsDiscoveryService=class{static{__name(this,'CollectionsDiscoveryService');}['fs'];constructor(_0x5161dd){this['fs']=_0x5161dd;}async['discoverAll'](){const _0x61e22d={_0x380298:0x2b3,_0xac7d0b:0x251,_0x52eb3d:0x1c2},_0x4e7b02=_0x2d7e8f;if(!await this['fs'][_0x4e7b02(0x180)](COLLECTIONS_ROOT))return[];const _0x2fe35d=await this['fs'][_0x4e7b02(0x22c)](COLLECTIONS_ROOT),_0x1ecade=[];for(const _0x4df0a3 of _0x2fe35d){if(!_0x4df0a3[_0x4e7b02(_0x61e22d._0x380298)]('.yaml')&&!_0x4df0a3['endsWith']('.yml'))continue;const _0x52e4f0=await this['fs'][_0x4e7b02(_0x61e22d._0xac7d0b)](_0x4df0a3);_0x1ecade[_0x4e7b02(_0x61e22d._0x52eb3d)](parseCollectionYaml(_0x4df0a3,_0x52e4f0));}return _0x1ecade;}};CollectionsDiscoveryService=_ts_decorate4([Injectable(),_ts_param(0x0,Inject(IPROJECT_FS)),_ts_metadata(_0x2d7e8f(0x2d1),Function),_ts_metadata(_0x2d7e8f(0x1bd),[typeof IProjectFs===_0x2d7e8f(0x2e3)?Object:IProjectFs])],CollectionsDiscoveryService);import{Inject as _0x4f3e5e,Injectable as _0x22ea7e}from'@nestjs/common';import{COLLECTIONS_SUBDIR as _0x3ecf24,E2E_SUBDIR as _0x4da3ce,UNOTEST_DIR as _0xd535b8,validateCollectionName}from'@unotest/protocol';import{posix as _0x5be353}from'path';import{stringify as _0x406f00}from'yaml';function _ts_decorate5(_0x436e2e,_0x36c9f2,_0x53b6ba,_0x2c3ec9){const _0x3a7041={_0x554250:0x223,_0x2dd7dc:0x111,_0x1b94fb:0x267,_0x234127:0x2cd},_0x3b9571=_0x2d7e8f;var _0xcad9fd=arguments[_0x3b9571(_0x3a7041._0x554250)],_0x42c924=_0xcad9fd<0x3?_0x36c9f2:_0x2c3ec9===null?_0x2c3ec9=Object[_0x3b9571(_0x3a7041._0x2dd7dc)](_0x36c9f2,_0x53b6ba):_0x2c3ec9,_0x219e78;if(typeof Reflect===_0x3b9571(_0x3a7041._0x1b94fb)&&typeof Reflect[_0x3b9571(0x167)]==='function')_0x42c924=Reflect[_0x3b9571(0x167)](_0x436e2e,_0x36c9f2,_0x53b6ba,_0x2c3ec9);else{for(var _0x1f4fb7=_0x436e2e['length']-0x1;_0x1f4fb7>=0x0;_0x1f4fb7--)if(_0x219e78=_0x436e2e[_0x1f4fb7])_0x42c924=(_0xcad9fd<0x3?_0x219e78(_0x42c924):_0xcad9fd>0x3?_0x219e78(_0x36c9f2,_0x53b6ba,_0x42c924):_0x219e78(_0x36c9f2,_0x53b6ba))||_0x42c924;}return _0xcad9fd>0x3&&_0x42c924&&Object[_0x3b9571(_0x3a7041._0x234127)](_0x36c9f2,_0x53b6ba,_0x42c924),_0x42c924;}__name(_ts_decorate5,'_ts_decorate');function _ts_metadata2(_0x17df24,_0x154da4){const _0xb7d59c=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect['metadata']==='function')return Reflect[_0xb7d59c(0x191)](_0x17df24,_0x154da4);}__name(_ts_metadata2,_0x2d7e8f(0x26b));function _ts_param2(_0x6fcfb4,_0x55b6e4){return function(_0x4fd228,_0x3d9af7){_0x55b6e4(_0x4fd228,_0x3d9af7,_0x6fcfb4);};}__name(_ts_param2,_0x2d7e8f(0x1ed));var COLLECTIONS_ROOT2=_0x5be353[_0x2d7e8f(0x2f4)](_0xd535b8,_0x4da3ce,_0x3ecf24),CollectionsWriterService=class{static{__name(this,'CollectionsWriterService');}['fs'];constructor(_0x1b4fd8){this['fs']=_0x1b4fd8;}async['create'](_0xac75ab){const _0x28405e={_0x59e8e2:0x29a,_0x407c4b:0x180},_0xef0d54=_0x2d7e8f,_0x57a5a8=this[_0xef0d54(_0x28405e._0x59e8e2)](_0xac75ab['name']),_0x23a86e=this[_0xef0d54(0x1ac)](_0x57a5a8);if(await this['fs'][_0xef0d54(_0x28405e._0x407c4b)](_0x23a86e))throw new CollectionExistsError(_0x57a5a8);const _0x2e68c4=normalizeDescription(_0xac75ab[_0xef0d54(0x184)]),_0x1a86c7={'name':_0x57a5a8,'path':_0x23a86e,'description':_0x2e68c4,'scenarios':[]};return await this['fs']['writeText'](_0x23a86e,this[_0xef0d54(0x1e7)](_0x1a86c7)),_0x1a86c7;}async[_0x2d7e8f(0x19f)](_0x2d4e80,_0x4b024b){const _0x20f7c2={_0x393ec9:0x11f,_0x3df36f:0x2e2,_0x3e2a29:0x1e7},_0x165e50=_0x2d7e8f,_0x194388=await this[_0x165e50(_0x20f7c2._0x393ec9)](_0x2d4e80),_0x4b99bd={..._0x194388,'description':_0x4b024b[_0x165e50(0x184)]===void 0x0?_0x194388[_0x165e50(0x184)]:normalizeDescription(_0x4b024b[_0x165e50(0x184)]),'scenarios':_0x4b024b['scenarios']===void 0x0?_0x194388[_0x165e50(0x2a4)]:_0x4b024b[_0x165e50(0x2a4)][_0x165e50(0x2ce)]()};return await this['fs'][_0x165e50(_0x20f7c2._0x3df36f)](_0x4b99bd['path'],this[_0x165e50(_0x20f7c2._0x3e2a29)](_0x4b99bd)),_0x4b99bd;}async[_0x2d7e8f(0x269)](_0x45fc65,_0x5aa34b){const _0x4e00a4={_0xc6e62:0x1ac,_0x5b86bf:0x269},_0x56eb8a=_0x2d7e8f,_0xecddaf=await this['readExisting'](_0x45fc65),_0x4a6878=this[_0x56eb8a(0x29a)](_0x5aa34b);if(_0x4a6878===_0x45fc65)return _0xecddaf;const _0x423f2c=this[_0x56eb8a(_0x4e00a4._0xc6e62)](_0x4a6878);if(await this['fs']['exists'](_0x423f2c))throw new CollectionExistsError(_0x4a6878);return await this['fs'][_0x56eb8a(_0x4e00a4._0x5b86bf)](_0xecddaf['path'],_0x423f2c),{..._0xecddaf,'name':_0x4a6878,'path':_0x423f2c};}async['delete'](_0x24e4eb){const _0x323d76={_0x47b9a8:0x29a,_0x576509:0x1ac,_0x293809:0x180},_0xd87177=_0x2d7e8f;this[_0xd87177(_0x323d76._0x47b9a8)](_0x24e4eb);const _0x13a6ba=this[_0xd87177(_0x323d76._0x576509)](_0x24e4eb);if(!await this['fs'][_0xd87177(_0x323d76._0x293809)](_0x13a6ba))throw new CollectionNotFoundError(_0x24e4eb);await this['fs'][_0xd87177(0x298)](_0x13a6ba);}async[_0x2d7e8f(0x11f)](_0x51cafd){const _0x1dc326=_0x2d7e8f;this['validateName'](_0x51cafd);const _0x40b1b4=this[_0x1dc326(0x1ac)](_0x51cafd);if(!await this['fs']['exists'](_0x40b1b4))throw new CollectionNotFoundError(_0x51cafd);const _0x4d2eb9=await this['fs']['readText'](_0x40b1b4);return parseCollectionYaml(_0x40b1b4,_0x4d2eb9);}[_0x2d7e8f(0x29a)](_0x280579){const _0x58d316=validateCollectionName(_0x280579);if(_0x58d316!==null)throw new InvalidCollectionNameError(String(_0x280579),_0x58d316);return _0x280579['trim']();}[_0x2d7e8f(0x1ac)](_0x480b03){const _0x89a75f={_0x31b80c:0x2f4},_0x348cf5=_0x2d7e8f;return _0x5be353[_0x348cf5(_0x89a75f._0x31b80c)](COLLECTIONS_ROOT2,_0x480b03+_0x348cf5(0x1e6));}['serialize'](_0x3db4bd){const _0x4c5a45={_0x247231:0x184,_0x134fef:0x2a4},_0x52b69f=_0x2d7e8f,_0x2624e0={};return _0x3db4bd['description']!==null&&_0x3db4bd['description']['length']>0x0&&(_0x2624e0[_0x52b69f(_0x4c5a45._0x247231)]=_0x3db4bd['description']),_0x2624e0[_0x52b69f(_0x4c5a45._0x134fef)]=_0x3db4bd[_0x52b69f(_0x4c5a45._0x134fef)],_0x406f00(_0x2624e0);}};CollectionsWriterService=_ts_decorate5([_0x22ea7e(),_ts_param2(0x0,_0x4f3e5e(IPROJECT_FS)),_ts_metadata2(_0x2d7e8f(0x2d1),Function),_ts_metadata2(_0x2d7e8f(0x1bd),[typeof IProjectFs==='undefined'?Object:IProjectFs])],CollectionsWriterService);function normalizeDescription(_0x204523){const _0x56a351=_0x2d7e8f;if(_0x204523===void 0x0||_0x204523===null)return null;const _0x375d66=_0x204523[_0x56a351(0x1d7)]();return _0x375d66[_0x56a351(0x223)]===0x0?null:_0x375d66;}__name(normalizeDescription,'normalizeDescription');import{Inject as _0x645e80,Injectable as _0x14d1af}from'@nestjs/common';import{E2E_SUBDIR as _0x4ad332,HELPERS_SUBDIR,UNOTEST_DIR as _0x2b3a20}from'@unotest/protocol';import{posix as _0x5bc495}from'path';function _ts_decorate6(_0x3ffd1e,_0x34e37f,_0x5ae101,_0x32bc9b){const _0x5c0c6e={_0x3164c9:0x167,_0x4e4101:0x2cd},_0x400de0=_0x2d7e8f;var _0x171420=arguments[_0x400de0(0x223)],_0x49309c=_0x171420<0x3?_0x34e37f:_0x32bc9b===null?_0x32bc9b=Object[_0x400de0(0x111)](_0x34e37f,_0x5ae101):_0x32bc9b,_0x1b0fb2;if(typeof Reflect===_0x400de0(0x267)&&typeof Reflect[_0x400de0(_0x5c0c6e._0x3164c9)]===_0x400de0(0x22f))_0x49309c=Reflect[_0x400de0(0x167)](_0x3ffd1e,_0x34e37f,_0x5ae101,_0x32bc9b);else{for(var _0x12bfca=_0x3ffd1e[_0x400de0(0x223)]-0x1;_0x12bfca>=0x0;_0x12bfca--)if(_0x1b0fb2=_0x3ffd1e[_0x12bfca])_0x49309c=(_0x171420<0x3?_0x1b0fb2(_0x49309c):_0x171420>0x3?_0x1b0fb2(_0x34e37f,_0x5ae101,_0x49309c):_0x1b0fb2(_0x34e37f,_0x5ae101))||_0x49309c;}return _0x171420>0x3&&_0x49309c&&Object[_0x400de0(_0x5c0c6e._0x4e4101)](_0x34e37f,_0x5ae101,_0x49309c),_0x49309c;}__name(_ts_decorate6,_0x2d7e8f(0x140));function _ts_metadata3(_0x4b48d1,_0x28da3f){const _0x5e3535={_0x11d85a:0x22f,_0x4499fa:0x191},_0x165ae3=_0x2d7e8f;if(typeof Reflect===_0x165ae3(0x267)&&typeof Reflect[_0x165ae3(0x191)]===_0x165ae3(_0x5e3535._0x11d85a))return Reflect[_0x165ae3(_0x5e3535._0x4499fa)](_0x4b48d1,_0x28da3f);}__name(_ts_metadata3,_0x2d7e8f(0x26b));function _ts_param3(_0x57ebaf,_0x25275f){return function(_0x5b9c7d,_0x1ea0a1){_0x25275f(_0x5b9c7d,_0x1ea0a1,_0x57ebaf);};}__name(_ts_param3,'_ts_param');var HELPERS_ROOT=_0x5bc495[_0x2d7e8f(0x2f4)](_0x2b3a20,_0x4ad332,HELPERS_SUBDIR),HelpersDiscoveryService=class{static{__name(this,'HelpersDiscoveryService');}['fs'];constructor(_0x564e13){this['fs']=_0x564e13;}async['discoverAll'](){const _0x2a489c={_0x3681b5:0x180},_0x5a0fb4=_0x2d7e8f;if(!await this['fs'][_0x5a0fb4(_0x2a489c._0x3681b5)](HELPERS_ROOT))return[];const _0x5db47e=await this['fs'][_0x5a0fb4(0x22c)](HELPERS_ROOT);return _0x5db47e['filter'](_0x2b5b6d=>_0x2b5b6d[_0x5a0fb4(0x2b3)](_0x5a0fb4(0x205)))['map'](_0x9d9d5=>({'name':_0x5bc495['relative'](HELPERS_ROOT,_0x9d9d5)[_0x5a0fb4(0x1dd)](/\.js$/,''),'path':_0x9d9d5}));}};HelpersDiscoveryService=_ts_decorate6([_0x14d1af(),_ts_param3(0x0,_0x645e80(IPROJECT_FS)),_ts_metadata3('design:type',Function),_ts_metadata3(_0x2d7e8f(0x1bd),[typeof IProjectFs===_0x2d7e8f(0x2e3)?Object:IProjectFs])],HelpersDiscoveryService);import{Inject as _0x5d30d4,Injectable as _0x5b4250}from'@nestjs/common';import{mkdir,readdir,readFile,rename,stat,unlink,writeFile}from'fs/promises';import{isAbsolute,dirname,join,normalize,resolve,sep}from'path';function _ts_decorate7(_0x219aab,_0x51f0f7,_0x69011d,_0x36ded9){const _0x5a7d44={_0x239464:0x267,_0x5b3b25:0x167,_0x1b9246:0x22f,_0x3bdeff:0x223},_0x5669db=_0x2d7e8f;var _0x39b5eb=arguments['length'],_0xc044c9=_0x39b5eb<0x3?_0x51f0f7:_0x36ded9===null?_0x36ded9=Object['getOwnPropertyDescriptor'](_0x51f0f7,_0x69011d):_0x36ded9,_0x59b4a8;if(typeof Reflect===_0x5669db(_0x5a7d44._0x239464)&&typeof Reflect[_0x5669db(_0x5a7d44._0x5b3b25)]===_0x5669db(_0x5a7d44._0x1b9246))_0xc044c9=Reflect[_0x5669db(0x167)](_0x219aab,_0x51f0f7,_0x69011d,_0x36ded9);else{for(var _0x37df26=_0x219aab[_0x5669db(_0x5a7d44._0x3bdeff)]-0x1;_0x37df26>=0x0;_0x37df26--)if(_0x59b4a8=_0x219aab[_0x37df26])_0xc044c9=(_0x39b5eb<0x3?_0x59b4a8(_0xc044c9):_0x39b5eb>0x3?_0x59b4a8(_0x51f0f7,_0x69011d,_0xc044c9):_0x59b4a8(_0x51f0f7,_0x69011d))||_0xc044c9;}return _0x39b5eb>0x3&&_0xc044c9&&Object['defineProperty'](_0x51f0f7,_0x69011d,_0xc044c9),_0xc044c9;}__name(_ts_decorate7,'_ts_decorate');function _ts_metadata4(_0x53bb7d,_0x17c372){const _0x4e0303={_0x627d1f:0x267,_0x35273a:0x191,_0x519048:0x191},_0x817d1a=_0x2d7e8f;if(typeof Reflect===_0x817d1a(_0x4e0303._0x627d1f)&&typeof Reflect[_0x817d1a(_0x4e0303._0x35273a)]===_0x817d1a(0x22f))return Reflect[_0x817d1a(_0x4e0303._0x519048)](_0x53bb7d,_0x17c372);}__name(_ts_metadata4,_0x2d7e8f(0x26b));function _ts_param4(_0x3bfa7d,_0x756fb3){return function(_0x22b5ba,_0x50a4be){_0x756fb3(_0x22b5ba,_0x50a4be,_0x3bfa7d);};}__name(_ts_param4,'_ts_param');var ProjectFsService=class{static{__name(this,_0x2d7e8f(0x206));}['config'];[_0x2d7e8f(0x1b2)];constructor(_0x5183f3){const _0x317d06={_0x5d1070:0x2cf},_0x55a9b5=_0x2d7e8f;this[_0x55a9b5(_0x317d06._0x5d1070)]=_0x5183f3,this[_0x55a9b5(0x1b2)]=resolve(this['config'][_0x55a9b5(0x29f)]);}[_0x2d7e8f(0x2a1)](_0x3a1415){const _0x79520d={_0x5a7cfd:0x1b2,_0x569722:0x12f,_0x14dab9:0x12c},_0x671dfb=_0x2d7e8f;if(isAbsolute(_0x3a1415))throw new ProjectFsError(_0x671dfb(0x137)+_0x3a1415);const _0x2e43d9=resolve(this[_0x671dfb(_0x79520d._0x5a7cfd)],normalize(_0x3a1415));if(_0x2e43d9!==this[_0x671dfb(0x1b2)]&&!_0x2e43d9['startsWith'](this[_0x671dfb(_0x79520d._0x5a7cfd)]+sep))throw new ProjectFsError(_0x671dfb(_0x79520d._0x569722)+_0x3a1415+_0x671dfb(_0x79520d._0x14dab9)+_0x2e43d9);return _0x2e43d9;}async[_0x2d7e8f(0x251)](_0x44e8bc){const _0x398e3e=_0x2d7e8f;return readFile(this[_0x398e3e(0x2a1)](_0x44e8bc),'utf8');}async[_0x2d7e8f(0x185)](_0x398800){const _0x785e63={_0x1dfae7:0x1ba},_0x2caf5f=_0x2d7e8f,_0x12d1bc=this['resolve'](_0x398800),_0x317254=await readdir(_0x12d1bc,{'withFileTypes':!![]});return _0x317254[_0x2caf5f(_0x785e63._0x1dfae7)](_0x3d12a0=>({'path':join(_0x398800,_0x3d12a0[_0x2caf5f(0x134)]),'isDirectory':_0x3d12a0[_0x2caf5f(0x1af)]()}));}async['walk'](_0x4917d3){const _0x3d3994={_0x4dadd2:0x134,_0x4a1c5e:0x1af,_0x221ac2:0x26c},_0xe2baad=_0x2d7e8f,_0x57bfbb=[],_0x5a1d1e=__name(async _0x19dd8b=>{const _0x47f92c=_0x285c,_0x186275=await readdir(this[_0x47f92c(0x2a1)](_0x19dd8b),{'withFileTypes':!![]});for(const _0x3e7cfd of _0x186275){const _0xf7bdf4=join(_0x19dd8b,_0x3e7cfd[_0x47f92c(_0x3d3994._0x4dadd2)]);if(_0x3e7cfd[_0x47f92c(_0x3d3994._0x4a1c5e)]())await _0x5a1d1e(_0xf7bdf4);else _0x3e7cfd[_0x47f92c(_0x3d3994._0x221ac2)]()&&_0x57bfbb['push'](_0xf7bdf4);}},_0xe2baad(0x288));return await _0x5a1d1e(_0x4917d3),_0x57bfbb;}async['exists'](_0x34c6ee){const _0x3f9c61={_0x3af144:0x256,_0x549e32:0x238},_0x1080ca=_0x2d7e8f;try{return await stat(this[_0x1080ca(0x2a1)](_0x34c6ee)),!![];}catch(_0x32ee74){if(_0x32ee74[_0x1080ca(_0x3f9c61._0x3af144)]===_0x1080ca(_0x3f9c61._0x549e32))return![];throw _0x32ee74;}}async['stat'](_0x105399){const _0x199f2f={_0x1f2e81:0x1af,_0x1d512f:0x2b8},_0x39d80c=_0x2d7e8f,_0x30f447=await stat(this[_0x39d80c(0x2a1)](_0x105399));return{'isDirectory':_0x30f447[_0x39d80c(_0x199f2f._0x1f2e81)](),'isFile':_0x30f447[_0x39d80c(0x26c)](),'mtimeMs':_0x30f447[_0x39d80c(0x1a2)],'size':_0x30f447[_0x39d80c(_0x199f2f._0x1d512f)]};}async[_0x2d7e8f(0x2e2)](_0x5702da,_0x16a7d4){const _0x2d1d4c={_0x315866:0x18d,_0x513026:0x16c},_0x3b427a=_0x2d7e8f,_0x2f6b9d=this[_0x3b427a(0x2a1)](_0x5702da);await mkdir(dirname(_0x2f6b9d),{'recursive':!![]});const _0x18ffe6=_0x2f6b9d+'.'+process[_0x3b427a(_0x2d1d4c._0x315866)]+'.'+Math[_0x3b427a(0x123)]()[_0x3b427a(_0x2d1d4c._0x513026)](0x24)[_0x3b427a(0x2ce)](0x2)+_0x3b427a(0x208);await writeFile(_0x18ffe6,_0x16a7d4,_0x3b427a(0x178)),await rename(_0x18ffe6,_0x2f6b9d);}async[_0x2d7e8f(0x298)](_0x526366){const _0x3a183d={_0x158f78:0x2a1,_0x5678fe:0x256,_0x3e221a:0x238},_0x574cd6=_0x2d7e8f;try{await unlink(this[_0x574cd6(_0x3a183d._0x158f78)](_0x526366));}catch(_0xea6fdf){if(_0xea6fdf[_0x574cd6(_0x3a183d._0x5678fe)]===_0x574cd6(_0x3a183d._0x3e221a))return;throw _0xea6fdf;}}async[_0x2d7e8f(0x269)](_0x37e341,_0x56bc28){const _0x1bbec3={_0x5c4852:0x2a1},_0x544ae8=_0x2d7e8f;await rename(this[_0x544ae8(_0x1bbec3._0x5c4852)](_0x37e341),this[_0x544ae8(0x2a1)](_0x56bc28));}};ProjectFsService=_ts_decorate7([_0x5b4250(),_ts_param4(0x0,_0x5d30d4(VIEWER_CONFIG)),_ts_metadata4(_0x2d7e8f(0x2d1),Function),_ts_metadata4(_0x2d7e8f(0x1bd),[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig])],ProjectFsService);import{Injectable as _0x2843d6}from'@nestjs/common';function _ts_decorate8(_0x56d8a8,_0x4705de,_0x2017c6,_0x21da16){const _0x1fd46f={_0x20d369:0x223},_0x3a981f=_0x2d7e8f;var _0xf9f50=arguments[_0x3a981f(_0x1fd46f._0x20d369)],_0x3499a4=_0xf9f50<0x3?_0x4705de:_0x21da16===null?_0x21da16=Object[_0x3a981f(0x111)](_0x4705de,_0x2017c6):_0x21da16,_0x46f09e;if(typeof Reflect===_0x3a981f(0x267)&&typeof Reflect[_0x3a981f(0x167)]==='function')_0x3499a4=Reflect['decorate'](_0x56d8a8,_0x4705de,_0x2017c6,_0x21da16);else{for(var _0x3da699=_0x56d8a8[_0x3a981f(0x223)]-0x1;_0x3da699>=0x0;_0x3da699--)if(_0x46f09e=_0x56d8a8[_0x3da699])_0x3499a4=(_0xf9f50<0x3?_0x46f09e(_0x3499a4):_0xf9f50>0x3?_0x46f09e(_0x4705de,_0x2017c6,_0x3499a4):_0x46f09e(_0x4705de,_0x2017c6))||_0x3499a4;}return _0xf9f50>0x3&&_0x3499a4&&Object['defineProperty'](_0x4705de,_0x2017c6,_0x3499a4),_0x3499a4;}__name(_ts_decorate8,_0x2d7e8f(0x140));var ID_RE=/^\s*\/\/\s*(id-[a-z0-9-]+)\s*$/,TITLE_RE=/^\s*\/\/\s*(.+)\s*$/,COLOR_RE=/^\s*\/\/\s*(#[0-9a-fA-F]{6})\s*$/,FUNCTION_RE=/^\s*function\s+test_[a-zA-Z0-9_]+\s*\(/,ScenarioHeaderParserService=class{static{__name(this,_0x2d7e8f(0x2f0));}[_0x2d7e8f(0x219)](_0x55c02f){const _0xba3376={_0x442c20:0x223,_0x1accc2:0x1d7,_0x2dd8d1:0x217,_0x10a05e:0x245,_0x1e8ad2:0x2d9,_0x28af49:0x217,_0x13ca07:0x245,_0x262437:0x200},_0x38551a=_0x2d7e8f,_0x4e2a99=_0x55c02f[_0x38551a(0x2ef)](/\r?\n/);let _0x21d40d=0x0;while(_0x21d40d<_0x4e2a99[_0x38551a(_0xba3376._0x442c20)]&&_0x4e2a99[_0x21d40d][_0x38551a(_0xba3376._0x1accc2)]()==='')_0x21d40d++;const _0x4ca0c6=_0x4e2a99[_0x21d40d]?.[_0x38551a(_0xba3376._0x2dd8d1)](ID_RE);if(!_0x4ca0c6)throw new ScenarioHeaderError('expected\x20\x27//\x20id-<slug>\x27\x20on\x20first\x20non-blank\x20line,\x20got:\x20'+this[_0x38551a(_0xba3376._0x10a05e)](_0x4e2a99[_0x21d40d]));const _0x4ed199=_0x4ca0c6[0x1];_0x21d40d++;const _0x5e9e41=_0x4e2a99[_0x21d40d];if(_0x5e9e41===void 0x0||COLOR_RE[_0x38551a(0x200)](_0x5e9e41))throw new ScenarioHeaderError('expected\x20title\x20comment\x20\x27//\x20<human\x20title>\x27\x20after\x20\x27//\x20'+_0x4ed199+'\x27,\x20got:\x20'+this['preview'](_0x5e9e41));const _0x5352d3=_0x5e9e41[_0x38551a(0x217)](TITLE_RE);if(!_0x5352d3||ID_RE[_0x38551a(0x200)](_0x5e9e41))throw new ScenarioHeaderError(_0x38551a(_0xba3376._0x1e8ad2)+_0x4ed199+_0x38551a(0x17d)+this['preview'](_0x5e9e41));const _0x2ddcb8=_0x5352d3[0x1]['trim']();_0x21d40d++;const _0x314ee2=_0x4e2a99[_0x21d40d]?.[_0x38551a(_0xba3376._0x28af49)](COLOR_RE);if(!_0x314ee2)throw new ScenarioHeaderError(_0x38551a(0x232)+this[_0x38551a(_0xba3376._0x13ca07)](_0x4e2a99[_0x21d40d]));const _0x62b2c4=_0x314ee2[0x1];_0x21d40d++;const _0x4c3e66=_0x4e2a99[_0x21d40d];if(_0x4c3e66===void 0x0||!FUNCTION_RE[_0x38551a(_0xba3376._0x262437)](_0x4c3e66))throw new ScenarioHeaderError(_0x38551a(0x1e0)+this[_0x38551a(_0xba3376._0x10a05e)](_0x4c3e66));return{'id':_0x4ed199,'title':_0x2ddcb8,'color':_0x62b2c4};}[_0x2d7e8f(0x245)](_0x4d0696){const _0x22b59f={_0x1463b3:0x223,_0x230a3b:0x2ce,_0x2168e8:0x1c1},_0x1b933b=_0x2d7e8f;if(_0x4d0696===void 0x0)return'<EOF>';const _0xb67429=_0x4d0696[_0x1b933b(_0x22b59f._0x1463b3)]>0x50?_0x4d0696[_0x1b933b(_0x22b59f._0x230a3b)](0x0,0x4d)+_0x1b933b(_0x22b59f._0x2168e8):_0x4d0696;return JSON[_0x1b933b(0x1f7)](_0xb67429);}};ScenarioHeaderParserService=_ts_decorate8([_0x2843d6()],ScenarioHeaderParserService);import{Inject as _0x3af128,Injectable as _0x2a4001,Logger}from'@nestjs/common';import{COLLECTIONS_SUBDIR as _0x458c06,E2E_SUBDIR as _0x3eef5f,HELPERS_SUBDIR as _0x51ac44,UNOTEST_DIR as _0x82ec42}from'@unotest/protocol';import{posix as _0x54ecf2}from'path';function _ts_decorate9(_0x3c849e,_0x4bc8cd,_0x22f98f,_0x5a108d){const _0x411bb6={_0xdfca41:0x223},_0x197543=_0x2d7e8f;var _0x547d4e=arguments[_0x197543(_0x411bb6._0xdfca41)],_0x857998=_0x547d4e<0x3?_0x4bc8cd:_0x5a108d===null?_0x5a108d=Object[_0x197543(0x111)](_0x4bc8cd,_0x22f98f):_0x5a108d,_0x18cef5;if(typeof Reflect===_0x197543(0x267)&&typeof Reflect[_0x197543(0x167)]===_0x197543(0x22f))_0x857998=Reflect[_0x197543(0x167)](_0x3c849e,_0x4bc8cd,_0x22f98f,_0x5a108d);else{for(var _0x36f3c4=_0x3c849e['length']-0x1;_0x36f3c4>=0x0;_0x36f3c4--)if(_0x18cef5=_0x3c849e[_0x36f3c4])_0x857998=(_0x547d4e<0x3?_0x18cef5(_0x857998):_0x547d4e>0x3?_0x18cef5(_0x4bc8cd,_0x22f98f,_0x857998):_0x18cef5(_0x4bc8cd,_0x22f98f))||_0x857998;}return _0x547d4e>0x3&&_0x857998&&Object[_0x197543(0x2cd)](_0x4bc8cd,_0x22f98f,_0x857998),_0x857998;}__name(_ts_decorate9,'_ts_decorate');function _ts_metadata5(_0x565ecd,_0x9b68fc){const _0x3635a2={_0x4a415f:0x191},_0x4ee096=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect['metadata']==='function')return Reflect[_0x4ee096(_0x3635a2._0x4a415f)](_0x565ecd,_0x9b68fc);}__name(_ts_metadata5,_0x2d7e8f(0x26b));function _ts_param5(_0x924459,_0x705e0f){return function(_0x114c27,_0x216803){_0x705e0f(_0x114c27,_0x216803,_0x924459);};}__name(_ts_param5,_0x2d7e8f(0x1ed));var E2E_ROOT=_0x54ecf2[_0x2d7e8f(0x2f4)](_0x82ec42,_0x3eef5f),ScenariosDiscoveryService=class _ScenariosDiscoveryService{static{__name(this,_0x2d7e8f(0x1bb));}['fs'];[_0x2d7e8f(0x190)];[_0x2d7e8f(0x28c)]=new Logger(_ScenariosDiscoveryService['name']);constructor(_0x196587,_0x178105){const _0xecdef2=_0x2d7e8f;this['fs']=_0x196587,this[_0xecdef2(0x190)]=_0x178105;}async[_0x2d7e8f(0x1eb)](){const _0x198b27={_0x323e6c:0x141,_0xbec96d:0x146,_0x2f55d9:0x28c,_0x3bd600:0x143},_0x4b95d7=_0x2d7e8f;if(!await this['fs'][_0x4b95d7(0x180)](E2E_ROOT))return[];const _0x32ad33=await this['fs'][_0x4b95d7(0x22c)](E2E_ROOT),_0x5cf83b=[];for(const _0xe11ba5 of _0x32ad33){if(!this[_0x4b95d7(_0x198b27._0x323e6c)](_0xe11ba5))continue;try{_0x5cf83b[_0x4b95d7(0x1c2)](await this[_0x4b95d7(_0x198b27._0xbec96d)](_0xe11ba5));}catch(_0x4a9f78){this[_0x4b95d7(_0x198b27._0x2f55d9)]['warn'](_0xe11ba5+':\x20'+(_0x4a9f78 instanceof Error?_0x4a9f78[_0x4b95d7(_0x198b27._0x3bd600)]:String(_0x4a9f78)));}}return _0x5cf83b;}[_0x2d7e8f(0x141)](_0x596469){const _0x1f55cf={_0x133b32:0x260,_0x5479d:0x176},_0x30dd64=_0x2d7e8f;if(!_0x596469['endsWith'](_0x30dd64(0x205)))return![];const _0x238e3f=_0x54ecf2[_0x30dd64(_0x1f55cf._0x133b32)](E2E_ROOT,_0x596469);if(_0x238e3f[_0x30dd64(0x1b3)](_0x51ac44+'/'))return![];if(_0x238e3f[_0x30dd64(0x1b3)](_0x458c06+'/'))return![];const _0x108aee=_0x54ecf2[_0x30dd64(_0x1f55cf._0x5479d)](_0x238e3f);if(_0x108aee[_0x30dd64(0x1b3)]('_'))return![];return!![];}async[_0x2d7e8f(0x146)](_0x359c47){const _0x4ab32d={_0x20b334:0x260,_0x4235e4:0x1dd,_0x56f319:0x2db,_0x25fcaa:0x27a},_0x5ccc8f=_0x2d7e8f,_0x10781a=await this['fs']['readText'](_0x359c47),_0x1071b6=_0x54ecf2[_0x5ccc8f(_0x4ab32d._0x20b334)](E2E_ROOT,_0x359c47)[_0x5ccc8f(_0x4ab32d._0x4235e4)](/\.test\.js$/,'')[_0x5ccc8f(0x1dd)](/\.js$/,'');try{const _0x85362b=this['parser']['parse'](_0x10781a);return{'id':_0x85362b['id'],'title':_0x85362b[_0x5ccc8f(_0x4ab32d._0x56f319)],'color':_0x85362b[_0x5ccc8f(_0x4ab32d._0x25fcaa)],'name':_0x1071b6,'path':_0x359c47};}catch{return{'id':synthesizeId(_0x1071b6),'title':synthesizeTitle(_0x10781a,_0x1071b6),'color':synthesizeColor(_0x1071b6),'name':_0x1071b6,'path':_0x359c47};}}};ScenariosDiscoveryService=_ts_decorate9([_0x2a4001(),_ts_param5(0x0,_0x3af128(IPROJECT_FS)),_ts_param5(0x1,_0x3af128(ISCENARIO_HEADER_PARSER)),_ts_metadata5(_0x2d7e8f(0x2d1),Function),_ts_metadata5(_0x2d7e8f(0x1bd),[typeof IProjectFs===_0x2d7e8f(0x2e3)?Object:IProjectFs,typeof IScenarioHeaderParser===_0x2d7e8f(0x2e3)?Object:IScenarioHeaderParser])],ScenariosDiscoveryService);function synthesizeId(_0x504b78){const _0x1f9357={_0x5a4d4e:0x149,_0x19f1f3:0x1de},_0x4a6585=_0x2d7e8f,_0x293b7a=_0x504b78[_0x4a6585(0x1dd)](/\//g,'-')[_0x4a6585(0x1dd)](/[^a-z0-9-]/gi,'-');return _0x4a6585(_0x1f9357._0x5a4d4e)+_0x293b7a[_0x4a6585(_0x1f9357._0x19f1f3)]();}__name(synthesizeId,_0x2d7e8f(0x1a3));function synthesizeTitle(_0x1ad90a,_0x169861){const _0x2efea5={_0x1d85ce:0x1d7,_0x1347da:0x1dd},_0x19045f=_0x2d7e8f;for(const _0x2c99ef of _0x1ad90a['split'](/\r?\n/,0x14)){const _0xb68d62=_0x2c99ef[_0x19045f(_0x2efea5._0x1d85ce)]();if(_0xb68d62==='')continue;const _0x15d590=_0xb68d62['match'](/^\/\/\s*(.+)$/);if(_0x15d590&&!_0x15d590[0x1]['startsWith']('@')){const _0x11446d=_0x15d590[0x1][_0x19045f(0x1d7)]();if(_0x11446d)return _0x11446d[_0x19045f(0x1dd)](/[.;]$/,'');}if(!_0xb68d62[_0x19045f(0x1b3)]('//'))break;}return _0x169861[_0x19045f(_0x2efea5._0x1347da)](/[-_/]/g,'\x20')[_0x19045f(_0x2efea5._0x1347da)](/\b\w/g,_0x5c06e7=>_0x5c06e7[_0x19045f(0x231)]());}__name(synthesizeTitle,'synthesizeTitle');function synthesizeColor(_0x10e66b){const _0x41297f={_0x557df4:0x2d6},_0x5d3136=_0x2d7e8f;let _0x21a374=0x1505;for(let _0x464d03=0x0;_0x464d03<_0x10e66b[_0x5d3136(0x223)];_0x464d03++){_0x21a374=(_0x21a374<<0x5)+_0x21a374+_0x10e66b[_0x5d3136(_0x41297f._0x557df4)](_0x464d03)>>>0x0;}const _0x4570c3=_0x21a374>>>0x10&0xff,_0x2ada51=_0x21a374>>>0x8&0xff,_0x42e912=_0x21a374&0xff,_0x2cd719=__name(_0xd7ef48=>0x50+Math[_0x5d3136(0x16f)](_0xd7ef48/0xff*0x8c),'lift'),_0x13535e=__name(_0xc4087a=>_0xc4087a[_0x5d3136(0x16c)](0x10)['padStart'](0x2,'0'),'toHex');return'#'+_0x13535e(_0x2cd719(_0x4570c3))+_0x13535e(_0x2cd719(_0x2ada51))+_0x13535e(_0x2cd719(_0x42e912));}__name(synthesizeColor,_0x2d7e8f(0x29b));function _ts_decorate10(_0x41e09d,_0x300cf8,_0x2bbb54,_0x244a19){const _0x21f403={_0xa8d697:0x267,_0x10a2d2:0x167,_0x210dd8:0x223},_0x3a11ea=_0x2d7e8f;var _0x3118df=arguments[_0x3a11ea(0x223)],_0x1f33a6=_0x3118df<0x3?_0x300cf8:_0x244a19===null?_0x244a19=Object[_0x3a11ea(0x111)](_0x300cf8,_0x2bbb54):_0x244a19,_0x586a30;if(typeof Reflect===_0x3a11ea(_0x21f403._0xa8d697)&&typeof Reflect[_0x3a11ea(_0x21f403._0x10a2d2)]===_0x3a11ea(0x22f))_0x1f33a6=Reflect[_0x3a11ea(_0x21f403._0x10a2d2)](_0x41e09d,_0x300cf8,_0x2bbb54,_0x244a19);else{for(var _0x26b15f=_0x41e09d[_0x3a11ea(_0x21f403._0x210dd8)]-0x1;_0x26b15f>=0x0;_0x26b15f--)if(_0x586a30=_0x41e09d[_0x26b15f])_0x1f33a6=(_0x3118df<0x3?_0x586a30(_0x1f33a6):_0x3118df>0x3?_0x586a30(_0x300cf8,_0x2bbb54,_0x1f33a6):_0x586a30(_0x300cf8,_0x2bbb54))||_0x1f33a6;}return _0x3118df>0x3&&_0x1f33a6&&Object['defineProperty'](_0x300cf8,_0x2bbb54,_0x1f33a6),_0x1f33a6;}__name(_ts_decorate10,_0x2d7e8f(0x140));var FsModule=class{static{__name(this,_0x2d7e8f(0x1e2));}};FsModule=_ts_decorate10([Module({'providers':[{'provide':IPROJECT_FS,'useClass':ProjectFsService},{'provide':ISCENARIO_HEADER_PARSER,'useClass':ScenarioHeaderParserService},{'provide':ISCENARIOS_DISCOVERY,'useClass':ScenariosDiscoveryService},{'provide':IHELPERS_DISCOVERY,'useClass':HelpersDiscoveryService},{'provide':ICOLLECTIONS_DISCOVERY,'useClass':CollectionsDiscoveryService},{'provide':ICOLLECTIONS_WRITER,'useClass':CollectionsWriterService}],'exports':[IPROJECT_FS,ISCENARIO_HEADER_PARSER,ISCENARIOS_DISCOVERY,IHELPERS_DISCOVERY,ICOLLECTIONS_DISCOVERY,ICOLLECTIONS_WRITER]})],FsModule);import{Module as _0x3abeb1}from'@nestjs/common';import{Module as _0x41a320}from'@nestjs/common';var ILOG_CAPTURE=Symbol['for'](_0x2d7e8f(0x11d));import{Module as _0x278c1c}from'@nestjs/common';var IRUNS_REPOSITORY=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x2b4));import{Inject as _0x4dec28,Injectable as _0x21ad13,Logger as _0xfcf99b}from'@nestjs/common';import{HEARTBEAT_FILE,RUNS_SUBDIR,RUN_MANIFEST_FILE,STEPS_FILE,UNOTEST_DIR as _0x3f5ebe}from'@unotest/protocol';import{open,readFile as _0x2b14cd}from'fs/promises';import{posix as _0x27bb7c}from'path';function _ts_decorate11(_0x41503e,_0x1b1516,_0x58d16f,_0x3c362f){const _0x478bf9={_0x16749e:0x111,_0x2dd444:0x267,_0x49ee47:0x167,_0xfd5e6c:0x22f,_0x2ae06d:0x167,_0x11af96:0x2cd},_0x420dc0=_0x2d7e8f;var _0xf8b582=arguments[_0x420dc0(0x223)],_0x76401e=_0xf8b582<0x3?_0x1b1516:_0x3c362f===null?_0x3c362f=Object[_0x420dc0(_0x478bf9._0x16749e)](_0x1b1516,_0x58d16f):_0x3c362f,_0x17faa2;if(typeof Reflect===_0x420dc0(_0x478bf9._0x2dd444)&&typeof Reflect[_0x420dc0(_0x478bf9._0x49ee47)]===_0x420dc0(_0x478bf9._0xfd5e6c))_0x76401e=Reflect[_0x420dc0(_0x478bf9._0x2ae06d)](_0x41503e,_0x1b1516,_0x58d16f,_0x3c362f);else{for(var _0xaf04bc=_0x41503e[_0x420dc0(0x223)]-0x1;_0xaf04bc>=0x0;_0xaf04bc--)if(_0x17faa2=_0x41503e[_0xaf04bc])_0x76401e=(_0xf8b582<0x3?_0x17faa2(_0x76401e):_0xf8b582>0x3?_0x17faa2(_0x1b1516,_0x58d16f,_0x76401e):_0x17faa2(_0x1b1516,_0x58d16f))||_0x76401e;}return _0xf8b582>0x3&&_0x76401e&&Object[_0x420dc0(_0x478bf9._0x11af96)](_0x1b1516,_0x58d16f,_0x76401e),_0x76401e;}function _0x4d5a(){const _0x5372f8=['zNm6CNvUlwzPBMLZAgvK','y29UDgvUDc10ExbL','EhrLCM0Ty29SB3i','ztjLv2f0y2HLCG','Cg9ZAxrPDMu','zMfPBgvKihrVihjLywqGlMrLyNvNz2vYlMPZB246ia','CNvUswq','Bwf0y2G','u0Lhs0Lmta','CgfYC2u','AxnuzxjTAw5HBa','ywrHChrLCG','Dw5VDgvZDc52Awv3zxiUsunVBgXLy3rPB25ZrgLZy292zxj5','Dw5VDgvZDc52Awv3zxiUsunVBgXLy3rPB25Zv3jPDgvY','l2jPBI9IyxnO','l3DZ','C2nOzwr1BgvuywLS','C2fMzvbHCNnL','vMLLD2vYr2f0zxDHEq','BgvUz3rO','Dw5XDw90zq','Dw5ZDwjZy3jPyMu','AgfUzgXLuNvUrMLSzunOyw5Nzq','C3bHD24','oM5HBwu','Bg9Nq2fWDhvYzq','uNvUBMvYtw9KDwXL','nwXxDw5zwG','D2fSAW','C2nHBG','BM93','zNvUy3rPB24','Aw50zxjYDxb0zwq','Dg9vChbLCKnHC2u','zxHWzwn0zwqGjY8VicnsuKDhqKiNignVBg9YigfMDgvYihrPDgXLlcbNB3q6ia','mti2ndu1n1H6s1Loza','D3jPDgvfBNzwywX1zxm','yxbPl2HLywX0Aa','tK9ux0zpvu5e','x2HLBhbLCNm','ru5pru5u','Bg9NoMXPBMu','CNvUC1jLCg9ZAxrVCNK','CMvZAxPL','vgvYBwLUywXnB2r1Bgu','C3rLCdPVAW','C3rYAw5N','uNvUBMvYrxHJzxb0Aw9UrMLSDgvY','CMvZzxq','CMvM','DhjHy2S','DhLWzq','oNj1BKLK','ChjLDMLLDW','AgvHCNrIzwf0txrPBwu','uNvUBMvYu2vYDMLJzq','zNm6yNaTy2HHBMDLza','z2v0shr0CefKyxb0zxi','yM9VDfrZ','B25nB2r1Bgvezxn0CM95','BwLU','C3DPDgnOvg9iDhrW','CMvZzxrbBgW','vu5pvevtvf9quK9krunux1jpt1q','D2LUmZi','CMvHzfrLEhq','zgLZy3jPBwLUyxrLzfvUAw9U','qNjVywrJyxn0zxjtzxj2AwnL','C3rHDa','su5urvjoquXFu0vsvKvsx0vsuK9s','y29Kzq','CgfYzw50uNvUswq','AxngAw5PDgu','uhjVAMvJDezZrxHJzxb0Aw9UrMLSDgvY','CNvUBMvY','sw52ywXPzenVBgXLy3rPB25oyw1LrxjYB3i','yNaTy2HHBMDLza','yNvPBgq','y3vYC29YCW','nKTtwvPsDG','CMvSyxrPDMu','CMvZDw1Lza','sgvHBhrOq29UDhjVBgXLCG','BM8Gywn0AxzLihj1BIb3AxrOigLKia','z2v0uMvZCg9UC2u','zNm6y29SBgvJDgLVBI1YDw4TC3rLCa','ywn0AxzLuNvU','B2jQzwn0','C3rHCNrfmMvxyxrJAgvY','CMvUyw1L','y29UDgLUDwu','x3rZx21LDgfKyxrH','AxngAwXL','yxnpyNnLCNzHyMXL','q3jLyxrLq29SBgvJDgLVBKr0BW','Dw5VDgvZDc52Awv3zxiUsvj1BM5LCKfKyxb0zxi','zxHLy1bHDgG','y29SCW','yxbPl3j1BG','y29TCgXLDgu','sNnVBMXuywLSzxjtzxj2AwnL','tM9by3rPDMvsDw5fCNjVCG','pcfKB2n0ExbLigH0BwW+pg1LDgeGy2HHCNnLDd0IDxrMltGIpJX0AxrSzt51BM90zxn0ihzPzxDLCIaOzgv2ktWVDgL0Bgu+pgjVzhKGC3r5Bgu9iMzVBNq6mtnWEc8XlJqGDwKTBw9UB3nWywnLlg1VBM9ZCgfJztTWywrKAw5NoJi0ChG7Bwf4lxDPzhrOoJu2mhb4iJ48AdeGC3r5Bgu9iMzVBNqTC2L6ztOXnhb4o21HCMDPBJOWidaGohb4iJ51BM90zxn0ihzPzxDLCIdIGjqGzgv2ig1Vzgu8l2GXpJXWpLrOAxmGAxmGDgHLie5LC3qGqvbjicSGv1mGC2vYDMvYlIbpCgvUihrOzsb2AxrLigrLDI1Zzxj2zxiGAw5ZDgvHzdO8l3a+pha+pgeGAhjLzJ0IAhr0CdOVl2XVy2fSAg9ZDdO1mtCZiJ5ODhrWoI8VBg9JywXOB3n0oJuXnZm8l2e+pc9WpJXWihn0EwXLpsjJB2XVCJOJotK5iJ4OB3iGCNvUidXJB2rLpNbUCg0Gy29TCgLSztP3zwi8l2nVzgu+ihrVigj1AwXKihrOzsbIDw5KBguGyw5KihjLBg9Hzcb0AgLZihbHz2uUktWVCd4','ywn0AxzL','nZmXmte2yw5hEejy','q29SBgvJDgLVBKv4Axn0C0vYCM9Y','y29SB3i','CNvUig5VDcbMB3vUzdOG','y29KzxG','CNvUDgLTzsbZDgf0zsbUB3qGEwv0ihDYAxr0zw4GzM9Yihj1BIa','BMv4Da','D2f0y2G','C2v0','zMLSDgvY','AgfZ','x2nVBgXLy3rPB25Z','C3rHDhvZrM9Y','CM93CW','CMvHzfrLCM1PBMfSrxzLBNq','CNvUv2f0y2HLCG','DMLZAxq','DgHLBG','D3jPDgvY','CNvUswrgB3jeAxi','Bg9Nz2vY','BNvSBgfIBgu','Aw5MBgLNAhq','uhjVAMvJDezZrxjYB3i','y29SBgvJDgLVBNmTy2HHBMDLza','DxjS','B25nzxnZywDL','zNm6AgvSCgvYCY1JAgfUz2vK','DxnLv2vIu29JA2v0qwrHChrLCG','C3rHCNq','C2vUzgvY','Aw52ywXPzcbJB2XSzwn0Aw9Uig5HBwuGiG','Dw5SAw5R','y29SBgvJDgLVBI1YDw46zMLUAxnOzwq','DMfSAwrHDgvoyw1L','C3LUDgHLC2L6zunVBg9Y','ig5VDcbMB3vUza','tg9JA1nLCNzPy2u','DgLTzxi','ChjVAMvJDfjVB3q','yNLtB2nRzxq','CMvZB2X2zq','ChjLyNvPBgrZ','oIbLDMvYEsaNC2nLBMfYAw9ZoICGzw50CNKGBxvZDcbIzsbHihn0CMLUzYWGz290ia','C2nLBMfYAw9Z','y29TCgXLDgvK','y29SBgvJDgLVBI1YDw46C2nLBMfYAw8TzMLUAxnOzwq','C3rLChmTANnVBMWTy2HHBMDLza','x2nVBgXLy3rPB25ZlW','y2fUBM90ihn0yxj0igeGBMv3ihj1BIb3AgLSzsa','zMLUywXSEq','BM9Kzs1WDhKVCgfJA2fNzs5QC29U','Bwf4','AxndB2XSzwn0Aw9UuNvUrxzLBNq','Dw5VDgvZDc52Awv3zxiUsvj1BM5LCG','Dg9ju09tDhjPBMC','C3rHCNrcCfDHDgnOzxi','C3bHD24TAgvSCgvY','oM5HBwuVCMvUyw1L','zw5KC1DPDgG','Dw5VDgvZDc52Awv3zxiUsvj1BNnszxbVC2L0B3j5','y3DK','zxHPDa','q09orKXjq1q','C2L6zq','sgvSCgvYC0nVBNrYB2XSzxi','q29SBgvJDgLVBNndB250CM9SBgvY','yNvPBgrfBNy','CMvTB3zL','yNvZEvnJzw5HCMLVuMvMCW','Bw9Kzq','AxntzwnYzxrlzxK','q29SBgvJDgLVBLbHCNnLrxjYB3i','C3vJy2vZCW','uNvUC0nVBNrYB2XSzxi','zxjYB3i','zgv0ywLS','zgLZCg9ZzunSAwvUDa','rgjNq29UDhjVBgXLCG','B25Jzq','zNm6CNvUlxn0zxa','zgv0ywnO','q29SBgvJDgLVBNnfEgnLChrPB25gAwX0zxi','yxbWBgLJyxrPB24VANnVBG','ztjLrxzLBNrZja','zgvMAw5LuhjVCgvYDhK','C2XPy2u','y29UzMLN','Cg93zxjZAgvSBc5LEgu','zgvZAwDUoNr5Cgu','ugf0y2HdB2XSzwn0Aw9UrhrV','v2f0y2HLCLnLCNzPy2u','BgLZDefSBa','y3jLyxrL','y2HHCKnVzgvbDa','B25eyxrH','CMvHzgvYCW','zxHWzwn0zwqGDgL0BguGy29TBwvUDcaNlY8GpgH1BwfUihrPDgXLpICGywz0zxiGjY8Via','lI4VlI4VzgLZDc93zwi','DgL0Bgu','Dw5VDgvZDc52Awv3zxiUsujYB2fKy2fZDgvY','AgvSCgvYCY1JAgfUz2vK','u0vsvKLdrv9vtKfwquLmqujmrq','Ag9ZDa','D2f0y2HLCG','qNjLywTWB2LUDhndB250CM9SBgvY','D3jPDgvuzxH0','Dw5KzwzPBMvK','C2vUza','C2vYDMvY','yxjJAa','C2vZC2LVBNngB3i','CMvHzevUDLzHCNm','C2v0q2XVy2S','igjLzM9Yzsb3CML0Aw5NigfUEsbLDMvUDhm','zMfPBhvYzvn1yMPLy3q','DgvYBwLUywXpDxrJB21L','nZK5ota0DKHjBhzl','CMvHzfnSAwnL','C3bSAxq','u2nLBMfYAw9izwfKzxjqyxjZzxjtzxj2AwnL','oIaNC2nLBMfYAw9ZoICGyxjYyxKGAxmGCMvXDwLYzwq','CNvUBMLUzW','mtuZnte2mfHTsw10sW','AM9PBG','DMfSDwvZ','yNvPBgrbCMDZ','l3DZl3rLCM1PBMfS','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','BgLUzq','yxbPl3nVDxjJzq','y2XHDwrL','qKfex1jfuvvfu1q','CNvUlwrPCI1HzgrLza','ktOG','BgL0zxjHBa','rw52q29UDhjVBgXLCG','y2XLyxi','C2nLBMfYAw8','CNvUBMvYigv4AxrLzcb3AxrOignVzguG','Dw5VDgvZDc52Awv3zxiUsuXVz0nHChr1CMu','iIbUB3qGzM91BMq','CMvHzev4Axn0Aw5N','Dw5RBM93BG','BMv4DenVBw1HBMrjza','Dw5VDgvZDc52Awv3zxiUsvDHDgnOzxi','CMfUzg9T','Dw5VDgvZDc52Awv3zxiUsuHLBhbLCNneAxnJB3zLCNK','C2nLBMfYAw8GiG','DgfPBgvY','qwjVCNrdB250CM9SBgvY','AxnbCNjHEq','Chr5ugfJA2fNzvjVB3q','C3rHCNrsDw5xyxrJAgvY','C2LUA3m','iokgKIa','Aw50zxjYDxb0zwqK','zM9Y','Cgf0AcbLC2nHCgvZihbYB2PLy3qGCM9VDdOG','ksbPCYbHy3rPDMuUiefIB3j0igL0igzPCNn0ig9YihDHAxqGzM9YignVBxbSzxrPB24U','y2HLy2TbCNrPzMfJDhm','C3vICW','zgvZAwDUoNjLDhvYBNr5Cgu','BMfTzq','u2nLBMfYAw9Zq29UDhjVBgXLCG','ywjVCNrLza','Cgf0AcbTDxn0igjLihbYB2PLy3qTCMvSyxrPDMuSigDVDcbHyNnVBhv0ztOG','BMv3tMfTzq','CMvHze1HBMLMzxn0','B25nB2r1BgvjBML0','CgLWzq','C3bSAxrmAw5LCW','ywrK','zNm6C2nLBMfYAw9ZlwnOyw5Nzwq','zxHLyW','x3rZx2rLy29YyxrL','Axnty2vUyxjPB0nHBMrPzgf0zq','CNvUici','BwvZC2fNzq','y2fUBM90ihn0yxj0igeGC2HLBgWGka','y2HPBgrYzw5pzG','yNvPBgrty2vUyxjPBW','lNvUB3rLC3qVzMfPBhvYzxmV','C3rHCNrLzef0','AwqT','zMfPBgvK','AgfUzgXLrgLZy29UBMvJDa','yxbPl3j1BNmVoNj1BKLK','C3rYAwn0','BM9UBMvNyxrPDMu','oNj1BKLKl2nOAwXKCMvU','C3rKB3v0','CMvHza','Cg9YDa','B3b0Aw9UywW','tg9Nq2fWDhvYzvnLCNzPy2u','CgfJA2fNzs5QC29U','zw52','C3vIyxjYyxK','A2LSBa','CMvNzxG','mtHtwgLor20','Dgv4Dc9ODg1S','Dw5VDgvZDc52Awv3zxiUsvDZu2vUzgvY','C2vZC2LVBNm','zM9Yz2v0','C3rHCNrLza','Dw5VDgvZDc52Awv3zxiUsuXVy2S','C3vWCg9YDgvKs2LUzhm','y29SBgvJDgLVBI1YDw46C3rHCNrLza','CNvUlwrPCI1Yzw1VDMvK','DxnLr2XVyMfSrMLSDgvYCW','y29Uy2f0','zNm6CNvUlxn0yxj0zwq','zgvJB3jHDgu','C3vIC2nYAwjL','y29SBgvJDgLVBG','CNvUu3vIAMvJDa','DxnLu3rHDgLJqxnZzxrZ','Dg9tDhjPBMC','yxbPl3nJzw5HCMLVCW','D2f0y2HLCLn1yG','zMXVB3i','z2v0sw5ZDgfUy2u','Dw5Yzwy','uNvUC1jLCg9ZAxrVCNLtzxj2AwnL','C2nLBMfYAw9ZlwnOyw5Nzwq','Bg9JywXOB3n0','BgLUzxmK','yMfZzw5HBwu','zNm6y29SBgvJDgLVBNmTy2HHBMDLza','DxrMoa','zgLZy292zxj5','Dw5VDgvZDc52Awv3zxiUsvnJzw5HCMLVsgvHzgvYugfYC2vY','y2HPBgrYzw4','DgfPBa','jYWGz290oIa','CMvJB3jK','CNvUDgLTzq','zxHPC3rZ','qwn0AxzLuNvUq29UzMXPy3rfCNjVCG','BM93rM4','y2f0zwDVCMLZzufUzevTAxq','zgvZy3jPChrPB24','BgLZDa','ztjLu3vIAMvJDa','ywrKrgLY','D2fYBG','yNbxyxrJAgvY','yxbPl2jYzwfRCg9PBNrZ','yxnZzxqGBM90igzVDw5KoIa','Dgv4Dc9WBgfPBJSGy2HHCNnLDd11DgyToa','CgLK','yxr0ywnO','yxbWBgLJyxrPB24VEMLW','CgfYC2vY','Bwv0ywrHDge','zM9YuM9VDa','ChjVDg90ExbL','zw5ZDxjLuhr5sgvSCgvYrxHLy3v0ywjSzq','BwfUAwzLC3qUANnVBIbWyxjZztOG','iIbHBhjLywr5igv4Axn0CW','zw5K','jYbPCYbUB3qGyxzHAwXHyMXLig9UifbbveGG4OcuigLUC3rHBgWGAxqSig9YihvZzsbHieXVy2fSihrLCM1PBMfSlG','CMvWBW','BgfZDfnLzw4','v2f0y2HLCK1VzhvSzq','zMfPBhvYzxmK','zxzLBNrZja','D3jPDgu','Cgf0y2G','zMfPBgvKihrVihDYAxrLic5LBNy6ia','yM9VBgvHBG','BxrPBwvnCW','C3LUDgHLC2L6zuLK','x2HLBhbLCNmV','yxbPl2vUDG','z2v0','zxjYtwvZC2fNzq','otCXnte4ofHzBgrLuq','C3rLCdPZDgfYDgvK','mtC1ode3mZbhr1voCLm','Cgf0Aa','Cgf0AezVCG','AgvHCNrIzwf0','sgvHCNrIzwf0tw9UAxrVCLnLCNzPy2u','AxneAxjLy3rVCNK','yxbPl2HLBhbLCNm','zMfPBhvYzs1IDw5KBgu6D3jPDhrLBG','CM9VDa','C3rHCNrZv2L0Aa','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','Aw1Hz2uVANbLzW','ywjVCNq','u0HfteW','CMvHze1LDge','CgfYC2vdB2XSzwn0Aw9UwwfTBa','BwfW','u2nLBMfYAw9ZrgLZy292zxj5u2vYDMLJzq','u0Lhvevstq','zgvZAwDUoNbHCMfTDhLWzxm','Dw5VDgvZDc52Awv3zxiUsvbYB2PLy3rgCW','C3rHDhvZrNjVBvrLCM1PBMfS','B3v0y29Tzq','lI4U','ChvZAa','Aw5JBhvKzxm','C3rKzxjY','y29SBgvJDgLVBIaI','zMLUywXPEMu','C3vIAMvJDa','BM8GDw5VDgvZDc8Uzw52ihrVihDYAxrLiokaLcbYDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5PDgaGzMLYC3q','A2LUza','yxbPl3j1BNmVoNj1BKLKl2fZC2v0','zMfPBgvKihrVigfWCgvUzcbJB21Tyw5KoIa','AgvHCNrIzwf0lwnOyw5Nzwq','Bg9JA1bHDgG','mtmYodC4ng9rr2zPCG','uMvSzwfZzq','BwLZC2LUzYa/Cgf0Ad0','uNvUq29UDhjVBgXLCG','y2HPBgq','DMLLD2vYihvWigf0ia','Aw50','CNvUia','AgfUzgXL','DhjPBq','Cgf1C2vK','CNvUoNn0yxj0zwq','CNvUoMzPBMLZAgvK','C3rHDhvZ','AgvHzgvY','CMvWBgfJzq','Dg9mB3DLCKnHC2u','vMLLD2vYtw9KDwXL','zxHWzwn0zwqGj2z1BMn0Aw9UihrLC3rFpg5HBwu+kcKNigLTBwvKAwf0zwX5igfMDgvYignVBg9YlcbNB3q6ia','z2v0vxjS','rNnnB2r1Bgu','y29SBgvJDgLVBI1YDw46C2nLBMfYAw8TC3rHCNrLza','C2v0lwjW','CMvZB2X2zujPBG','lNLHBwW','C2vYAwfSAxPL','CNvUrxzLBNrZja','yxjNDG','zgf0yq','zgLZy292zxjbBgW','BNvTyMvY','x3rZx3bHCMfT','oNj1BKLKl2fIB3j0','C3rVCa','Dw5VDgvZDc52Awv3zxiUsvnJzw5HCMLVC0rPC2nVDMvYEq','vu5pvevtvf9wsuvxrvjFue9sva','C2nOzw1HvMvYC2LVBG','y2f0y2G','zw1PDa','vu5pvevtvf9cvvnzx1ndru5buKLpuW','yxjYyxK','C3rYAw5NAwz5','Bg9Hzez1BgW','v3nnB2r1Bgu','AgvHBhrO','CMvHzezPCNn0rxzLBNq','BgLZDgvU','Cg9W','D3jPDgfIBgvfBMrLza','C3rLCdPMywLS','DgvZDa','CgXHDgzVCM0','ywXSB2m','Dw5VDgvZDc52Awv3zxiUsuPZB25SvgfPBgvY','zgvSzxrL','lMPZ','uhjVAMvJDezZu2vYDMLJzq','y2XVC2u','lNrTCa','CMvHzhLtDgf0zq','y2HHBMDL','CMvZB2X2zunVBw1HBMq','A2v5','shr0Ce1VzhvSzq','icHYB290oIa','C2nYzwvUC2HVDa'];_0x4d5a=function(){return _0x5372f8;};return _0x4d5a();}__name(_ts_decorate11,_0x2d7e8f(0x140));function _ts_metadata6(_0x3c66cf,_0x5cf66b){const _0x50c8b6={_0x43ad30:0x267,_0xffba32:0x191,_0x2b0c96:0x22f},_0xd50a5d=_0x2d7e8f;if(typeof Reflect===_0xd50a5d(_0x50c8b6._0x43ad30)&&typeof Reflect[_0xd50a5d(_0x50c8b6._0xffba32)]===_0xd50a5d(_0x50c8b6._0x2b0c96))return Reflect[_0xd50a5d(0x191)](_0x3c66cf,_0x5cf66b);}__name(_ts_metadata6,_0x2d7e8f(0x26b));function _ts_param6(_0x36fa83,_0x281cc6){return function(_0x1b6de9,_0x19cf7e){_0x281cc6(_0x1b6de9,_0x19cf7e,_0x36fa83);};}__name(_ts_param6,'_ts_param');var RUNS_ROOT=_0x27bb7c[_0x2d7e8f(0x2f4)](_0x3f5ebe,RUNS_SUBDIR),HEARTBEAT_STALE_MS=0x7530,TAIL_PEEK_BYTES=0x1000,RunsRepositoryService=class _RunsRepositoryService{static{__name(this,_0x2d7e8f(0x172));}['fs'];[_0x2d7e8f(0x28c)]=new _0xfcf99b(_RunsRepositoryService[_0x2d7e8f(0x134)]);constructor(_0x20c7c7){this['fs']=_0x20c7c7;}async[_0x2d7e8f(0x2d4)](){const _0x3fcdd5={_0x171991:0x1af,_0x31a12a:0x176,_0x482c1b:0x1ab,_0x3fe557:0x1b8,_0x61b3f7:0x1c2,_0x16d7aa:0x188,_0x1ef70e:0x143},_0xc875ca=_0x2d7e8f;if(!await this['fs']['exists'](RUNS_ROOT))return[];const _0x546dfe=await this['fs']['list'](RUNS_ROOT),_0x12e2ab=[];for(const _0x59f58c of _0x546dfe){if(!_0x59f58c[_0xc875ca(_0x3fcdd5._0x171991)])continue;const _0x6836a9=_0x27bb7c[_0xc875ca(_0x3fcdd5._0x31a12a)](_0x59f58c[_0xc875ca(_0x3fcdd5._0x482c1b)]);try{const _0x247252=await this[_0xc875ca(_0x3fcdd5._0x3fe557)](_0x6836a9);if(_0x247252)_0x12e2ab[_0xc875ca(_0x3fcdd5._0x61b3f7)](_0x247252);}catch(_0xcf382c){this['logger'][_0xc875ca(_0x3fcdd5._0x16d7aa)](_0x6836a9+':\x20'+(_0xcf382c instanceof Error?_0xcf382c[_0xc875ca(_0x3fcdd5._0x1ef70e)]:String(_0xcf382c)));}}return _0x12e2ab['sort']((_0x313023,_0x2da581)=>_0x2da581['startedAt']-_0x313023[_0xc875ca(0x148)]);}async[_0x2d7e8f(0x145)](_0x1cd0c0){const _0x3e0a75={_0x528ec3:0x2d4},_0x1a295c=_0x2d7e8f,_0x5055e8=await this[_0x1a295c(_0x3e0a75._0x528ec3)]();return _0x5055e8['filter'](_0x362a8a=>_0x362a8a['parentRunId']===_0x1cd0c0);}async['loadFull'](_0x3bc211){const _0x55e0e5={_0x21fee0:0x180,_0x3b17df:0x1c9,_0x4ca37b:0x169,_0x432f23:0x219,_0x19a530:0x1d7},_0x116acd=_0x2d7e8f,_0x15d72c=await this['readMeta'](_0x3bc211);if(!_0x15d72c)return null;const _0x1248f8=_0x27bb7c[_0x116acd(0x2f4)](RUNS_ROOT,_0x3bc211,STEPS_FILE);if(!await this['fs'][_0x116acd(_0x55e0e5._0x21fee0)](_0x1248f8))return _0x15d72c[_0x116acd(0x1c9)]===_0x116acd(0x169)?{'meta':_0x15d72c,'events':[]}:{'meta':_0x15d72c,'events':[]};const _0x40fb5e=this['fs'][_0x116acd(0x2a1)](_0x1248f8),_0x90d225=await _0x2b14cd(_0x40fb5e,'utf8');if(_0x15d72c[_0x116acd(_0x55e0e5._0x3b17df)]===_0x116acd(_0x55e0e5._0x4ca37b)){const _0x2b0568=[];for(const _0x4e3efe of _0x90d225[_0x116acd(0x2ef)]('\x0a')){const _0x4e4d67=_0x4e3efe['trim']();if(_0x4e4d67==='')continue;try{const _0x20d630=JSON[_0x116acd(_0x55e0e5._0x432f23)](_0x4e4d67);if(isCollectionArtifact(_0x20d630))_0x2b0568[_0x116acd(0x1c2)](_0x20d630);}catch{}}return{'meta':_0x15d72c,'events':_0x2b0568};}const _0x451c72=[];for(const _0x2aef12 of _0x90d225['split']('\x0a')){const _0x32f9e3=_0x2aef12[_0x116acd(_0x55e0e5._0x19a530)]();if(_0x32f9e3==='')continue;try{const _0x27dfc0=JSON[_0x116acd(0x219)](_0x32f9e3);if(isScenarioArtifact(_0x27dfc0))_0x451c72[_0x116acd(0x1c2)](_0x27dfc0);}catch{}}return{'meta':_0x15d72c,'events':_0x451c72};}async[_0x2d7e8f(0x1b8)](_0x31e7f1){const _0x2ea41a={_0x11f4f7:0x2f4,_0x2e02fa:0x254,_0x4a2faf:0x1fb,_0x47a463:0x286,_0x169834:0x246,_0x551a5d:0x22e,_0x1f5299:0x1c9,_0x58298b:0x2ac},_0x326cc5=_0x2d7e8f,_0x1a024c=_0x27bb7c[_0x326cc5(_0x2ea41a._0x11f4f7)](RUNS_ROOT,_0x31e7f1,STEPS_FILE),_0x56100b=_0x27bb7c[_0x326cc5(0x2f4)](RUNS_ROOT,_0x31e7f1,HEARTBEAT_FILE),_0x133c30=_0x27bb7c['join'](RUNS_ROOT,_0x31e7f1,RUN_MANIFEST_FILE),_0x3758f3=this['fs']['resolve'](_0x1a024c),_0x2000a2=await this['readManifest'](_0x133c30);let _0x4feb63=null,_0x4d5f6d=null,_0x202901=0x0,_0x9f0bd1=![];try{const _0x1a6852=await this['fs'][_0x326cc5(_0x2ea41a._0x2e02fa)](_0x1a024c);_0x202901=_0x1a6852[_0x326cc5(0x2b8)],_0x202901>0x0&&(_0x4feb63=await this[_0x326cc5(_0x2ea41a._0x4a2faf)](_0x3758f3),_0x4d5f6d=await this[_0x326cc5(_0x2ea41a._0x47a463)](_0x3758f3,_0x202901));}catch(_0x1b8529){if(_0x1b8529['code']==='ENOENT')_0x9f0bd1=!![];else throw _0x1b8529;}const _0xdf6278=await this[_0x326cc5(_0x2ea41a._0x169834)](_0x56100b);if(!_0x2000a2&&!_0x4feb63&&_0xdf6278===null&&_0x9f0bd1)return null;const _0x5d48bb=_0x2000a2?.[_0x326cc5(0x148)]??_0x4feb63?.['t']??_0xdf6278??Date[_0x326cc5(_0x2ea41a._0x551a5d)](),{kind:_0x3c21af,ref:_0x4a1ccc}=_0x2000a2?{'kind':_0x2000a2[_0x326cc5(_0x2ea41a._0x1f5299)],'ref':_0x2000a2[_0x326cc5(0x241)]}:describeHead(_0x4feb63,_0x31e7f1),_0x50b679=_0x2000a2?.[_0x326cc5(0x257)];if(_0x4d5f6d&&isTerminal(_0x4d5f6d)){const _0x4746ba=statusFromTerminal(_0x4d5f6d);return{'runId':_0x31e7f1,'kind':_0x3c21af,'ref':_0x4a1ccc,'startedAt':_0x5d48bb,'finishedAt':_0x4d5f6d['t'],'durationMs':_0x4d5f6d['t']-_0x5d48bb,'status':_0x4746ba,'outcome':terminalOutcome(_0x4d5f6d),..._0x50b679?{'parentRunId':_0x50b679}:{}};}const _0x2635ec=Date[_0x326cc5(0x22e)](),_0x62737a=_0xdf6278!==null&&_0x2635ec-_0xdf6278<HEARTBEAT_STALE_MS;if(_0x62737a)return{'runId':_0x31e7f1,'kind':_0x3c21af,'ref':_0x4a1ccc,'startedAt':_0x5d48bb,'finishedAt':null,'durationMs':null,'status':_0x326cc5(0x2f2),'outcome':null,..._0x50b679?{'parentRunId':_0x50b679}:{}};const _0x1cc549=_0xdf6278??_0x5d48bb;return{'runId':_0x31e7f1,'kind':_0x3c21af,'ref':_0x4a1ccc,'startedAt':_0x5d48bb,'finishedAt':_0x1cc549,'durationMs':Math[_0x326cc5(_0x2ea41a._0x58298b)](0x0,_0x1cc549-_0x5d48bb),'status':_0x326cc5(0x230),'outcome':'interrupted',..._0x50b679?{'parentRunId':_0x50b679}:{}};}async[_0x2d7e8f(0x139)](_0x2d8c8e){const _0x4e18fe={_0x49ad00:0x251,_0x2d8e0c:0x219,_0x10f74d:0x1f2,_0xf78f78:0x195,_0x2b730b:0x143},_0x56735f=_0x2d7e8f;if(!await this['fs'][_0x56735f(0x180)](_0x2d8c8e))return null;try{const _0x34d8b8=await this['fs'][_0x56735f(_0x4e18fe._0x49ad00)](_0x2d8c8e),_0x4bac44=JSON[_0x56735f(_0x4e18fe._0x2d8e0c)](_0x34d8b8);if(_0x4bac44[_0x56735f(_0x4e18fe._0x10f74d)]!==0x1)return null;if(typeof _0x4bac44[_0x56735f(0x1c9)]!=='string'||typeof _0x4bac44[_0x56735f(0x241)]!==_0x56735f(0x23e)||typeof _0x4bac44['startedAt']!=='number')return null;return _0x4bac44;}catch(_0x1033fe){return this[_0x56735f(0x28c)][_0x56735f(0x188)](_0x56735f(_0x4e18fe._0xf78f78)+(_0x1033fe instanceof Error?_0x1033fe[_0x56735f(_0x4e18fe._0x2b730b)]:String(_0x1033fe))),null;}}async[_0x2d7e8f(0x1fb)](_0x5869e0){const _0x51b3aa={_0x731ce5:0x202,_0x305bae:0x151,_0x2b822d:0x16c,_0x269fdc:0x178,_0x4a4638:0x2ce,_0x22c6e3:0x207},_0x9c1639=_0x2d7e8f,_0x3bafac=await open(_0x5869e0,'r');try{const _0x11915f=Buffer[_0x9c1639(_0x51b3aa._0x731ce5)](TAIL_PEEK_BYTES),{bytesRead:_0x21dd97}=await _0x3bafac[_0x9c1639(_0x51b3aa._0x305bae)](_0x11915f,0x0,TAIL_PEEK_BYTES,0x0);if(_0x21dd97===0x0)return null;const _0x1a40e0=_0x11915f['subarray'](0x0,_0x21dd97)[_0x9c1639(_0x51b3aa._0x2b822d)](_0x9c1639(_0x51b3aa._0x269fdc)),_0x51a0a4=_0x1a40e0['indexOf']('\x0a'),_0x3d2b13=(_0x51a0a4>=0x0?_0x1a40e0[_0x9c1639(_0x51b3aa._0x4a4638)](0x0,_0x51a0a4):_0x1a40e0)[_0x9c1639(0x1d7)]();if(_0x3d2b13==='')return null;try{return JSON[_0x9c1639(0x219)](_0x3d2b13);}catch{return null;}}finally{await _0x3bafac[_0x9c1639(_0x51b3aa._0x22c6e3)]();}}async[_0x2d7e8f(0x286)](_0x35a03c,_0x298ddf){const _0xd20baa={_0x2843ce:0x157,_0x3fd7e5:0x1ba,_0x28dc59:0x281,_0x214649:0x219},_0x161a24=_0x2d7e8f,_0x3ca582=Math[_0x161a24(0x2ac)](0x0,_0x298ddf-TAIL_PEEK_BYTES),_0x13896c=_0x298ddf-_0x3ca582,_0x5c8f9a=await open(_0x35a03c,'r');try{const _0x21fe54=Buffer['alloc'](_0x13896c),{bytesRead:_0x10c7fe}=await _0x5c8f9a['read'](_0x21fe54,0x0,_0x13896c,_0x3ca582);if(_0x10c7fe===0x0)return null;const _0x53382d=_0x21fe54[_0x161a24(_0xd20baa._0x2843ce)](0x0,_0x10c7fe)[_0x161a24(0x16c)]('utf8'),_0x4a2e67=_0x53382d[_0x161a24(0x2ef)]('\x0a')[_0x161a24(_0xd20baa._0x3fd7e5)](_0x10ff52=>_0x10ff52[_0x161a24(0x1d7)]())[_0x161a24(_0xd20baa._0x28dc59)](_0x289aff=>_0x289aff!=='');for(let _0x1415a2=_0x4a2e67['length']-0x1;_0x1415a2>=0x0;_0x1415a2--){let _0x3f85b7;try{_0x3f85b7=JSON[_0x161a24(_0xd20baa._0x214649)](_0x4a2e67[_0x1415a2]);}catch{continue;}if(isTerminal(_0x3f85b7))return _0x3f85b7;}return null;}finally{await _0x5c8f9a[_0x161a24(0x207)]();}}async['heartbeatMtime'](_0x877112){const _0x5e9a39={_0x2915cc:0x254,_0x3e4cd9:0x1a2},_0x538a72=_0x2d7e8f;try{const _0x1e2bec=await this['fs'][_0x538a72(_0x5e9a39._0x2915cc)](_0x877112);return _0x1e2bec[_0x538a72(_0x5e9a39._0x3e4cd9)];}catch{return null;}}};RunsRepositoryService=_ts_decorate11([_0x21ad13(),_ts_param6(0x0,_0x4dec28(IPROJECT_FS)),_ts_metadata6(_0x2d7e8f(0x2d1),Function),_ts_metadata6(_0x2d7e8f(0x1bd),[typeof IProjectFs==='undefined'?Object:IProjectFs])],RunsRepositoryService);function isScenarioArtifact(_0x3443d5){const _0x2f4e24={_0x301939:0x1d9,_0x55244e:0x1ff,_0x5d4c0b:0x20f,_0x16d9e0:0x261,_0x57db67:0x1da},_0x1465f7=_0x2d7e8f;switch(_0x3443d5['kind']){case _0x1465f7(_0x2f4e24._0x301939):case _0x1465f7(0x1a9):case _0x1465f7(0x23d):case _0x1465f7(_0x2f4e24._0x55244e):case _0x1465f7(_0x2f4e24._0x5d4c0b):case _0x1465f7(0x1b1):case _0x1465f7(0x1d8):case _0x1465f7(_0x2f4e24._0x16d9e0):case _0x1465f7(_0x2f4e24._0x57db67):return!![];default:return![];}}__name(isScenarioArtifact,'isScenarioArtifact');function isCollectionArtifact(_0x58d3bf){const _0x315f59={_0xd72ee2:0x1c9,_0x5aebd8:0x162,_0x49dd03:0x1e3,_0x50d429:0x299},_0x108518=_0x2d7e8f;switch(_0x58d3bf[_0x108518(_0x315f59._0xd72ee2)]){case _0x108518(_0x315f59._0x5aebd8):case _0x108518(_0x315f59._0x49dd03):case _0x108518(0x2a6):case _0x108518(_0x315f59._0x50d429):return!![];default:return![];}}__name(isCollectionArtifact,'isCollectionArtifact');function isTerminal(_0x1c7a66){const _0x560c11={_0x585e9f:0x1c9,_0x382a9f:0x1c9,_0x398080:0x299},_0x226747=_0x2d7e8f;if(!_0x1c7a66)return![];return _0x1c7a66[_0x226747(_0x560c11._0x585e9f)]===_0x226747(0x1da)||_0x1c7a66[_0x226747(_0x560c11._0x382a9f)]===_0x226747(_0x560c11._0x398080);}__name(isTerminal,_0x2d7e8f(0x21a));function statusFromTerminal(_0x2805ac){const _0x428dc6={_0x2fdad9:0x1c0,_0x1319d2:0x2a5,_0x7f93d3:0x14a,_0x170df2:0x230},_0x3fd466=_0x2d7e8f;switch(_0x2805ac[_0x3fd466(_0x428dc6._0x2fdad9)]){case _0x3fd466(_0x428dc6._0x1319d2):return'passed';case _0x3fd466(_0x428dc6._0x7f93d3):return _0x3fd466(0x14a);case _0x3fd466(0x136):return _0x3fd466(0x136);case _0x3fd466(_0x428dc6._0x170df2):return _0x3fd466(_0x428dc6._0x170df2);}}__name(statusFromTerminal,_0x2d7e8f(0x1bf));function terminalOutcome(_0x2133c9){const _0x41d30b={_0x5b6c2e:0x1c0},_0xb2c71f=_0x2d7e8f;return _0x2133c9[_0xb2c71f(_0x41d30b._0x5b6c2e)];}__name(terminalOutcome,_0x2d7e8f(0x2ec));function describeHead(_0x443373,_0x1b9e11){const _0x583d7f={_0x1c61e0:0x1d9,_0x23b8f0:0x11b,_0x37919c:0x169,_0x2e33d5:0x223,_0x1ff320:0x2f4},_0x4ede5d=_0x2d7e8f;if(_0x443373?.[_0x4ede5d(0x1c9)]===_0x4ede5d(_0x583d7f._0x1c61e0))return{'kind':_0x4ede5d(_0x583d7f._0x23b8f0),'ref':_0x443373[_0x4ede5d(_0x583d7f._0x23b8f0)]};if(_0x443373?.[_0x4ede5d(0x1c9)]===_0x4ede5d(0x162))return{'kind':_0x4ede5d(_0x583d7f._0x37919c),'ref':_0x443373[_0x4ede5d(0x169)]};const _0x20792e=_0x1b9e11['split']('-'),_0x42e4f0=_0x20792e[_0x4ede5d(_0x583d7f._0x2e33d5)]>0x2?0x2:0x0,_0x11d4ff=_0x20792e[_0x4ede5d(0x2ce)](0x0,_0x20792e['length']-_0x42e4f0)[_0x4ede5d(_0x583d7f._0x1ff320)]('-')||_0x1b9e11;return{'kind':_0x4ede5d(_0x583d7f._0x23b8f0),'ref':_0x11d4ff};}__name(describeHead,'describeHead');function _ts_decorate12(_0x48c03f,_0x2d5042,_0x52b969,_0x1837a0){const _0x1d0d78={_0x58b864:0x111},_0x5461e6=_0x2d7e8f;var _0x171e36=arguments['length'],_0x1891fc=_0x171e36<0x3?_0x2d5042:_0x1837a0===null?_0x1837a0=Object[_0x5461e6(_0x1d0d78._0x58b864)](_0x2d5042,_0x52b969):_0x1837a0,_0x33aa45;if(typeof Reflect===_0x5461e6(0x267)&&typeof Reflect['decorate']===_0x5461e6(0x22f))_0x1891fc=Reflect[_0x5461e6(0x167)](_0x48c03f,_0x2d5042,_0x52b969,_0x1837a0);else{for(var _0x6b7ac3=_0x48c03f['length']-0x1;_0x6b7ac3>=0x0;_0x6b7ac3--)if(_0x33aa45=_0x48c03f[_0x6b7ac3])_0x1891fc=(_0x171e36<0x3?_0x33aa45(_0x1891fc):_0x171e36>0x3?_0x33aa45(_0x2d5042,_0x52b969,_0x1891fc):_0x33aa45(_0x2d5042,_0x52b969))||_0x1891fc;}return _0x171e36>0x3&&_0x1891fc&&Object[_0x5461e6(0x2cd)](_0x2d5042,_0x52b969,_0x1891fc),_0x1891fc;}__name(_ts_decorate12,_0x2d7e8f(0x140));var RunsModule=class{static{__name(this,'RunsModule');}};RunsModule=_ts_decorate12([_0x278c1c({'imports':[FsModule],'providers':[{'provide':IRUNS_REPOSITORY,'useClass':RunsRepositoryService}],'exports':[IRUNS_REPOSITORY]})],RunsModule);import{Inject as _0x37f2d8,Injectable as _0x519681}from'@nestjs/common';import{RUNS_SUBDIR as _0x53b679,STDERR_FILE,STDOUT_FILE,UNOTEST_DIR as _0x1d15d4}from'@unotest/protocol';import{createWriteStream,mkdirSync}from'fs';import{dirname as _0x88cd43,join as _0x25ba03}from'path';import{createInterface}from'readline';import{Subject}from'rxjs';function _ts_decorate13(_0x19087d,_0x4848a8,_0x2b3bb9,_0x27c582){const _0x211d2d={_0x1a89ce:0x167},_0x5c130f=_0x2d7e8f;var _0x1150ed=arguments['length'],_0x3d5266=_0x1150ed<0x3?_0x4848a8:_0x27c582===null?_0x27c582=Object[_0x5c130f(0x111)](_0x4848a8,_0x2b3bb9):_0x27c582,_0x42cb6d;if(typeof Reflect===_0x5c130f(0x267)&&typeof Reflect['decorate']==='function')_0x3d5266=Reflect[_0x5c130f(_0x211d2d._0x1a89ce)](_0x19087d,_0x4848a8,_0x2b3bb9,_0x27c582);else{for(var _0x58a11d=_0x19087d[_0x5c130f(0x223)]-0x1;_0x58a11d>=0x0;_0x58a11d--)if(_0x42cb6d=_0x19087d[_0x58a11d])_0x3d5266=(_0x1150ed<0x3?_0x42cb6d(_0x3d5266):_0x1150ed>0x3?_0x42cb6d(_0x4848a8,_0x2b3bb9,_0x3d5266):_0x42cb6d(_0x4848a8,_0x2b3bb9))||_0x3d5266;}return _0x1150ed>0x3&&_0x3d5266&&Object[_0x5c130f(0x2cd)](_0x4848a8,_0x2b3bb9,_0x3d5266),_0x3d5266;}__name(_ts_decorate13,_0x2d7e8f(0x140));function _ts_metadata7(_0x1c3186,_0x2b5cce){const _0x282075={_0x14bb3e:0x267,_0x171efa:0x191},_0x482522=_0x2d7e8f;if(typeof Reflect===_0x482522(_0x282075._0x14bb3e)&&typeof Reflect[_0x482522(_0x282075._0x171efa)]==='function')return Reflect[_0x482522(0x191)](_0x1c3186,_0x2b5cce);}__name(_ts_metadata7,'_ts_metadata');function _ts_param7(_0x4dfd01,_0x450947){return function(_0xc0661f,_0x3fd616){_0x450947(_0xc0661f,_0x3fd616,_0x4dfd01);};}__name(_ts_param7,'_ts_param');var LogCaptureService=class{static{__name(this,_0x2d7e8f(0x154));}[_0x2d7e8f(0x2cf)];[_0x2d7e8f(0x175)];[_0x2d7e8f(0x1c7)]=new Subject();[_0x2d7e8f(0x12b)]=new Map();[_0x2d7e8f(0x2d8)]=new Map();constructor(_0x29035a){const _0x4024df={_0x22870b:0x175,_0x18f4c3:0x1c7},_0x4f6cec=_0x2d7e8f;this[_0x4f6cec(0x2cf)]=_0x29035a,this[_0x4f6cec(_0x4024df._0x22870b)]=this[_0x4f6cec(_0x4024df._0x18f4c3)][_0x4f6cec(0x26d)]();}['attach'](_0x1e318d,_0x3e2656,_0x37c70d){const _0x2feb93={_0x4e3c46:0x2cf,_0x3779a2:0x29f,_0x2a785e:0x150,_0x200a68:0x12b,_0x9e66c1:0x2d8,_0x443bdb:0x207},_0x12292c={_0x271fb2:0x197},_0x32bf26={_0x160def:0x27e},_0x2bd322=_0x2d7e8f,_0x599efb=this['key'](_0x1e318d,_0x3e2656);this['detach'](_0x1e318d,_0x3e2656);const _0x3fa3e9=_0x25ba03(this[_0x2bd322(_0x2feb93._0x4e3c46)][_0x2bd322(_0x2feb93._0x3779a2)],_0x1d15d4,_0x53b679,_0x1e318d,_0x3e2656===_0x2bd322(_0x2feb93._0x2a785e)?STDOUT_FILE:STDERR_FILE);mkdirSync(_0x88cd43(_0x3fa3e9),{'recursive':!![]});const _0x5aa9d6=createWriteStream(_0x3fa3e9,{'flags':'a'});this[_0x2bd322(_0x2feb93._0x200a68)]['set'](_0x599efb,_0x5aa9d6);const _0x3e9b96=createInterface({'input':_0x37c70d,'crlfDelay':Infinity});this[_0x2bd322(_0x2feb93._0x9e66c1)]['set'](_0x599efb,_0x3e9b96),_0x3e9b96['on'](_0x2bd322(0x112),_0x2676ea=>{const _0x2922fa=_0x2bd322;this[_0x2922fa(0x1c7)][_0x2922fa(_0x32bf26._0x160def)]({'runId':_0x1e318d,'stream':_0x3e2656,'line':_0x2676ea}),_0x5aa9d6[_0x2922fa(0x19e)](_0x2676ea+'\x0a');}),_0x3e9b96['on'](_0x2bd322(_0x2feb93._0x443bdb),()=>{const _0x2a06ed=_0x2bd322;_0x5aa9d6[_0x2a06ed(_0x12292c._0x271fb2)]();});}['detach'](_0x6cffee,_0x5c857d){const _0x60351b={_0x4275b0:0x2d8},_0x4f3ac9=_0x2d7e8f,_0x172dee=this[_0x4f3ac9(0x20c)](_0x6cffee,_0x5c857d),_0x7aec06=this[_0x4f3ac9(_0x60351b._0x4275b0)][_0x4f3ac9(0x1a6)](_0x172dee);_0x7aec06&&(_0x7aec06['close'](),this[_0x4f3ac9(_0x60351b._0x4275b0)]['delete'](_0x172dee));const _0x59e98f=this[_0x4f3ac9(0x12b)][_0x4f3ac9(0x1a6)](_0x172dee);if(_0x59e98f){if(!_0x59e98f[_0x4f3ac9(0x1fe)])_0x59e98f['end']();this[_0x4f3ac9(0x12b)]['delete'](_0x172dee);}}[_0x2d7e8f(0x24b)](){const _0x143b45={_0x31501b:0x2d8,_0x1e3feb:0x2f5,_0x481986:0x12b},_0x145293=_0x2d7e8f;for(const _0x350117 of this[_0x145293(_0x143b45._0x31501b)][_0x145293(_0x143b45._0x1e3feb)]())_0x350117['close']();this[_0x145293(0x2d8)][_0x145293(0x11a)]();for(const _0x4dcc9e of this[_0x145293(0x12b)][_0x145293(_0x143b45._0x1e3feb)]()){if(!_0x4dcc9e[_0x145293(0x1fe)])_0x4dcc9e[_0x145293(0x197)]();}this[_0x145293(_0x143b45._0x481986)][_0x145293(0x11a)](),this[_0x145293(0x1c7)][_0x145293(0x273)]();}[_0x2d7e8f(0x20c)](_0x350b90,_0x366802){return _0x350b90+':'+_0x366802;}};LogCaptureService=_ts_decorate13([_0x519681(),_ts_param7(0x0,_0x37f2d8(VIEWER_CONFIG)),_ts_metadata7(_0x2d7e8f(0x2d1),Function),_ts_metadata7(_0x2d7e8f(0x1bd),[typeof ViewerConfig==='undefined'?Object:ViewerConfig])],LogCaptureService);import{Inject as _0x2d8036,Injectable as _0x19f38e}from'@nestjs/common';import{RUNS_SUBDIR as _0x7d885f,STEPS_FILE as _0x307b85,UNOTEST_DIR as _0x1f1f12,UnsupportedRunKindError as _0x2e65d7,makeRunId}from'@unotest/protocol';import{spawn}from'child_process';import{stat as _0x3589c6}from'fs/promises';import{join as _0xd608f1}from'path';import{Subject as _0x4aa74e}from'rxjs';var IRUNNER_ADAPTER=Symbol['for'](_0x2d7e8f(0x26f));function _ts_decorate14(_0x49819c,_0x473e5e,_0x3890fb,_0xf527a6){const _0x2c29f9={_0xd4ca61:0x111,_0x3717f2:0x267,_0x4327e2:0x167,_0x2c53fc:0x223,_0x7f0fd5:0x2cd},_0x5c0575=_0x2d7e8f;var _0x4464f4=arguments[_0x5c0575(0x223)],_0x3c15fe=_0x4464f4<0x3?_0x473e5e:_0xf527a6===null?_0xf527a6=Object[_0x5c0575(_0x2c29f9._0xd4ca61)](_0x473e5e,_0x3890fb):_0xf527a6,_0x549269;if(typeof Reflect===_0x5c0575(_0x2c29f9._0x3717f2)&&typeof Reflect[_0x5c0575(_0x2c29f9._0x4327e2)]===_0x5c0575(0x22f))_0x3c15fe=Reflect[_0x5c0575(0x167)](_0x49819c,_0x473e5e,_0x3890fb,_0xf527a6);else{for(var _0x5d079d=_0x49819c[_0x5c0575(_0x2c29f9._0x2c53fc)]-0x1;_0x5d079d>=0x0;_0x5d079d--)if(_0x549269=_0x49819c[_0x5d079d])_0x3c15fe=(_0x4464f4<0x3?_0x549269(_0x3c15fe):_0x4464f4>0x3?_0x549269(_0x473e5e,_0x3890fb,_0x3c15fe):_0x549269(_0x473e5e,_0x3890fb))||_0x3c15fe;}return _0x4464f4>0x3&&_0x3c15fe&&Object[_0x5c0575(_0x2c29f9._0x7f0fd5)](_0x473e5e,_0x3890fb,_0x3c15fe),_0x3c15fe;}__name(_ts_decorate14,_0x2d7e8f(0x140));function _ts_metadata8(_0xac1ddf,_0x3b1359){const _0xfd4252={_0x3ec0dc:0x191},_0x28220c=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect[_0x28220c(_0xfd4252._0x3ec0dc)]===_0x28220c(0x22f))return Reflect[_0x28220c(0x191)](_0xac1ddf,_0x3b1359);}__name(_ts_metadata8,_0x2d7e8f(0x26b));function _ts_param8(_0x33ed85,_0x32f2e7){return function(_0x468c37,_0x3ff0b3){_0x32f2e7(_0x468c37,_0x3ff0b3,_0x33ed85);};}__name(_ts_param8,_0x2d7e8f(0x1ed));var SIGKILL_TIMEOUT_MS=0x1388,RunnerService=class{static{__name(this,_0x2d7e8f(0x247));}[_0x2d7e8f(0x2cf)];['adapter'];[_0x2d7e8f(0x229)];[_0x2d7e8f(0x23a)];[_0x2d7e8f(0x19c)];[_0x2d7e8f(0x266)]=null;[_0x2d7e8f(0x2eb)]=new _0x4aa74e();constructor(_0x29cc33,_0x1b85fe,_0x2549c3,_0x468a79){const _0x218e53={_0x2611a3:0x2cf,_0x5c9fbc:0x229,_0x2069da:0x19c,_0x5cd961:0x2eb},_0x3d3d5c=_0x2d7e8f;this[_0x3d3d5c(_0x218e53._0x2611a3)]=_0x29cc33,this[_0x3d3d5c(0x21b)]=_0x1b85fe,this[_0x3d3d5c(_0x218e53._0x5c9fbc)]=_0x2549c3,this[_0x3d3d5c(0x23a)]=_0x468a79,this[_0x3d3d5c(_0x218e53._0x2069da)]=this[_0x3d3d5c(_0x218e53._0x5cd961)]['asObservable']();}[_0x2d7e8f(0x277)](){const _0x39d275={_0x70e86e:0x266},_0x332852=_0x2d7e8f;if(!this[_0x332852(_0x39d275._0x70e86e)])return null;const {runId:_0x1407be,kind:_0x25c857,ref:_0x2f2553,pid:_0xc152f7,startedAt:_0x3b28bc}=this[_0x332852(0x266)];return{'runId':_0x1407be,'kind':_0x25c857,'ref':_0x2f2553,'pid':_0xc152f7,'startedAt':_0x3b28bc};}async['start'](_0x476408){const _0xd07ee0={_0x4209ba:0x266,_0x369593:0x241,_0x105fa5:0x1c3,_0x177214:0x1c9,_0x4ed767:0x21b,_0x212b0d:0x134,_0x5cb4d5:0x2bb,_0x2fccf1:0x169,_0x5bc4d2:0x2bd,_0x50ac7d:0x1f5,_0x3b4547:0x2f4,_0x13dbe9:0x1e5,_0x5944ce:0x2f6,_0x2c757f:0x13b,_0x3a5386:0x18d,_0x2a3996:0x229,_0x10d5b9:0x1c4,_0x7b6141:0x2c3},_0x1ef559={_0x1e1ff8:0x143,_0x48c529:0x1c6},_0x16dcd2=_0x2d7e8f;if(this[_0x16dcd2(_0xd07ee0._0x4209ba)])throw new ActiveRunConflictError({'runId':this[_0x16dcd2(0x266)]['runId'],'kind':this['activeRun']['kind'],'ref':this['activeRun'][_0x16dcd2(_0xd07ee0._0x369593)]});if(!this['adapter'][_0x16dcd2(0x161)][_0x16dcd2(_0xd07ee0._0x105fa5)](_0x476408[_0x16dcd2(_0xd07ee0._0x177214)]))throw new _0x2e65d7(_0x476408['kind'],this[_0x16dcd2(_0xd07ee0._0x4ed767)][_0x16dcd2(_0xd07ee0._0x212b0d)]);const _0x380564=refOf(_0x476408),_0x4a1f1f=makeRunId(_0x380564),_0x1e58e5={...process[_0x16dcd2(0x156)],...this['adapter'][_0x16dcd2(_0xd07ee0._0x5cb4d5)](_0x476408),'UNOTEST_RUN_ID':_0x4a1f1f,'UNOTEST_WORKER_INDEX':'0','UNOTEST_WORKER_COUNT':'1'};if(_0x476408[_0x16dcd2(0x1c9)]===_0x16dcd2(_0xd07ee0._0x2fccf1)){const _0x3b2a0f=await this[_0x16dcd2(_0xd07ee0._0x5bc4d2)]();_0x3b2a0f[_0x16dcd2(0x223)]>0x0&&(_0x1e58e5[_0x16dcd2(_0xd07ee0._0x50ac7d)]=_0x3b2a0f[_0x16dcd2(_0xd07ee0._0x3b4547)](','));}const _0x3e971a=this['adapter'][_0x16dcd2(_0xd07ee0._0x13dbe9)](),_0x2e27e5=this[_0x16dcd2(0x21b)][_0x16dcd2(_0xd07ee0._0x5944ce)](_0x476408),_0x39bf0e=spawn(process[_0x16dcd2(0x270)],[_0x3e971a,..._0x2e27e5],{'cwd':this['config'][_0x16dcd2(0x29f)],'env':_0x1e58e5,'stdio':['ignore',_0x16dcd2(0x13b),_0x16dcd2(_0xd07ee0._0x2c757f)],'detached':![]}),_0x5220a2={'runId':_0x4a1f1f,'kind':_0x476408['kind'],'ref':_0x380564,'pid':_0x39bf0e[_0x16dcd2(_0xd07ee0._0x3a5386)]??-0x1,'startedAt':Date['now'](),'child':_0x39bf0e};this[_0x16dcd2(0x266)]=_0x5220a2;if(_0x39bf0e[_0x16dcd2(0x150)])this[_0x16dcd2(_0xd07ee0._0x2a3996)][_0x16dcd2(0x18e)](_0x4a1f1f,'stdout',_0x39bf0e['stdout']);if(_0x39bf0e[_0x16dcd2(0x1c4)])this['logCapture']['attach'](_0x4a1f1f,'stderr',_0x39bf0e[_0x16dcd2(_0xd07ee0._0x10d5b9)]);return _0x39bf0e[_0x16dcd2(0x2c7)]('exit',(_0x9203f2,_0x1eb958)=>{const _0x4e7f4c=_0x16dcd2;void this[_0x4e7f4c(0x131)](_0x5220a2,_0x9203f2,_0x1eb958),this[_0x4e7f4c(0x1c6)](_0x5220a2);}),_0x39bf0e[_0x16dcd2(0x2c7)](_0x16dcd2(_0xd07ee0._0x7b6141),_0x47a519=>{const _0x143a6e=_0x16dcd2;this[_0x143a6e(0x2eb)]['next']({'runId':_0x5220a2[_0x143a6e(0x216)],'reason':_0x47a519[_0x143a6e(_0x1ef559._0x1e1ff8)]}),this[_0x143a6e(_0x1ef559._0x48c529)](_0x5220a2);}),this['active']();}async[_0x2d7e8f(0x1b6)](_0x20caf9){const _0x40bbf5={_0x79e191:0x266,_0x20fb9c:0x216,_0x2cac9b:0x171},_0x38c84b={_0x352958:0x266,_0x2f1b17:0x158},_0x237473=_0x2d7e8f;if(!this[_0x237473(_0x40bbf5._0x79e191)]||this[_0x237473(0x266)][_0x237473(_0x40bbf5._0x20fb9c)]!==_0x20caf9)throw new NoActiveRunError(_0x20caf9);const _0xa77a19=this[_0x237473(0x266)];!_0xa77a19['child']['killed']&&(_0xa77a19[_0x237473(0x1d2)]['kill']('SIGTERM'),setTimeout(()=>{const _0x49444b=_0x237473;if(this[_0x49444b(_0x38c84b._0x352958)]===_0xa77a19&&!_0xa77a19[_0x49444b(0x1d2)]['killed'])try{_0xa77a19[_0x49444b(0x1d2)][_0x49444b(_0x38c84b._0x2f1b17)](_0x49444b(0x218));}catch{}},SIGKILL_TIMEOUT_MS)[_0x237473(_0x40bbf5._0x2cac9b)]());}[_0x2d7e8f(0x24b)](){const _0x2be183={_0x24e815:0x266,_0x38ff32:0x158,_0x13240b:0x218},_0x224d13=_0x2d7e8f;if(this['activeRun']){try{this[_0x224d13(_0x2be183._0x24e815)]['child'][_0x224d13(_0x2be183._0x38ff32)](_0x224d13(_0x2be183._0x13240b));}catch{}this[_0x224d13(_0x2be183._0x24e815)]=null;}}[_0x2d7e8f(0x1c6)](_0x21f98f){const _0xaa03be={_0x4614bd:0x216,_0x23121c:0x216},_0x4c1534=_0x2d7e8f;this['activeRun']===_0x21f98f&&(this['activeRun']=null),this['logCapture'][_0x4c1534(0x2c9)](_0x21f98f[_0x4c1534(_0xaa03be._0x4614bd)],_0x4c1534(0x150)),this[_0x4c1534(0x229)][_0x4c1534(0x2c9)](_0x21f98f[_0x4c1534(_0xaa03be._0x23121c)],'stderr');}async['busyScenarioRefs'](){const _0x45dfaf={_0xffdb86:0x23a,_0x5bf7c7:0x2d4,_0x4235e6:0x1ba},_0x529f4d=_0x2d7e8f;try{const _0x1e3331=await this[_0x529f4d(_0x45dfaf._0xffdb86)][_0x529f4d(_0x45dfaf._0x5bf7c7)]();return _0x1e3331[_0x529f4d(0x281)](_0x483c7a=>_0x483c7a[_0x529f4d(0x1c9)]==='scenario'&&_0x483c7a[_0x529f4d(0x1db)]===_0x529f4d(0x2f2))[_0x529f4d(_0x45dfaf._0x4235e6)](_0x59c777=>_0x59c777[_0x529f4d(0x241)]);}catch{return[];}}async[_0x2d7e8f(0x131)](_0xb3cdfa,_0x66dd18,_0x2e0b59){const _0x267fac={_0x53bca9:0x11c,_0x461662:0x120},_0x3f4ec0=_0x2d7e8f,_0x38ab19=_0xd608f1(this[_0x3f4ec0(0x2cf)]['projectRoot'],_0x1f1f12,_0x7d885f,_0xb3cdfa['runId'],_0x307b85);let _0x5db0e7=![];try{const _0x185813=await _0x3589c6(_0x38ab19);_0x5db0e7=_0x185813['size']>0x0;}catch{_0x5db0e7=![];}if(_0x5db0e7)return;const _0x26179f=_0x2e0b59?'runner\x20terminated\x20by\x20signal\x20'+_0x2e0b59+_0x3f4ec0(0x2ea):_0x3f4ec0(_0x267fac._0x53bca9)+(_0x66dd18??_0x3f4ec0(_0x267fac._0x461662))+_0x3f4ec0(0x2ea);this['failureSubject'][_0x3f4ec0(0x27e)]({'runId':_0xb3cdfa[_0x3f4ec0(0x216)],'reason':_0x26179f});}};RunnerService=_ts_decorate14([_0x19f38e(),_ts_param8(0x0,_0x2d8036(VIEWER_CONFIG)),_ts_param8(0x1,_0x2d8036(IRUNNER_ADAPTER)),_ts_param8(0x2,_0x2d8036(ILOG_CAPTURE)),_ts_param8(0x3,_0x2d8036(IRUNS_REPOSITORY)),_ts_metadata8(_0x2d7e8f(0x2d1),Function),_ts_metadata8(_0x2d7e8f(0x1bd),[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig,typeof IRunnerAdapter==='undefined'?Object:IRunnerAdapter,typeof ILogCapture===_0x2d7e8f(0x2e3)?Object:ILogCapture,typeof IRunsRepository===_0x2d7e8f(0x2e3)?Object:IRunsRepository])],RunnerService);function refOf(_0x22cda8){const _0x2410f2={_0x295c37:0x1c9,_0x1baeef:0x11b,_0x3078bf:0x169},_0x5bdddd=_0x2d7e8f;switch(_0x22cda8[_0x5bdddd(_0x2410f2._0x295c37)]){case _0x5bdddd(_0x2410f2._0x1baeef):return _0x22cda8[_0x5bdddd(0x11b)];case _0x5bdddd(_0x2410f2._0x3078bf):return _0x22cda8[_0x5bdddd(0x169)];}}__name(refOf,'refOf');function _ts_decorate15(_0x160249,_0x5b8699,_0x3b9945,_0x1cae87){const _0x36d43e={_0x62c692:0x111,_0x57aabd:0x223},_0x45a505=_0x2d7e8f;var _0x529584=arguments['length'],_0x521e49=_0x529584<0x3?_0x5b8699:_0x1cae87===null?_0x1cae87=Object[_0x45a505(_0x36d43e._0x62c692)](_0x5b8699,_0x3b9945):_0x1cae87,_0x1ce49d;if(typeof Reflect==='object'&&typeof Reflect[_0x45a505(0x167)]===_0x45a505(0x22f))_0x521e49=Reflect['decorate'](_0x160249,_0x5b8699,_0x3b9945,_0x1cae87);else{for(var _0x406da2=_0x160249[_0x45a505(_0x36d43e._0x57aabd)]-0x1;_0x406da2>=0x0;_0x406da2--)if(_0x1ce49d=_0x160249[_0x406da2])_0x521e49=(_0x529584<0x3?_0x1ce49d(_0x521e49):_0x529584>0x3?_0x1ce49d(_0x5b8699,_0x3b9945,_0x521e49):_0x1ce49d(_0x5b8699,_0x3b9945))||_0x521e49;}return _0x529584>0x3&&_0x521e49&&Object[_0x45a505(0x2cd)](_0x5b8699,_0x3b9945,_0x521e49),_0x521e49;}__name(_ts_decorate15,_0x2d7e8f(0x140));var RunnerModule=class{static{__name(this,_0x2d7e8f(0x22a));}};RunnerModule=_ts_decorate15([_0x41a320({'imports':[RunsModule],'providers':[{'provide':ILOG_CAPTURE,'useClass':LogCaptureService},{'provide':IRUNNER,'useClass':RunnerService}],'exports':[IRUNNER,ILOG_CAPTURE]})],RunnerModule);import{Controller,Inject as _0x168dbf,Param,Post}from'@nestjs/common';function _ts_decorate16(_0x2db896,_0x16146b,_0x200884,_0x39687f){const _0x11ef05={_0x1cd143:0x223},_0x322bae=_0x2d7e8f;var _0x1ee5da=arguments[_0x322bae(_0x11ef05._0x1cd143)],_0x44dde4=_0x1ee5da<0x3?_0x16146b:_0x39687f===null?_0x39687f=Object[_0x322bae(0x111)](_0x16146b,_0x200884):_0x39687f,_0x5379ff;if(typeof Reflect==='object'&&typeof Reflect['decorate']===_0x322bae(0x22f))_0x44dde4=Reflect[_0x322bae(0x167)](_0x2db896,_0x16146b,_0x200884,_0x39687f);else{for(var _0x22e464=_0x2db896['length']-0x1;_0x22e464>=0x0;_0x22e464--)if(_0x5379ff=_0x2db896[_0x22e464])_0x44dde4=(_0x1ee5da<0x3?_0x5379ff(_0x44dde4):_0x1ee5da>0x3?_0x5379ff(_0x16146b,_0x200884,_0x44dde4):_0x5379ff(_0x16146b,_0x200884))||_0x44dde4;}return _0x1ee5da>0x3&&_0x44dde4&&Object[_0x322bae(0x2cd)](_0x16146b,_0x200884,_0x44dde4),_0x44dde4;}__name(_ts_decorate16,_0x2d7e8f(0x140));function _ts_metadata9(_0x538047,_0x2ab7bd){const _0x299a32={_0x31af58:0x267},_0xf20087=_0x2d7e8f;if(typeof Reflect===_0xf20087(_0x299a32._0x31af58)&&typeof Reflect[_0xf20087(0x191)]==='function')return Reflect[_0xf20087(0x191)](_0x538047,_0x2ab7bd);}__name(_ts_metadata9,_0x2d7e8f(0x26b));function _ts_param9(_0x5b9ffe,_0x3a7db7){return function(_0x476ed6,_0x53d8ef){_0x3a7db7(_0x476ed6,_0x53d8ef,_0x5b9ffe);};}__name(_ts_param9,_0x2d7e8f(0x1ed));var AbortController=class{static{__name(this,_0x2d7e8f(0x127));}[_0x2d7e8f(0x25a)];constructor(_0x13bc19){this['runner']=_0x13bc19;}async[_0x2d7e8f(0x1b6)](_0x48567d){const _0x4e62b3={_0x342c9c:0x1b6},_0x52939d=_0x2d7e8f;return await this[_0x52939d(0x25a)][_0x52939d(_0x4e62b3._0x342c9c)](_0x48567d),{'ok':!![]};}};_ts_decorate16([Post(_0x2d7e8f(0x1ee)),_ts_param9(0x0,Param(_0x2d7e8f(0x216))),_ts_metadata9(_0x2d7e8f(0x2d1),Function),_ts_metadata9(_0x2d7e8f(0x1bd),[String]),_ts_metadata9('design:returntype',Promise)],AbortController[_0x2d7e8f(0x193)],_0x2d7e8f(0x1b6),null),AbortController=_ts_decorate16([Controller('api/runs'),_ts_param9(0x0,_0x168dbf(IRUNNER)),_ts_metadata9(_0x2d7e8f(0x2d1),Function),_ts_metadata9(_0x2d7e8f(0x1bd),[typeof IRunner===_0x2d7e8f(0x2e3)?Object:IRunner])],AbortController);import{Controller as _0x2ae4ec,Get,Inject as _0xc689de,Param as _0x7b3db,Query,Res}from'@nestjs/common';import{createReadStream}from'fs';import{extname}from'path';function _ts_decorate17(_0xaa84cc,_0x550577,_0x5b4f9a,_0x117b6f){const _0x47b72d={_0x1b9957:0x2cd},_0x4fe276=_0x2d7e8f;var _0x1d0f89=arguments[_0x4fe276(0x223)],_0x510e8d=_0x1d0f89<0x3?_0x550577:_0x117b6f===null?_0x117b6f=Object['getOwnPropertyDescriptor'](_0x550577,_0x5b4f9a):_0x117b6f,_0x57614c;if(typeof Reflect===_0x4fe276(0x267)&&typeof Reflect['decorate']==='function')_0x510e8d=Reflect[_0x4fe276(0x167)](_0xaa84cc,_0x550577,_0x5b4f9a,_0x117b6f);else{for(var _0x257e84=_0xaa84cc['length']-0x1;_0x257e84>=0x0;_0x257e84--)if(_0x57614c=_0xaa84cc[_0x257e84])_0x510e8d=(_0x1d0f89<0x3?_0x57614c(_0x510e8d):_0x1d0f89>0x3?_0x57614c(_0x550577,_0x5b4f9a,_0x510e8d):_0x57614c(_0x550577,_0x5b4f9a))||_0x510e8d;}return _0x1d0f89>0x3&&_0x510e8d&&Object[_0x4fe276(_0x47b72d._0x1b9957)](_0x550577,_0x5b4f9a,_0x510e8d),_0x510e8d;}__name(_ts_decorate17,_0x2d7e8f(0x140));function _ts_metadata10(_0x519475,_0x4272b0){const _0x54ec49={_0x5946ed:0x267,_0x5c6313:0x191},_0x51da08=_0x2d7e8f;if(typeof Reflect===_0x51da08(_0x54ec49._0x5946ed)&&typeof Reflect[_0x51da08(_0x54ec49._0x5c6313)]==='function')return Reflect['metadata'](_0x519475,_0x4272b0);}__name(_ts_metadata10,_0x2d7e8f(0x26b));function _ts_param10(_0x52d19d,_0x33cc8b){return function(_0xe05dd1,_0x26c7a4){_0x33cc8b(_0xe05dd1,_0x26c7a4,_0x52d19d);};}__name(_ts_param10,_0x2d7e8f(0x1ed));var MIME={'.png':'image/png','.jpg':'image/jpeg','.jpeg':_0x2d7e8f(0x1b5),'.json':_0x2d7e8f(0x2cb),'.har':_0x2d7e8f(0x2cb),'.txt':_0x2d7e8f(0x18c),'.log':_0x2d7e8f(0x18c),'.zip':_0x2d7e8f(0x18f)},AssetController=class{static{__name(this,'AssetController');}['fs'];[_0x2d7e8f(0x199)];constructor(_0x16db98,_0x8dcd54){const _0x177b33={_0x239117:0x199},_0x577849=_0x2d7e8f;this['fs']=_0x16db98,this[_0x577849(_0x177b33._0x239117)]=_0x8dcd54;}async[_0x2d7e8f(0x151)](_0x1348af,_0x3d1554,_0xb73dbd){const _0x5e2d69={_0x2c502b:0x2e4,_0x4b426f:0x180,_0x350eaa:0x18b,_0x240c97:0x1f8,_0x4f7e58:0x2e4,_0x3fa7fc:0x27b,_0x56b9ac:0x1de,_0x5c19dd:0x1b4,_0x4c4111:0x211,_0x53bc3d:0x2e4},_0x2ca2fe=_0x2d7e8f;if(!_0x3d1554){_0xb73dbd[_0x2ca2fe(0x1db)](0x190)[_0x2ca2fe(0x2e4)]({'message':_0x2ca2fe(0x1d0)});return;}if(!isAllowedAssetPath(_0x3d1554,_0x1348af)){_0xb73dbd[_0x2ca2fe(0x1db)](0x193)[_0x2ca2fe(_0x5e2d69._0x2c502b)]({'message':'asset\x20path\x20outside\x20allowed\x20roots'});return;}if(!await this['fs'][_0x2ca2fe(_0x5e2d69._0x4b426f)](_0x3d1554)){_0xb73dbd[_0x2ca2fe(0x1db)](0x194)[_0x2ca2fe(0x2e4)]({'message':_0x2ca2fe(_0x5e2d69._0x350eaa)+_0x3d1554});return;}if(!await this[_0x2ca2fe(0x199)][_0x2ca2fe(_0x5e2d69._0x240c97)](_0x1348af)){_0xb73dbd['status'](0x194)[_0x2ca2fe(_0x5e2d69._0x4f7e58)]({'message':_0x2ca2fe(_0x5e2d69._0x3fa7fc)+_0x1348af});return;}const _0x1afd70=this['fs']['resolve'](_0x3d1554),_0x2231ca=MIME[extname(_0x3d1554)[_0x2ca2fe(_0x5e2d69._0x56b9ac)]()]??_0x2ca2fe(_0x5e2d69._0x5c19dd);return _0xb73dbd[_0x2ca2fe(0x1dc)](_0x2ca2fe(_0x5e2d69._0x4c4111),_0x2231ca),_0xb73dbd[_0x2ca2fe(_0x5e2d69._0x53bc3d)](createReadStream(_0x1afd70));}};_ts_decorate17([Get(),_ts_param10(0x0,_0x7b3db(_0x2d7e8f(0x216))),_ts_param10(0x1,Query('path')),_ts_param10(0x2,Res()),_ts_metadata10(_0x2d7e8f(0x2d1),Function),_ts_metadata10('design:paramtypes',[String,String,typeof ReplyLike===_0x2d7e8f(0x2e3)?Object:ReplyLike]),_ts_metadata10(_0x2d7e8f(0x133),Promise)],AssetController[_0x2d7e8f(0x193)],_0x2d7e8f(0x151),null),AssetController=_ts_decorate17([_0x2ae4ec(_0x2d7e8f(0x1ca)),_ts_param10(0x0,_0xc689de(IPROJECT_FS)),_ts_param10(0x1,_0xc689de(IRUNS_REPOSITORY)),_ts_metadata10(_0x2d7e8f(0x2d1),Function),_ts_metadata10('design:paramtypes',[typeof IProjectFs==='undefined'?Object:IProjectFs,typeof IRunsRepository===_0x2d7e8f(0x2e3)?Object:IRunsRepository])],AssetController);function isAllowedAssetPath(_0xd1f2a4,_0x4bd694){const _0x4ad841=_0x2d7e8f;if(_0xd1f2a4['includes']('..'))return![];if(_0xd1f2a4[_0x4ad841(0x1b3)](_0x4ad841(0x147)))return!![];if(_0xd1f2a4[_0x4ad841(0x1b3)]('unotest/.runs/'+_0x4bd694+'/'))return!![];return![];}__name(isAllowedAssetPath,'isAllowedAssetPath');import{Body,Controller as _0x1b0daa,Get as _0x2b0c65,HttpException,HttpStatus as _0x4b9893,Inject as _0xcac963,Put}from'@nestjs/common';import{DEBUGGER_FILE}from'@unotest/protocol';import{ZodValidationPipe}from'nestjs-zod';import{readFile as _0x2e2333,rename as _0x517759,writeFile as _0x12d5e5}from'fs/promises';import{join as _0x5a828e}from'path';import{z}from'zod';function _ts_decorate18(_0x5189ba,_0x22c803,_0x52638e,_0x13dc01){const _0x5b1b9b={_0x1a0435:0x111,_0x82df21:0x22f,_0x2095ed:0x223,_0x2d0c13:0x2cd},_0x1155c2=_0x2d7e8f;var _0x37c772=arguments[_0x1155c2(0x223)],_0x392ac5=_0x37c772<0x3?_0x22c803:_0x13dc01===null?_0x13dc01=Object[_0x1155c2(_0x5b1b9b._0x1a0435)](_0x22c803,_0x52638e):_0x13dc01,_0x31ef21;if(typeof Reflect==='object'&&typeof Reflect['decorate']===_0x1155c2(_0x5b1b9b._0x82df21))_0x392ac5=Reflect[_0x1155c2(0x167)](_0x5189ba,_0x22c803,_0x52638e,_0x13dc01);else{for(var _0x3a48a6=_0x5189ba[_0x1155c2(_0x5b1b9b._0x2095ed)]-0x1;_0x3a48a6>=0x0;_0x3a48a6--)if(_0x31ef21=_0x5189ba[_0x3a48a6])_0x392ac5=(_0x37c772<0x3?_0x31ef21(_0x392ac5):_0x37c772>0x3?_0x31ef21(_0x22c803,_0x52638e,_0x392ac5):_0x31ef21(_0x22c803,_0x52638e))||_0x392ac5;}return _0x37c772>0x3&&_0x392ac5&&Object[_0x1155c2(_0x5b1b9b._0x2d0c13)](_0x22c803,_0x52638e,_0x392ac5),_0x392ac5;}__name(_ts_decorate18,_0x2d7e8f(0x140));function _ts_metadata11(_0x318491,_0x11ab73){const _0x48a238={_0x11d128:0x267,_0x32c266:0x191,_0x5e358f:0x191},_0x5850a6=_0x2d7e8f;if(typeof Reflect===_0x5850a6(_0x48a238._0x11d128)&&typeof Reflect[_0x5850a6(_0x48a238._0x32c266)]===_0x5850a6(0x22f))return Reflect[_0x5850a6(_0x48a238._0x5e358f)](_0x318491,_0x11ab73);}__name(_ts_metadata11,_0x2d7e8f(0x26b));function _ts_param11(_0x2f2fdd,_0x1c1af0){return function(_0x460e23,_0x287ecd){_0x1c1af0(_0x460e23,_0x287ecd,_0x2f2fdd);};}__name(_ts_param11,_0x2d7e8f(0x1ed));var BreakpointEntrySchema=z['object']({'line':z['number']()[_0x2d7e8f(0x1d4)]()[_0x2d7e8f(0x14e)](),'col':z[_0x2d7e8f(0x1ec)]()[_0x2d7e8f(0x1d4)]()[_0x2d7e8f(0x14e)]()}),BreakpointsFileSchema=z[_0x2d7e8f(0x267)]({'version':z['literal'](0x1),'scenarios':z[_0x2d7e8f(0x17e)](z[_0x2d7e8f(0x23e)](),z[_0x2d7e8f(0x1f6)](BreakpointEntrySchema))}),EMPTY_FILE={'version':0x1,'scenarios':{}},BreakpointsController=class{static{__name(this,_0x2d7e8f(0x2e1));}['config'];constructor(_0x528b2d){const _0x40c313=_0x2d7e8f;this[_0x40c313(0x2cf)]=_0x528b2d;}[_0x2d7e8f(0x1ab)](){const _0x1621d=_0x2d7e8f;return _0x5a828e(this[_0x1621d(0x2cf)][_0x1621d(0x29f)],DEBUGGER_FILE);}async[_0x2d7e8f(0x151)](){const _0x48ef7a={_0x347b94:0x2c1,_0x225af2:0x1ea,_0x5ff4db:0x238,_0x36b8b6:0x215,_0x2f456a:0x255},_0x3f9704=_0x2d7e8f,_0x2f7765=this[_0x3f9704(0x1ab)]();try{const _0x10f888=await _0x2e2333(_0x2f7765,_0x3f9704(0x178)),_0x35e0a7=JSON[_0x3f9704(0x219)](_0x10f888),_0xf3a5e1=BreakpointsFileSchema[_0x3f9704(0x221)](_0x35e0a7);if(!_0xf3a5e1[_0x3f9704(_0x48ef7a._0x347b94)])return EMPTY_FILE;return _0xf3a5e1[_0x3f9704(_0x48ef7a._0x225af2)];}catch(_0x23f4e1){if(_0x23f4e1[_0x3f9704(0x256)]===_0x3f9704(_0x48ef7a._0x5ff4db))return EMPTY_FILE;throw new HttpException(_0x3f9704(_0x48ef7a._0x36b8b6)+_0x23f4e1[_0x3f9704(0x143)],_0x4b9893[_0x3f9704(_0x48ef7a._0x2f456a)]);}}async['write'](_0x186e3c){const _0x1fb32a={_0x69557e:0x1f7},_0xe43188=_0x2d7e8f,_0x5c26a1=this[_0xe43188(0x1ab)](),_0xfa08b6=_0x5c26a1+'.tmp';try{await _0x12d5e5(_0xfa08b6,JSON[_0xe43188(_0x1fb32a._0x69557e)](_0x186e3c,null,0x2),_0xe43188(0x178)),await _0x517759(_0xfa08b6,_0x5c26a1);}catch(_0x1915ce){throw new HttpException('failed\x20to\x20write\x20.debugger.json:\x20'+_0x1915ce['message'],_0x4b9893['INTERNAL_SERVER_ERROR']);}return{'ok':!![]};}};_ts_decorate18([_0x2b0c65(),_ts_metadata11(_0x2d7e8f(0x2d1),Function),_ts_metadata11(_0x2d7e8f(0x1bd),[]),_ts_metadata11('design:returntype',Promise)],BreakpointsController[_0x2d7e8f(0x193)],'read',null),_ts_decorate18([Put(),_ts_param11(0x0,Body(new ZodValidationPipe(BreakpointsFileSchema))),_ts_metadata11(_0x2d7e8f(0x2d1),Function),_ts_metadata11('design:paramtypes',[typeof BreakpointsFile===_0x2d7e8f(0x2e3)?Object:BreakpointsFile]),_ts_metadata11(_0x2d7e8f(0x133),Promise)],BreakpointsController[_0x2d7e8f(0x193)],_0x2d7e8f(0x19e),null),BreakpointsController=_ts_decorate18([_0x1b0daa(_0x2d7e8f(0x18a)),_ts_param11(0x0,_0xcac963(VIEWER_CONFIG)),_ts_metadata11(_0x2d7e8f(0x2d1),Function),_ts_metadata11('design:paramtypes',[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig])],BreakpointsController);import{Body as _0x3963fa,Controller as _0x3faeaa,Get as _0x52931c,HttpException as _0x521803,HttpStatus as _0x20926d,Inject as _0x266b5a,Put as _0x31e1f2}from'@nestjs/common';import{ENV_FILE}from'@unotest/protocol';import{ZodValidationPipe as _0x1a1e2e}from'nestjs-zod';import{readFile as _0x1420bd,rename as _0x5f2c92,writeFile as _0x16ab0c}from'fs/promises';import{join as _0x34b7e3}from'path';import{z as _0x29f0f9}from'zod';var SECRET_KEY=/TOKEN|SECRET|PASSWORD|KEY|DATABASE_URL|DSN|CONN|CREDENTIAL/i;function isSecretKey(_0x4e4195){const _0x4228a5={_0x48d2be:0x200},_0x31d002=_0x2d7e8f;return SECRET_KEY[_0x31d002(_0x4228a5._0x48d2be)](_0x4e4195);}__name(isSecretKey,_0x2d7e8f(0x2bf));function isBoolValue(_0x556e0e){return _0x556e0e==='0'||_0x556e0e==='1';}__name(isBoolValue,'isBoolValue');var KV_LINE=/^(\s*(?:export\s+)?)([A-Za-z_][A-Za-z0-9_]*)\s*=(.*)$/,COMMENTED_KV=/^\s*#+\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=(.*)$/;function unquote(_0x99346b){const _0x247c1d={_0x346f63:0x1dd,_0x34f31a:0x2ce},_0x2f1230=_0x2d7e8f,_0x1ec56e=_0x99346b['trim']();if(_0x1ec56e['length']>=0x2&&_0x1ec56e[0x0]==='\x22'&&_0x1ec56e[_0x1ec56e[_0x2f1230(0x223)]-0x1]==='\x22')return _0x1ec56e[_0x2f1230(0x2ce)](0x1,-0x1)[_0x2f1230(_0x247c1d._0x346f63)](/\\n/g,'\x0a')['replace'](/\\r/g,'\x0d')['replace'](/\\"/g,'\x22')[_0x2f1230(0x1dd)](/\\\\/g,'\x5c');if(_0x1ec56e['length']>=0x2&&_0x1ec56e[0x0]==='\x27'&&_0x1ec56e[_0x1ec56e['length']-0x1]==='\x27')return _0x1ec56e[_0x2f1230(_0x247c1d._0x34f31a)](0x1,-0x1);return _0x1ec56e;}__name(unquote,_0x2d7e8f(0x224));function serializeValue(_0x51e837){const _0x1672e4={_0x404569:0x200,_0x2a8c4f:0x1dd},_0x251568=_0x2d7e8f;if(_0x51e837==='')return'';if(/[\s#"'=\\]|^[`]/[_0x251568(_0x1672e4._0x404569)](_0x51e837)||/[\n\r]/[_0x251568(0x200)](_0x51e837)){const _0x40e9af=_0x51e837[_0x251568(0x1dd)](/\\/g,'\x5c\x5c')[_0x251568(0x1dd)](/"/g,'\x5c\x22')[_0x251568(_0x1672e4._0x2a8c4f)](/\n/g,'\x5cn')['replace'](/\r/g,'\x5cr');return'\x22'+_0x40e9af+'\x22';}return _0x51e837;}__name(serializeValue,'serializeValue');function splitLines(_0x3898b1){const _0x497d10={_0x37ad91:0x2ef,_0x3e4a2b:0x223},_0x56165b=_0x2d7e8f,_0x47f23a=_0x3898b1[_0x56165b(_0x497d10._0x37ad91)]('\x0a');if(_0x47f23a['length']>0x0&&_0x47f23a[_0x47f23a[_0x56165b(_0x497d10._0x3e4a2b)]-0x1]==='')_0x47f23a[_0x56165b(0x1fd)]();return _0x47f23a;}__name(splitLines,_0x2d7e8f(0x13c));function readEnvVars(_0x3fd8c8){const _0x1ec13d={_0x292efb:0x2ef,_0x575ebc:0x1c2,_0x1cb664:0x13f,_0x155b59:0x13f},_0x1a111e={_0x50dcd3:0x1c2},_0x2dd978=_0x2d7e8f,_0x5dddc9=_0x3fd8c8[_0x2dd978(_0x1ec13d._0x292efb)]('\x0a'),_0x53cce7=new Set(),_0x379434=[],_0x1509fc=__name((_0x30dea0,_0x29f691,_0x5c52db)=>{const _0x2a6dc2=_0x2dd978;if(_0x53cce7['has'](_0x30dea0))return;_0x53cce7[_0x2a6dc2(0x13d)](_0x30dea0);const _0x30752c=unquote(_0x29f691);_0x379434[_0x2a6dc2(_0x1a111e._0x50dcd3)]({'key':_0x30dea0,'value':_0x30752c,'secret':isSecretKey(_0x30dea0),'bool':isBoolValue(_0x30752c),'commented':_0x5c52db});},_0x2dd978(_0x1ec13d._0x575ebc));for(const _0x3bcf41 of _0x5dddc9){const _0x20aa85=KV_LINE[_0x2dd978(_0x1ec13d._0x1cb664)](_0x3bcf41);if(_0x20aa85){_0x1509fc(_0x20aa85[0x2],_0x20aa85[0x3],![]);continue;}const _0x4e5965=COMMENTED_KV[_0x2dd978(_0x1ec13d._0x155b59)](_0x3bcf41);if(_0x4e5965)_0x1509fc(_0x4e5965[0x1],_0x4e5965[0x2],!![]);}return _0x379434;}__name(readEnvVars,_0x2d7e8f(0x2e8));function writeEnvValues(_0x300c5c,_0x4f59eb){const _0x211622={_0x3c196d:0x13f},_0x371d33={_0x447eef:0x13f,_0x451946:0x282,_0x349899:0x200},_0x370435=_0x2d7e8f,_0x4bbd5c=splitLines(_0x300c5c),_0x225f65=new Set();for(const _0x4a63d2 of _0x4bbd5c){const _0x117b5c=KV_LINE[_0x370435(_0x211622._0x3c196d)](_0x4a63d2);if(_0x117b5c)_0x225f65[_0x370435(0x13d)](_0x117b5c[0x2]);}const _0x19cdc5=new Set(),_0x29e8e7=new Set(),_0x616e9=_0x4bbd5c[_0x370435(0x1ba)](_0x3e1fd3=>{const _0x38808f=_0x370435,_0x1083eb=KV_LINE[_0x38808f(0x13f)](_0x3e1fd3);if(_0x1083eb){const _0x36cff2=_0x1083eb[0x2];if(!(_0x36cff2 in _0x4f59eb)||_0x19cdc5[_0x38808f(0x282)](_0x36cff2))return _0x3e1fd3;_0x19cdc5[_0x38808f(0x13d)](_0x36cff2);const _0x31e0a7=_0x4f59eb[_0x36cff2];if(_0x31e0a7===unquote(_0x1083eb[0x3]))return _0x3e1fd3;return''+_0x1083eb[0x1]+_0x36cff2+'='+serializeValue(_0x31e0a7);}const _0xcb603d=COMMENTED_KV[_0x38808f(_0x371d33._0x447eef)](_0x3e1fd3);if(_0xcb603d){const _0x589738=_0xcb603d[0x1];if(!(_0x589738 in _0x4f59eb)||_0x225f65['has'](_0x589738)||_0x29e8e7[_0x38808f(_0x371d33._0x451946)](_0x589738))return _0x3e1fd3;_0x29e8e7[_0x38808f(0x13d)](_0x589738);const _0x154bdd=/^\s*#+\s*export\s+/[_0x38808f(_0x371d33._0x349899)](_0x3e1fd3)?'export\x20':'';return''+_0x154bdd+_0x589738+'='+serializeValue(_0x4f59eb[_0x589738]);}return _0x3e1fd3;}),_0x2a133d=_0x616e9['join']('\x0a');return _0x300c5c[_0x370435(0x2b3)]('\x0a')||_0x300c5c===''?_0x2a133d+'\x0a':_0x2a133d;}__name(writeEnvValues,_0x2d7e8f(0x234));function _ts_decorate19(_0x186a66,_0x2bc0a9,_0x58fd82,_0x4e21bc){const _0x457e1c={_0x5a41d3:0x267,_0x47edb5:0x167,_0x23e8a8:0x223},_0x2feaaf=_0x2d7e8f;var _0x4cfee9=arguments['length'],_0x4f31f6=_0x4cfee9<0x3?_0x2bc0a9:_0x4e21bc===null?_0x4e21bc=Object[_0x2feaaf(0x111)](_0x2bc0a9,_0x58fd82):_0x4e21bc,_0x547db1;if(typeof Reflect===_0x2feaaf(_0x457e1c._0x5a41d3)&&typeof Reflect[_0x2feaaf(_0x457e1c._0x47edb5)]==='function')_0x4f31f6=Reflect[_0x2feaaf(0x167)](_0x186a66,_0x2bc0a9,_0x58fd82,_0x4e21bc);else{for(var _0x5587a6=_0x186a66[_0x2feaaf(_0x457e1c._0x23e8a8)]-0x1;_0x5587a6>=0x0;_0x5587a6--)if(_0x547db1=_0x186a66[_0x5587a6])_0x4f31f6=(_0x4cfee9<0x3?_0x547db1(_0x4f31f6):_0x4cfee9>0x3?_0x547db1(_0x2bc0a9,_0x58fd82,_0x4f31f6):_0x547db1(_0x2bc0a9,_0x58fd82))||_0x4f31f6;}return _0x4cfee9>0x3&&_0x4f31f6&&Object['defineProperty'](_0x2bc0a9,_0x58fd82,_0x4f31f6),_0x4f31f6;}__name(_ts_decorate19,_0x2d7e8f(0x140));function _ts_metadata12(_0x512ff4,_0x2a6440){const _0x45dba8={_0xb6819c:0x191},_0x5f264c=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect['metadata']==='function')return Reflect[_0x5f264c(_0x45dba8._0xb6819c)](_0x512ff4,_0x2a6440);}__name(_ts_metadata12,_0x2d7e8f(0x26b));function _ts_param12(_0x7a1c96,_0x4880dc){return function(_0x3138f4,_0x480ddf){_0x4880dc(_0x3138f4,_0x480ddf,_0x7a1c96);};}__name(_ts_param12,_0x2d7e8f(0x1ed));var EnvUpdateSchema=_0x29f0f9[_0x2d7e8f(0x267)]({'version':_0x29f0f9[_0x2d7e8f(0x118)](0x1),'values':_0x29f0f9[_0x2d7e8f(0x17e)](_0x29f0f9['string'](),_0x29f0f9[_0x2d7e8f(0x23e)]())}),EMPTY={'version':0x1,'vars':[]},EnvController=class{static{__name(this,_0x2d7e8f(0x119));}[_0x2d7e8f(0x2cf)];constructor(_0x367b6d){this['config']=_0x367b6d;}['path'](){const _0x346cea=_0x2d7e8f;return _0x34b7e3(this['config'][_0x346cea(0x29f)],ENV_FILE);}async[_0x2d7e8f(0x151)](){const _0x1e2b0b={_0x4afd24:0x238},_0x531af=_0x2d7e8f;try{const _0x416c11=await _0x1420bd(this['path'](),_0x531af(0x178));return{'version':0x1,'vars':readEnvVars(_0x416c11)};}catch(_0x4048aa){if(_0x4048aa['code']===_0x531af(_0x1e2b0b._0x4afd24))return EMPTY;throw new _0x521803('failed\x20to\x20read\x20.env:\x20'+_0x4048aa['message'],_0x20926d[_0x531af(0x255)]);}}async[_0x2d7e8f(0x19e)](_0x13dc73){const _0x1fcdae={_0x2b8208:0x178,_0x3b968e:0x143,_0x3452d2:0x178},_0x1b3c9c=_0x2d7e8f,_0x189f36=this[_0x1b3c9c(0x1ab)]();let _0x51ccb6;try{_0x51ccb6=await _0x1420bd(_0x189f36,_0x1b3c9c(_0x1fcdae._0x2b8208));}catch(_0x10223b){if(_0x10223b['code']===_0x1b3c9c(0x238))throw new _0x521803(_0x1b3c9c(0x1c8),_0x20926d[_0x1b3c9c(0x236)]);throw new _0x521803('failed\x20to\x20read\x20.env:\x20'+_0x10223b[_0x1b3c9c(_0x1fcdae._0x3b968e)],_0x20926d[_0x1b3c9c(0x255)]);}const _0x6a3376=writeEnvValues(_0x51ccb6,_0x13dc73['values']),_0x4fe29d=_0x189f36+'.tmp';try{await _0x16ab0c(_0x4fe29d,_0x6a3376,_0x1b3c9c(_0x1fcdae._0x3452d2)),await _0x5f2c92(_0x4fe29d,_0x189f36);}catch(_0x349c29){throw new _0x521803(_0x1b3c9c(0x1a0)+_0x349c29['message'],_0x20926d[_0x1b3c9c(0x255)]);}return{'ok':!![]};}};_ts_decorate19([_0x52931c(),_ts_metadata12('design:type',Function),_ts_metadata12(_0x2d7e8f(0x1bd),[]),_ts_metadata12(_0x2d7e8f(0x133),Promise)],EnvController[_0x2d7e8f(0x193)],'read',null),_ts_decorate19([_0x31e1f2(),_ts_param12(0x0,_0x3963fa(new _0x1a1e2e(EnvUpdateSchema))),_ts_metadata12(_0x2d7e8f(0x2d1),Function),_ts_metadata12(_0x2d7e8f(0x1bd),[typeof EnvUpdate===_0x2d7e8f(0x2e3)?Object:EnvUpdate]),_ts_metadata12(_0x2d7e8f(0x133),Promise)],EnvController[_0x2d7e8f(0x193)],'write',null),EnvController=_ts_decorate19([_0x3faeaa(_0x2d7e8f(0x1a5)),_ts_param12(0x0,_0x266b5a(VIEWER_CONFIG)),_ts_metadata12(_0x2d7e8f(0x2d1),Function),_ts_metadata12('design:paramtypes',[typeof ViewerConfig==='undefined'?Object:ViewerConfig])],EnvController);import{Body as _0x4c12e3,Controller as _0x5b3b07,Get as _0xec1f52,HttpException as _0x3fb37a,HttpStatus as _0x168481,Inject as _0x1c883a,NotFoundException,Param as _0x599f55,Post as _0x4d6344}from'@nestjs/common';import{COMMANDS_FILE,RUNS_SUBDIR as _0x131b67,RUNTIME_FILE,UNOTEST_DIR as _0x458ff6}from'@unotest/protocol';import{ZodValidationPipe as _0x114de3}from'nestjs-zod';import{appendFile,readFile as _0x191a93}from'fs/promises';import{join as _0x24608c}from'path';import{z as _0x7d031d}from'zod';var DbgCommandSchema=_0x7d031d[_0x2d7e8f(0x252)]('cmd',[_0x7d031d[_0x2d7e8f(0x267)]({'id':_0x7d031d[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x153)](),'cmd':_0x7d031d[_0x2d7e8f(0x118)]('step')}),_0x7d031d[_0x2d7e8f(0x267)]({'id':_0x7d031d[_0x2d7e8f(0x23e)]()['optional'](),'cmd':_0x7d031d[_0x2d7e8f(0x118)](_0x2d7e8f(0x26a))}),_0x7d031d[_0x2d7e8f(0x267)]({'id':_0x7d031d['string']()[_0x2d7e8f(0x153)](),'cmd':_0x7d031d['literal']('pause')}),_0x7d031d['object']({'id':_0x7d031d['string']()[_0x2d7e8f(0x153)](),'cmd':_0x7d031d[_0x2d7e8f(0x118)](_0x2d7e8f(0x1e4)),'line':_0x7d031d[_0x2d7e8f(0x1ec)]()[_0x2d7e8f(0x1d4)]()[_0x2d7e8f(0x14e)](),'col':_0x7d031d['number']()[_0x2d7e8f(0x1d4)]()['nonnegative']()}),_0x7d031d[_0x2d7e8f(0x267)]({'id':_0x7d031d[_0x2d7e8f(0x23e)]()['optional'](),'cmd':_0x7d031d['literal']('clear-bp'),'line':_0x7d031d['number']()['int']()[_0x2d7e8f(0x14e)](),'col':_0x7d031d[_0x2d7e8f(0x1ec)]()['int']()[_0x2d7e8f(0x14e)]()}),_0x7d031d['object']({'id':_0x7d031d[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x153)](),'cmd':_0x7d031d[_0x2d7e8f(0x118)](_0x2d7e8f(0x1b6))})]);function _ts_decorate20(_0x30bcce,_0x41da37,_0x50ba78,_0x27829f){const _0x6ecab8={_0x1285ab:0x267,_0x1c3199:0x167,_0x33dcdb:0x2cd},_0x53f28b=_0x2d7e8f;var _0xeb019d=arguments[_0x53f28b(0x223)],_0xd791ce=_0xeb019d<0x3?_0x41da37:_0x27829f===null?_0x27829f=Object[_0x53f28b(0x111)](_0x41da37,_0x50ba78):_0x27829f,_0x2be4b2;if(typeof Reflect===_0x53f28b(_0x6ecab8._0x1285ab)&&typeof Reflect[_0x53f28b(0x167)]===_0x53f28b(0x22f))_0xd791ce=Reflect[_0x53f28b(_0x6ecab8._0x1c3199)](_0x30bcce,_0x41da37,_0x50ba78,_0x27829f);else{for(var _0x58ca87=_0x30bcce['length']-0x1;_0x58ca87>=0x0;_0x58ca87--)if(_0x2be4b2=_0x30bcce[_0x58ca87])_0xd791ce=(_0xeb019d<0x3?_0x2be4b2(_0xd791ce):_0xeb019d>0x3?_0x2be4b2(_0x41da37,_0x50ba78,_0xd791ce):_0x2be4b2(_0x41da37,_0x50ba78))||_0xd791ce;}return _0xeb019d>0x3&&_0xd791ce&&Object[_0x53f28b(_0x6ecab8._0x33dcdb)](_0x41da37,_0x50ba78,_0xd791ce),_0xd791ce;}__name(_ts_decorate20,_0x2d7e8f(0x140));function _ts_metadata13(_0x22e06c,_0x192598){const _0x21bc2b={_0xb940c9:0x267,_0x4995ec:0x191,_0x4b6570:0x22f},_0x4cdeb6=_0x2d7e8f;if(typeof Reflect===_0x4cdeb6(_0x21bc2b._0xb940c9)&&typeof Reflect[_0x4cdeb6(_0x21bc2b._0x4995ec)]===_0x4cdeb6(_0x21bc2b._0x4b6570))return Reflect[_0x4cdeb6(0x191)](_0x22e06c,_0x192598);}function _0x285c(_0x4e3abc,_0x11edb3){_0x4e3abc=_0x4e3abc-0x110;const _0x4d5a43=_0x4d5a();let _0x285c8e=_0x4d5a43[_0x4e3abc];if(_0x285c['tJJavl']===undefined){var _0x3bcd23=function(_0x52e654){const _0x558376='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34b8e5='',_0x3ee47='';for(let _0x4625dd=0x0,_0x388aaa,_0x4f4757,_0x31ba1b=0x0;_0x4f4757=_0x52e654['charAt'](_0x31ba1b++);~_0x4f4757&&(_0x388aaa=_0x4625dd%0x4?_0x388aaa*0x40+_0x4f4757:_0x4f4757,_0x4625dd++%0x4)?_0x34b8e5+=String['fromCharCode'](0xff&_0x388aaa>>(-0x2*_0x4625dd&0x6)):0x0){_0x4f4757=_0x558376['indexOf'](_0x4f4757);}for(let _0x5c2f42=0x0,_0x4c7de6=_0x34b8e5['length'];_0x5c2f42<_0x4c7de6;_0x5c2f42++){_0x3ee47+='%'+('00'+_0x34b8e5['charCodeAt'](_0x5c2f42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ee47);};_0x285c['krcKYK']=_0x3bcd23,_0x285c['RFejbf']={},_0x285c['tJJavl']=!![];}const _0x37dce0=_0x4d5a43[0x0],_0x3fa7ba=_0x4e3abc+_0x37dce0,_0x34e67f=_0x285c['RFejbf'][_0x3fa7ba];return!_0x34e67f?(_0x285c8e=_0x285c['krcKYK'](_0x285c8e),_0x285c['RFejbf'][_0x3fa7ba]=_0x285c8e):_0x285c8e=_0x34e67f,_0x285c8e;}__name(_ts_metadata13,_0x2d7e8f(0x26b));function _ts_param13(_0x3850b6,_0x4608f1){return function(_0x5e6893,_0x5f418c){_0x4608f1(_0x5e6893,_0x5f418c,_0x3850b6);};}__name(_ts_param13,_0x2d7e8f(0x1ed));function nextCommandId(){const _0x21db30={_0x4a30ac:0x2ce},_0x1e0e31=_0x2d7e8f;return Date[_0x1e0e31(0x22e)]()[_0x1e0e31(0x16c)](0x24)+'-'+Math['random']()['toString'](0x24)[_0x1e0e31(_0x21db30._0x4a30ac)](0x2,0x8);}__name(nextCommandId,_0x2d7e8f(0x121));var DbgController=class{static{__name(this,_0x2d7e8f(0x2c6));}[_0x2d7e8f(0x2cf)];constructor(_0x30711a){const _0x4c1fca={_0x561f7d:0x2cf},_0x506438=_0x2d7e8f;this[_0x506438(_0x4c1fca._0x561f7d)]=_0x30711a;}async['command'](_0x275439,_0x131666){const _0x359704={_0x191bd9:0x2cf,_0x144f0f:0x1d5,_0x50c6ac:0x29c,_0xbb0116:0x143},_0x1b76c6=_0x2d7e8f,_0x50ee79=_0x131666['id']??nextCommandId(),_0x38983b=JSON['stringify']({..._0x131666,'id':_0x50ee79})+'\x0a',_0x41c64e=_0x24608c(this[_0x1b76c6(_0x359704._0x191bd9)][_0x1b76c6(0x29f)],_0x458ff6,_0x131b67,_0x275439,COMMANDS_FILE);try{await appendFile(_0x41c64e,_0x38983b,_0x1b76c6(0x178));}catch(_0x254403){if(_0x254403[_0x1b76c6(0x256)]===_0x1b76c6(0x238))throw new NotFoundException(_0x1b76c6(_0x359704._0x144f0f)+_0x275439+_0x1b76c6(_0x359704._0x50c6ac));throw new _0x3fb37a(_0x1b76c6(0x1cb)+_0x254403[_0x1b76c6(_0x359704._0xbb0116)],_0x168481[_0x1b76c6(0x255)]);}return{'ok':!![],'id':_0x50ee79};}async[_0x2d7e8f(0x17f)](_0x36c17e){const _0x1665aa={_0x1df053:0x2cf,_0x3f648a:0x219,_0x1ce7b6:0x238,_0x1a37e7:0x143,_0x5dff83:0x255},_0x403583=_0x2d7e8f,_0x6dc39d=_0x24608c(this[_0x403583(_0x1665aa._0x1df053)][_0x403583(0x29f)],_0x458ff6,_0x131b67,_0x36c17e,RUNTIME_FILE);try{const _0x1195ee=await _0x191a93(_0x6dc39d,'utf8');return JSON[_0x403583(_0x1665aa._0x3f648a)](_0x1195ee);}catch(_0x3cf554){if(_0x3cf554[_0x403583(0x256)]===_0x403583(_0x1665aa._0x1ce7b6))throw new NotFoundException(_0x403583(0x27d)+_0x36c17e);throw new _0x3fb37a('failed\x20to\x20read\x20runtime.json:\x20'+_0x3cf554[_0x403583(_0x1665aa._0x1a37e7)],_0x168481[_0x403583(_0x1665aa._0x5dff83)]);}}};_ts_decorate20([_0x4d6344('dbg/command'),_ts_param13(0x0,_0x599f55('runId')),_ts_param13(0x1,_0x4c12e3(new _0x114de3(DbgCommandSchema))),_ts_metadata13(_0x2d7e8f(0x2d1),Function),_ts_metadata13('design:paramtypes',[String,typeof DbgCommandDto==='undefined'?Object:DbgCommandDto]),_ts_metadata13(_0x2d7e8f(0x133),Promise)],DbgController[_0x2d7e8f(0x193)],'command',null),_ts_decorate20([_0xec1f52('runtime'),_ts_param13(0x0,_0x599f55(_0x2d7e8f(0x216))),_ts_metadata13(_0x2d7e8f(0x2d1),Function),_ts_metadata13(_0x2d7e8f(0x1bd),[String]),_ts_metadata13(_0x2d7e8f(0x133),Promise)],DbgController[_0x2d7e8f(0x193)],_0x2d7e8f(0x17f),null),DbgController=_ts_decorate20([_0x5b3b07(_0x2d7e8f(0x14c)),_ts_param13(0x0,_0x1c883a(VIEWER_CONFIG)),_ts_metadata13(_0x2d7e8f(0x2d1),Function),_ts_metadata13(_0x2d7e8f(0x1bd),[typeof ViewerConfig==='undefined'?Object:ViewerConfig])],DbgController);import{Controller as _0x3daece,Get as _0x386df4}from'@nestjs/common';function _ts_decorate21(_0x456005,_0x346a08,_0x5d0bfc,_0xd2c2ca){const _0xcca7f8={_0x1c2846:0x223,_0x4fb63f:0x167,_0x3ba997:0x223,_0x5167e0:0x2cd},_0x1ca326=_0x2d7e8f;var _0x2c877b=arguments[_0x1ca326(_0xcca7f8._0x1c2846)],_0x519ae7=_0x2c877b<0x3?_0x346a08:_0xd2c2ca===null?_0xd2c2ca=Object['getOwnPropertyDescriptor'](_0x346a08,_0x5d0bfc):_0xd2c2ca,_0x5b7917;if(typeof Reflect===_0x1ca326(0x267)&&typeof Reflect[_0x1ca326(_0xcca7f8._0x4fb63f)]===_0x1ca326(0x22f))_0x519ae7=Reflect[_0x1ca326(0x167)](_0x456005,_0x346a08,_0x5d0bfc,_0xd2c2ca);else{for(var _0x272efb=_0x456005[_0x1ca326(_0xcca7f8._0x3ba997)]-0x1;_0x272efb>=0x0;_0x272efb--)if(_0x5b7917=_0x456005[_0x272efb])_0x519ae7=(_0x2c877b<0x3?_0x5b7917(_0x519ae7):_0x2c877b>0x3?_0x5b7917(_0x346a08,_0x5d0bfc,_0x519ae7):_0x5b7917(_0x346a08,_0x5d0bfc))||_0x519ae7;}return _0x2c877b>0x3&&_0x519ae7&&Object[_0x1ca326(_0xcca7f8._0x5167e0)](_0x346a08,_0x5d0bfc,_0x519ae7),_0x519ae7;}__name(_ts_decorate21,_0x2d7e8f(0x140));function _ts_metadata14(_0x12ba10,_0x281d79){const _0x1910d8=_0x2d7e8f;if(typeof Reflect===_0x1910d8(0x267)&&typeof Reflect['metadata']==='function')return Reflect['metadata'](_0x12ba10,_0x281d79);}__name(_ts_metadata14,_0x2d7e8f(0x26b));var HealthController=class _HealthController{static{__name(this,_0x2d7e8f(0x262));}[_0x2d7e8f(0x1fa)](){const _0xe03ff2=_0x2d7e8f;return{'ok':!![],'pid':process[_0xe03ff2(0x18d)],'startedAt':_HealthController['bootTs']};}static [_0x2d7e8f(0x24a)]=Date['now']();};_ts_decorate21([_0x386df4(),_ts_metadata14(_0x2d7e8f(0x2d1),Function),_ts_metadata14(_0x2d7e8f(0x1bd),[]),_ts_metadata14(_0x2d7e8f(0x133),Object)],HealthController[_0x2d7e8f(0x193)],_0x2d7e8f(0x1fa),null),HealthController=_ts_decorate21([_0x3daece(_0x2d7e8f(0x235))],HealthController);import{Body as _0xf3d332,Controller as _0x3d9e7f,Delete,Get as _0x2d7b17,HttpCode,Inject as _0x39e6f7,Param as _0x745aac,Patch,Post as _0xd9da89}from'@nestjs/common';import{ZodValidationPipe as _0xf992d6}from'nestjs-zod';import{createZodDto}from'nestjs-zod';import{z as _0x5a7f81}from'zod';var CreateCollectionSchema=_0x5a7f81[_0x2d7e8f(0x267)]({'name':_0x5a7f81[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x24c)](0x1),'description':_0x5a7f81[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x28d)]()[_0x2d7e8f(0x153)]()}),CreateCollectionDto=class extends createZodDto(CreateCollectionSchema){static{__name(this,_0x2d7e8f(0x26e));}},PatchCollectionSchema=_0x5a7f81['object']({'description':_0x5a7f81['string']()['nullable']()[_0x2d7e8f(0x153)](),'scenarios':_0x5a7f81['array'](_0x5a7f81[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x24c)](0x1))['optional']()})[_0x2d7e8f(0x14d)](),PatchCollectionDto=class extends createZodDto(PatchCollectionSchema){static{__name(this,_0x2d7e8f(0x2d2));}},RenameCollectionSchema=_0x5a7f81[_0x2d7e8f(0x267)]({'newName':_0x5a7f81[_0x2d7e8f(0x23e)]()[_0x2d7e8f(0x24c)](0x1)}),RenameCollectionDto=class extends createZodDto(RenameCollectionSchema){static{__name(this,'RenameCollectionDto');}};function _ts_decorate22(_0x5ea02d,_0x4b6265,_0xc27c42,_0x34b48a){const _0x2a0a9b={_0xdd22c7:0x223,_0x5c9580:0x267,_0x3fee11:0x167},_0x151d16=_0x2d7e8f;var _0x21c18e=arguments[_0x151d16(_0x2a0a9b._0xdd22c7)],_0x13f2e7=_0x21c18e<0x3?_0x4b6265:_0x34b48a===null?_0x34b48a=Object[_0x151d16(0x111)](_0x4b6265,_0xc27c42):_0x34b48a,_0x383ec4;if(typeof Reflect===_0x151d16(_0x2a0a9b._0x5c9580)&&typeof Reflect[_0x151d16(_0x2a0a9b._0x3fee11)]==='function')_0x13f2e7=Reflect[_0x151d16(0x167)](_0x5ea02d,_0x4b6265,_0xc27c42,_0x34b48a);else{for(var _0x1d902c=_0x5ea02d['length']-0x1;_0x1d902c>=0x0;_0x1d902c--)if(_0x383ec4=_0x5ea02d[_0x1d902c])_0x13f2e7=(_0x21c18e<0x3?_0x383ec4(_0x13f2e7):_0x21c18e>0x3?_0x383ec4(_0x4b6265,_0xc27c42,_0x13f2e7):_0x383ec4(_0x4b6265,_0xc27c42))||_0x13f2e7;}return _0x21c18e>0x3&&_0x13f2e7&&Object[_0x151d16(0x2cd)](_0x4b6265,_0xc27c42,_0x13f2e7),_0x13f2e7;}__name(_ts_decorate22,'_ts_decorate');function _ts_metadata15(_0x46446d,_0x6f56ed){const _0x259981={_0x3de904:0x191,_0x156140:0x191},_0x38ca7e=_0x2d7e8f;if(typeof Reflect===_0x38ca7e(0x267)&&typeof Reflect[_0x38ca7e(_0x259981._0x3de904)]===_0x38ca7e(0x22f))return Reflect[_0x38ca7e(_0x259981._0x156140)](_0x46446d,_0x6f56ed);}__name(_ts_metadata15,_0x2d7e8f(0x26b));function _ts_param14(_0x66ba16,_0x46a2b9){return function(_0xe661e,_0x2306ac){_0x46a2b9(_0xe661e,_0x2306ac,_0x66ba16);};}__name(_ts_param14,'_ts_param');var CollectionsController=class{static{__name(this,_0x2d7e8f(0x2ba));}['discovery'];[_0x2d7e8f(0x28a)];constructor(_0x2e9654,_0x251f75){this['discovery']=_0x2e9654,this['writer']=_0x251f75;}[_0x2d7e8f(0x185)](){const _0x2ed022={_0x48d795:0x1eb},_0x1ad751=_0x2d7e8f;return this['discovery'][_0x1ad751(_0x2ed022._0x48d795)]();}['create'](_0x26a2e8){const _0x1fe484={_0x1fe2bb:0x28a},_0xf4b5d2=_0x2d7e8f;return this[_0xf4b5d2(_0x1fe484._0x1fe2bb)][_0xf4b5d2(0x2d5)](_0x26a2e8);}[_0x2d7e8f(0x19f)](_0x51a2e8,_0xf27fb7){const _0x418084={_0x825026:0x28a},_0x1573b6=_0x2d7e8f;return this[_0x1573b6(_0x418084._0x825026)]['patch'](_0x51a2e8,_0xf27fb7);}['rename'](_0x1f566f,_0x2ebddf){const _0x590a27=_0x2d7e8f;return this[_0x590a27(0x28a)]['rename'](_0x1f566f,_0x2ebddf[_0x590a27(0x138)]);}async['delete'](_0x1c9812){const _0x274ff2=_0x2d7e8f;await this[_0x274ff2(0x28a)][_0x274ff2(0x204)](_0x1c9812);}};_ts_decorate22([_0x2d7b17(),_ts_metadata15(_0x2d7e8f(0x2d1),Function),_ts_metadata15(_0x2d7e8f(0x1bd),[]),_ts_metadata15('design:returntype',typeof Promise==='undefined'?Object:Promise)],CollectionsController[_0x2d7e8f(0x193)],_0x2d7e8f(0x185),null),_ts_decorate22([_0xd9da89(),_ts_param14(0x0,_0xf3d332(new _0xf992d6(CreateCollectionSchema))),_ts_metadata15(_0x2d7e8f(0x2d1),Function),_ts_metadata15(_0x2d7e8f(0x1bd),[typeof CreateCollectionDto===_0x2d7e8f(0x2e3)?Object:CreateCollectionDto]),_ts_metadata15(_0x2d7e8f(0x133),typeof Promise===_0x2d7e8f(0x2e3)?Object:Promise)],CollectionsController[_0x2d7e8f(0x193)],_0x2d7e8f(0x2d5),null),_ts_decorate22([Patch(_0x2d7e8f(0x228)),_ts_param14(0x0,_0x745aac(_0x2d7e8f(0x134))),_ts_param14(0x1,_0xf3d332(new _0xf992d6(PatchCollectionSchema))),_ts_metadata15(_0x2d7e8f(0x2d1),Function),_ts_metadata15(_0x2d7e8f(0x1bd),[String,typeof PatchCollectionDto==='undefined'?Object:PatchCollectionDto]),_ts_metadata15(_0x2d7e8f(0x133),typeof Promise===_0x2d7e8f(0x2e3)?Object:Promise)],CollectionsController[_0x2d7e8f(0x193)],'patch',null),_ts_decorate22([_0xd9da89(_0x2d7e8f(0x2b2)),_ts_param14(0x0,_0x745aac(_0x2d7e8f(0x134))),_ts_param14(0x1,_0xf3d332(new _0xf992d6(RenameCollectionSchema))),_ts_metadata15('design:type',Function),_ts_metadata15(_0x2d7e8f(0x1bd),[String,typeof RenameCollectionDto===_0x2d7e8f(0x2e3)?Object:RenameCollectionDto]),_ts_metadata15(_0x2d7e8f(0x133),typeof Promise==='undefined'?Object:Promise)],CollectionsController[_0x2d7e8f(0x193)],_0x2d7e8f(0x269),null),_ts_decorate22([Delete(_0x2d7e8f(0x228)),HttpCode(0xcc),_ts_param14(0x0,_0x745aac('name')),_ts_metadata15('design:type',Function),_ts_metadata15(_0x2d7e8f(0x1bd),[String]),_ts_metadata15(_0x2d7e8f(0x133),Promise)],CollectionsController['prototype'],_0x2d7e8f(0x204),null),CollectionsController=_ts_decorate22([_0x3d9e7f('api/collections'),_ts_param14(0x0,_0x39e6f7(ICOLLECTIONS_DISCOVERY)),_ts_param14(0x1,_0x39e6f7(ICOLLECTIONS_WRITER)),_ts_metadata15(_0x2d7e8f(0x2d1),Function),_ts_metadata15(_0x2d7e8f(0x1bd),[typeof ICollectionsDiscovery===_0x2d7e8f(0x2e3)?Object:ICollectionsDiscovery,typeof ICollectionsWriter===_0x2d7e8f(0x2e3)?Object:ICollectionsWriter])],CollectionsController);import{Controller as _0x37a70f,Get as _0x19451d,Inject as _0x1da021}from'@nestjs/common';function _ts_decorate23(_0xaf5ee,_0x92ff5e,_0x3a68da,_0x19e8e1){const _0x54cc99={_0x19c819:0x223},_0x11f77f=_0x2d7e8f;var _0x212541=arguments[_0x11f77f(0x223)],_0x2fa0ea=_0x212541<0x3?_0x92ff5e:_0x19e8e1===null?_0x19e8e1=Object[_0x11f77f(0x111)](_0x92ff5e,_0x3a68da):_0x19e8e1,_0x137de8;if(typeof Reflect===_0x11f77f(0x267)&&typeof Reflect[_0x11f77f(0x167)]==='function')_0x2fa0ea=Reflect['decorate'](_0xaf5ee,_0x92ff5e,_0x3a68da,_0x19e8e1);else{for(var _0x41602e=_0xaf5ee[_0x11f77f(_0x54cc99._0x19c819)]-0x1;_0x41602e>=0x0;_0x41602e--)if(_0x137de8=_0xaf5ee[_0x41602e])_0x2fa0ea=(_0x212541<0x3?_0x137de8(_0x2fa0ea):_0x212541>0x3?_0x137de8(_0x92ff5e,_0x3a68da,_0x2fa0ea):_0x137de8(_0x92ff5e,_0x3a68da))||_0x2fa0ea;}return _0x212541>0x3&&_0x2fa0ea&&Object[_0x11f77f(0x2cd)](_0x92ff5e,_0x3a68da,_0x2fa0ea),_0x2fa0ea;}__name(_ts_decorate23,_0x2d7e8f(0x140));function _ts_metadata16(_0x2d272f,_0x24e4dc){const _0x2e8346={_0x5cca89:0x22f,_0x4041ff:0x191},_0x239dc6=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect[_0x239dc6(0x191)]===_0x239dc6(_0x2e8346._0x5cca89))return Reflect[_0x239dc6(_0x2e8346._0x4041ff)](_0x2d272f,_0x24e4dc);}__name(_ts_metadata16,_0x2d7e8f(0x26b));function _ts_param15(_0x53cea0,_0x3595f7){return function(_0x19b37c,_0x75995a){_0x3595f7(_0x19b37c,_0x75995a,_0x53cea0);};}__name(_ts_param15,_0x2d7e8f(0x1ed));var HelpersController=class{static{__name(this,_0x2d7e8f(0x2b9));}[_0x2d7e8f(0x179)];constructor(_0x348b35){const _0x2bcc0c=_0x2d7e8f;this[_0x2bcc0c(0x179)]=_0x348b35;}[_0x2d7e8f(0x185)](){const _0x26d0de=_0x2d7e8f;return this[_0x26d0de(0x179)][_0x26d0de(0x1eb)]();}};_ts_decorate23([_0x19451d(),_ts_metadata16(_0x2d7e8f(0x2d1),Function),_ts_metadata16(_0x2d7e8f(0x1bd),[]),_ts_metadata16(_0x2d7e8f(0x133),typeof Promise===_0x2d7e8f(0x2e3)?Object:Promise)],HelpersController[_0x2d7e8f(0x193)],'list',null),HelpersController=_ts_decorate23([_0x37a70f(_0x2d7e8f(0x1b0)),_ts_param15(0x0,_0x1da021(IHELPERS_DISCOVERY)),_ts_metadata16(_0x2d7e8f(0x2d1),Function),_ts_metadata16(_0x2d7e8f(0x1bd),[typeof IHelpersDiscovery===_0x2d7e8f(0x2e3)?Object:IHelpersDiscovery])],HelpersController);import{Body as _0x3f0ba2,Controller as _0x24bd3b,Inject as _0x5cd512,Post as _0x4baf84}from'@nestjs/common';import{ZodValidationPipe as _0x3578b5}from'nestjs-zod';import{z as _0x55d668}from'zod';var StartRunSchema=_0x55d668[_0x2d7e8f(0x252)](_0x2d7e8f(0x1c9),[_0x55d668['object']({'kind':_0x55d668[_0x2d7e8f(0x118)](_0x2d7e8f(0x11b)),'scenario':_0x55d668[_0x2d7e8f(0x23e)]()['min'](0x1),'headed':_0x55d668[_0x2d7e8f(0x1a1)]()[_0x2d7e8f(0x153)](),'debug':_0x55d668[_0x2d7e8f(0x1a1)]()[_0x2d7e8f(0x153)](),'breakpoints':_0x55d668['array'](_0x55d668['string']()[_0x2d7e8f(0x159)](/^\d+:\d+$/))[_0x2d7e8f(0x153)]()}),_0x55d668[_0x2d7e8f(0x267)]({'kind':_0x55d668['literal'](_0x2d7e8f(0x169)),'collection':_0x55d668[_0x2d7e8f(0x23e)]()['min'](0x1),'headed':_0x55d668['boolean']()[_0x2d7e8f(0x153)](),'workers':_0x55d668[_0x2d7e8f(0x1ec)]()[_0x2d7e8f(0x1d4)]()[_0x2d7e8f(0x214)]()[_0x2d7e8f(0x153)](),'bail':_0x55d668[_0x2d7e8f(0x1a1)]()[_0x2d7e8f(0x153)]()})]);function _ts_decorate24(_0x59d03c,_0x2dd005,_0x3819a0,_0x4aba7a){const _0xe2dab1={_0x30273c:0x223,_0x46c728:0x111,_0x4cfe60:0x167},_0x26017c=_0x2d7e8f;var _0xbd090=arguments[_0x26017c(_0xe2dab1._0x30273c)],_0x50d6ef=_0xbd090<0x3?_0x2dd005:_0x4aba7a===null?_0x4aba7a=Object[_0x26017c(_0xe2dab1._0x46c728)](_0x2dd005,_0x3819a0):_0x4aba7a,_0x4fff15;if(typeof Reflect===_0x26017c(0x267)&&typeof Reflect[_0x26017c(_0xe2dab1._0x4cfe60)]===_0x26017c(0x22f))_0x50d6ef=Reflect[_0x26017c(_0xe2dab1._0x4cfe60)](_0x59d03c,_0x2dd005,_0x3819a0,_0x4aba7a);else{for(var _0x20fac7=_0x59d03c[_0x26017c(_0xe2dab1._0x30273c)]-0x1;_0x20fac7>=0x0;_0x20fac7--)if(_0x4fff15=_0x59d03c[_0x20fac7])_0x50d6ef=(_0xbd090<0x3?_0x4fff15(_0x50d6ef):_0xbd090>0x3?_0x4fff15(_0x2dd005,_0x3819a0,_0x50d6ef):_0x4fff15(_0x2dd005,_0x3819a0))||_0x50d6ef;}return _0xbd090>0x3&&_0x50d6ef&&Object['defineProperty'](_0x2dd005,_0x3819a0,_0x50d6ef),_0x50d6ef;}__name(_ts_decorate24,'_ts_decorate');function _ts_metadata17(_0x552045,_0x34d797){const _0xa8b004={_0x195124:0x267,_0x30e148:0x191},_0x1b267a=_0x2d7e8f;if(typeof Reflect===_0x1b267a(_0xa8b004._0x195124)&&typeof Reflect['metadata']===_0x1b267a(0x22f))return Reflect[_0x1b267a(_0xa8b004._0x30e148)](_0x552045,_0x34d797);}__name(_ts_metadata17,_0x2d7e8f(0x26b));function _ts_param16(_0x53d476,_0x54bbcb){return function(_0x19c4f5,_0x377112){_0x54bbcb(_0x19c4f5,_0x377112,_0x53d476);};}__name(_ts_param16,_0x2d7e8f(0x1ed));var RunController=class{static{__name(this,_0x2d7e8f(0x1d1));}[_0x2d7e8f(0x25a)];constructor(_0x33fb16){const _0x4df3c8=_0x2d7e8f;this[_0x4df3c8(0x25a)]=_0x33fb16;}['start'](_0xd2b097){return this['runner']['start'](_0xd2b097);}};_ts_decorate24([_0x4baf84(),_ts_param16(0x0,_0x3f0ba2(new _0x3578b5(StartRunSchema))),_ts_metadata17(_0x2d7e8f(0x2d1),Function),_ts_metadata17('design:paramtypes',[Object]),_ts_metadata17('design:returntype',typeof Promise==='undefined'?Object:Promise)],RunController['prototype'],_0x2d7e8f(0x295),null),RunController=_ts_decorate24([_0x24bd3b(_0x2d7e8f(0x272)),_ts_param16(0x0,_0x5cd512(IRUNNER)),_ts_metadata17('design:type',Function),_ts_metadata17('design:paramtypes',[typeof IRunner===_0x2d7e8f(0x2e3)?Object:IRunner])],RunController);import{Controller as _0x22bfef,Get as _0x22bff8,Inject as _0x9867cd,NotFoundException as _0x36f9b7,Param as _0x2de5e3}from'@nestjs/common';function _ts_decorate25(_0x56685f,_0xdb540f,_0x1402f3,_0x1525bc){const _0x33f3be={_0x2caf09:0x111,_0x50d24d:0x267,_0x5e194d:0x167,_0x4bb45a:0x22f},_0x4e77ab=_0x2d7e8f;var _0x35fe08=arguments[_0x4e77ab(0x223)],_0x13a02c=_0x35fe08<0x3?_0xdb540f:_0x1525bc===null?_0x1525bc=Object[_0x4e77ab(_0x33f3be._0x2caf09)](_0xdb540f,_0x1402f3):_0x1525bc,_0x5050c5;if(typeof Reflect===_0x4e77ab(_0x33f3be._0x50d24d)&&typeof Reflect[_0x4e77ab(_0x33f3be._0x5e194d)]===_0x4e77ab(_0x33f3be._0x4bb45a))_0x13a02c=Reflect[_0x4e77ab(0x167)](_0x56685f,_0xdb540f,_0x1402f3,_0x1525bc);else{for(var _0x322436=_0x56685f['length']-0x1;_0x322436>=0x0;_0x322436--)if(_0x5050c5=_0x56685f[_0x322436])_0x13a02c=(_0x35fe08<0x3?_0x5050c5(_0x13a02c):_0x35fe08>0x3?_0x5050c5(_0xdb540f,_0x1402f3,_0x13a02c):_0x5050c5(_0xdb540f,_0x1402f3))||_0x13a02c;}return _0x35fe08>0x3&&_0x13a02c&&Object[_0x4e77ab(0x2cd)](_0xdb540f,_0x1402f3,_0x13a02c),_0x13a02c;}__name(_ts_decorate25,_0x2d7e8f(0x140));function _ts_metadata18(_0x578339,_0xff9404){const _0xba7815={_0x4637ab:0x191},_0x5dc0b1=_0x2d7e8f;if(typeof Reflect===_0x5dc0b1(0x267)&&typeof Reflect['metadata']===_0x5dc0b1(0x22f))return Reflect[_0x5dc0b1(_0xba7815._0x4637ab)](_0x578339,_0xff9404);}__name(_ts_metadata18,_0x2d7e8f(0x26b));function _ts_param17(_0x1ae187,_0x5ca217){return function(_0x424fdf,_0x5ed7e2){_0x5ca217(_0x424fdf,_0x5ed7e2,_0x1ae187);};}__name(_ts_param17,_0x2d7e8f(0x1ed));var RunsController=class{static{__name(this,_0x2d7e8f(0x2c2));}[_0x2d7e8f(0x199)];constructor(_0x498628){this['repo']=_0x498628;}[_0x2d7e8f(0x185)](){const _0x1aff55={_0xf9543e:0x199},_0x256182=_0x2d7e8f;return this[_0x256182(_0x1aff55._0xf9543e)][_0x256182(0x2d4)]();}async[_0x2d7e8f(0x2c4)](_0x2ad79a){const _0xa436e0={_0x1ea004:0x142},_0x36db3c=_0x2d7e8f,_0x552fd7=await this['repo'][_0x36db3c(0x1f8)](_0x2ad79a);if(!_0x552fd7)throw new _0x36f9b7(_0x36db3c(_0xa436e0._0x1ea004)+_0x2ad79a+_0x36db3c(0x11e));return _0x552fd7;}['children'](_0x490977){const _0x2f8440={_0x2b2861:0x199},_0x3ea979=_0x2d7e8f;return this[_0x3ea979(_0x2f8440._0x2b2861)]['childrenOf'](_0x490977);}};_ts_decorate25([_0x22bff8(),_ts_metadata18('design:type',Function),_ts_metadata18(_0x2d7e8f(0x1bd),[]),_ts_metadata18(_0x2d7e8f(0x133),typeof Promise===_0x2d7e8f(0x2e3)?Object:Promise)],RunsController['prototype'],_0x2d7e8f(0x185),null),_ts_decorate25([_0x22bff8(_0x2d7e8f(0x244)),_ts_param17(0x0,_0x2de5e3(_0x2d7e8f(0x216))),_ts_metadata18(_0x2d7e8f(0x2d1),Function),_ts_metadata18('design:paramtypes',[String]),_ts_metadata18(_0x2d7e8f(0x133),Promise)],RunsController['prototype'],'detail',null),_ts_decorate25([_0x22bff8(_0x2d7e8f(0x14f)),_ts_param17(0x0,_0x2de5e3(_0x2d7e8f(0x216))),_ts_metadata18(_0x2d7e8f(0x2d1),Function),_ts_metadata18(_0x2d7e8f(0x1bd),[String]),_ts_metadata18(_0x2d7e8f(0x133),typeof Promise==='undefined'?Object:Promise)],RunsController[_0x2d7e8f(0x193)],_0x2d7e8f(0x17b),null),RunsController=_ts_decorate25([_0x22bfef('api/runs'),_ts_param17(0x0,_0x9867cd(IRUNS_REPOSITORY)),_ts_metadata18(_0x2d7e8f(0x2d1),Function),_ts_metadata18(_0x2d7e8f(0x1bd),[typeof IRunsRepository===_0x2d7e8f(0x2e3)?Object:IRunsRepository])],RunsController);import{Controller as _0x30dea6,Get as _0x4c017b,Inject as _0x48a587}from'@nestjs/common';function _ts_decorate26(_0xec1861,_0x53df53,_0x4fd427,_0x17d254){const _0x2d7af7={_0x3b4169:0x223,_0x2b2cee:0x267,_0xd537e7:0x167,_0x4a8d13:0x2cd},_0x326802=_0x2d7e8f;var _0x887a7d=arguments[_0x326802(_0x2d7af7._0x3b4169)],_0x5c523c=_0x887a7d<0x3?_0x53df53:_0x17d254===null?_0x17d254=Object[_0x326802(0x111)](_0x53df53,_0x4fd427):_0x17d254,_0x22dca4;if(typeof Reflect===_0x326802(_0x2d7af7._0x2b2cee)&&typeof Reflect[_0x326802(_0x2d7af7._0xd537e7)]===_0x326802(0x22f))_0x5c523c=Reflect[_0x326802(0x167)](_0xec1861,_0x53df53,_0x4fd427,_0x17d254);else{for(var _0x1e6f79=_0xec1861[_0x326802(0x223)]-0x1;_0x1e6f79>=0x0;_0x1e6f79--)if(_0x22dca4=_0xec1861[_0x1e6f79])_0x5c523c=(_0x887a7d<0x3?_0x22dca4(_0x5c523c):_0x887a7d>0x3?_0x22dca4(_0x53df53,_0x4fd427,_0x5c523c):_0x22dca4(_0x53df53,_0x4fd427))||_0x5c523c;}return _0x887a7d>0x3&&_0x5c523c&&Object[_0x326802(_0x2d7af7._0x4a8d13)](_0x53df53,_0x4fd427,_0x5c523c),_0x5c523c;}__name(_ts_decorate26,'_ts_decorate');function _ts_metadata19(_0x248a53,_0x5abc6a){const _0x2be673={_0x22c723:0x191},_0x90dbcc=_0x2d7e8f;if(typeof Reflect===_0x90dbcc(0x267)&&typeof Reflect[_0x90dbcc(_0x2be673._0x22c723)]==='function')return Reflect[_0x90dbcc(0x191)](_0x248a53,_0x5abc6a);}__name(_ts_metadata19,'_ts_metadata');function _ts_param18(_0x39ab9c,_0x417623){return function(_0x2843f6,_0xe6fc5f){_0x417623(_0x2843f6,_0xe6fc5f,_0x39ab9c);};}__name(_ts_param18,_0x2d7e8f(0x1ed));var ScenariosController=class{static{__name(this,_0x2d7e8f(0x135));}[_0x2d7e8f(0x179)];constructor(_0x3b4676){const _0x25348e=_0x2d7e8f;this[_0x25348e(0x179)]=_0x3b4676;}[_0x2d7e8f(0x185)](){const _0x2abe6a={_0x3a57c5:0x1eb},_0x46db58=_0x2d7e8f;return this['discovery'][_0x46db58(_0x2abe6a._0x3a57c5)]();}};_ts_decorate26([_0x4c017b(),_ts_metadata19(_0x2d7e8f(0x2d1),Function),_ts_metadata19(_0x2d7e8f(0x1bd),[]),_ts_metadata19('design:returntype',typeof Promise==='undefined'?Object:Promise)],ScenariosController[_0x2d7e8f(0x193)],_0x2d7e8f(0x185),null),ScenariosController=_ts_decorate26([_0x30dea6(_0x2d7e8f(0x16d)),_ts_param18(0x0,_0x48a587(ISCENARIOS_DISCOVERY)),_ts_metadata19(_0x2d7e8f(0x2d1),Function),_ts_metadata19(_0x2d7e8f(0x1bd),[typeof IScenariosDiscovery===_0x2d7e8f(0x2e3)?Object:IScenariosDiscovery])],ScenariosController);import{Controller as _0xee6343,Get as _0x5ae5e2,Inject as _0x2ac5f4,Query as _0x10d10e}from'@nestjs/common';import{ZodValidationPipe as _0xd46fe0}from'nestjs-zod';import{createZodDto as _0x1eaecb}from'nestjs-zod';import{z as _0x402d0b}from'zod';var SourceQuerySchema=_0x402d0b['object']({'path':_0x402d0b['string']()[_0x2d7e8f(0x24c)](0x1)}),SourceQueryDto=class extends _0x1eaecb(SourceQuerySchema){static{__name(this,'SourceQueryDto');}};function _ts_decorate27(_0x365d6f,_0x1825de,_0x23d95c,_0x42f61c){const _0xd27aa={_0x226b27:0x111,_0x4834d9:0x22f,_0xc149f6:0x223,_0x4d691b:0x2cd},_0x41fa26=_0x2d7e8f;var _0xb0382b=arguments[_0x41fa26(0x223)],_0x256913=_0xb0382b<0x3?_0x1825de:_0x42f61c===null?_0x42f61c=Object[_0x41fa26(_0xd27aa._0x226b27)](_0x1825de,_0x23d95c):_0x42f61c,_0x2af554;if(typeof Reflect===_0x41fa26(0x267)&&typeof Reflect['decorate']===_0x41fa26(_0xd27aa._0x4834d9))_0x256913=Reflect[_0x41fa26(0x167)](_0x365d6f,_0x1825de,_0x23d95c,_0x42f61c);else{for(var _0xd246ac=_0x365d6f[_0x41fa26(_0xd27aa._0xc149f6)]-0x1;_0xd246ac>=0x0;_0xd246ac--)if(_0x2af554=_0x365d6f[_0xd246ac])_0x256913=(_0xb0382b<0x3?_0x2af554(_0x256913):_0xb0382b>0x3?_0x2af554(_0x1825de,_0x23d95c,_0x256913):_0x2af554(_0x1825de,_0x23d95c))||_0x256913;}return _0xb0382b>0x3&&_0x256913&&Object[_0x41fa26(_0xd27aa._0x4d691b)](_0x1825de,_0x23d95c,_0x256913),_0x256913;}__name(_ts_decorate27,_0x2d7e8f(0x140));function _ts_metadata20(_0x13feb2,_0x260714){const _0x3fef9d={_0x3f4fd7:0x267,_0x2fe643:0x191},_0x21a086=_0x2d7e8f;if(typeof Reflect===_0x21a086(_0x3fef9d._0x3f4fd7)&&typeof Reflect[_0x21a086(_0x3fef9d._0x2fe643)]===_0x21a086(0x22f))return Reflect['metadata'](_0x13feb2,_0x260714);}__name(_ts_metadata20,_0x2d7e8f(0x26b));function _ts_param19(_0x58bbe3,_0x27df15){return function(_0x19c925,_0x1613b5){_0x27df15(_0x19c925,_0x1613b5,_0x58bbe3);};}__name(_ts_param19,_0x2d7e8f(0x1ed));var SourceController=class{static{__name(this,'SourceController');}['fs'];constructor(_0x1e5af3){this['fs']=_0x1e5af3;}async[_0x2d7e8f(0x151)](_0x532462){const _0x1fd804={_0x2e66e6:0x251},_0x296148=_0x2d7e8f,_0x304535=await this['fs'][_0x296148(_0x1fd804._0x2e66e6)](_0x532462['path']);return{'path':_0x532462['path'],'content':_0x304535};}};_ts_decorate27([_0x5ae5e2(),_ts_param19(0x0,_0x10d10e(new _0xd46fe0(SourceQuerySchema))),_ts_metadata20('design:type',Function),_ts_metadata20(_0x2d7e8f(0x1bd),[typeof SourceQueryDto===_0x2d7e8f(0x2e3)?Object:SourceQueryDto]),_ts_metadata20(_0x2d7e8f(0x133),Promise)],SourceController[_0x2d7e8f(0x193)],'read',null),SourceController=_ts_decorate27([_0xee6343(_0x2d7e8f(0x113)),_ts_param19(0x0,_0x2ac5f4(IPROJECT_FS)),_ts_metadata20(_0x2d7e8f(0x2d1),Function),_ts_metadata20(_0x2d7e8f(0x1bd),[typeof IProjectFs===_0x2d7e8f(0x2e3)?Object:IProjectFs])],SourceController);function _ts_decorate28(_0x2e5cda,_0x498682,_0x50821e,_0x3c95b8){const _0xa60a63={_0x6b895c:0x223,_0x1096d9:0x267,_0x2033c1:0x167},_0x2837ed=_0x2d7e8f;var _0x288a34=arguments[_0x2837ed(_0xa60a63._0x6b895c)],_0x4f545a=_0x288a34<0x3?_0x498682:_0x3c95b8===null?_0x3c95b8=Object[_0x2837ed(0x111)](_0x498682,_0x50821e):_0x3c95b8,_0x4e6a2a;if(typeof Reflect===_0x2837ed(_0xa60a63._0x1096d9)&&typeof Reflect[_0x2837ed(0x167)]==='function')_0x4f545a=Reflect[_0x2837ed(_0xa60a63._0x2033c1)](_0x2e5cda,_0x498682,_0x50821e,_0x3c95b8);else{for(var _0x3eabfc=_0x2e5cda[_0x2837ed(0x223)]-0x1;_0x3eabfc>=0x0;_0x3eabfc--)if(_0x4e6a2a=_0x2e5cda[_0x3eabfc])_0x4f545a=(_0x288a34<0x3?_0x4e6a2a(_0x4f545a):_0x288a34>0x3?_0x4e6a2a(_0x498682,_0x50821e,_0x4f545a):_0x4e6a2a(_0x498682,_0x50821e))||_0x4f545a;}return _0x288a34>0x3&&_0x4f545a&&Object[_0x2837ed(0x2cd)](_0x498682,_0x50821e,_0x4f545a),_0x4f545a;}__name(_ts_decorate28,_0x2d7e8f(0x140));var HttpModule=class{static{__name(this,_0x2d7e8f(0x20d));}};HttpModule=_ts_decorate28([_0x3abeb1({'imports':[FsModule,RunnerModule,RunsModule],'controllers':[HealthController,ScenariosController,HelpersController,CollectionsController,RunsController,SourceController,RunController,AbortController,AssetController,DbgController,BreakpointsController,EnvController]})],HttpModule);import{Module as _0x4ee924}from'@nestjs/common';import{Inject as _0x5badb2,Injectable as _0x40440f}from'@nestjs/common';import{LOCK_FILE,UNOTEST_DIR as _0xb93be}from'@unotest/protocol';import{randomBytes}from'crypto';import{rename as _0x4ac97e,unlink as _0x125d17,readFile as _0x43b118,writeFile as _0x12e103}from'fs/promises';import{join as _0x434bc3}from'path';function _ts_decorate29(_0x1c47e8,_0x27a541,_0x3aab05,_0x140675){const _0x46e09b={_0x20fa0e:0x111,_0x1f824b:0x267},_0x3e8d25=_0x2d7e8f;var _0x1a4424=arguments[_0x3e8d25(0x223)],_0xcaed79=_0x1a4424<0x3?_0x27a541:_0x140675===null?_0x140675=Object[_0x3e8d25(_0x46e09b._0x20fa0e)](_0x27a541,_0x3aab05):_0x140675,_0x2cb35c;if(typeof Reflect===_0x3e8d25(_0x46e09b._0x1f824b)&&typeof Reflect[_0x3e8d25(0x167)]===_0x3e8d25(0x22f))_0xcaed79=Reflect[_0x3e8d25(0x167)](_0x1c47e8,_0x27a541,_0x3aab05,_0x140675);else{for(var _0x834fb3=_0x1c47e8['length']-0x1;_0x834fb3>=0x0;_0x834fb3--)if(_0x2cb35c=_0x1c47e8[_0x834fb3])_0xcaed79=(_0x1a4424<0x3?_0x2cb35c(_0xcaed79):_0x1a4424>0x3?_0x2cb35c(_0x27a541,_0x3aab05,_0xcaed79):_0x2cb35c(_0x27a541,_0x3aab05))||_0xcaed79;}return _0x1a4424>0x3&&_0xcaed79&&Object[_0x3e8d25(0x2cd)](_0x27a541,_0x3aab05,_0xcaed79),_0xcaed79;}__name(_ts_decorate29,_0x2d7e8f(0x140));function _ts_metadata21(_0x233dd1,_0x4a5099){const _0x25ff8b={_0x36b6c5:0x267,_0x7f7612:0x22f,_0x22e9b0:0x191},_0x287fdf=_0x2d7e8f;if(typeof Reflect===_0x287fdf(_0x25ff8b._0x36b6c5)&&typeof Reflect[_0x287fdf(0x191)]===_0x287fdf(_0x25ff8b._0x7f7612))return Reflect[_0x287fdf(_0x25ff8b._0x22e9b0)](_0x233dd1,_0x4a5099);}__name(_ts_metadata21,_0x2d7e8f(0x26b));function _ts_param20(_0xa11917,_0x56e138){return function(_0x253d70,_0x225d02){_0x56e138(_0x253d70,_0x225d02,_0xa11917);};}__name(_ts_param20,'_ts_param');var LockService=class{static{__name(this,_0x2d7e8f(0x29d));}['config'];[_0x2d7e8f(0x1cd)];constructor(_0x33e439){const _0x1fd896=_0x2d7e8f;this[_0x1fd896(0x2cf)]=_0x33e439,this[_0x1fd896(0x1cd)]=_0x434bc3(this[_0x1fd896(0x2cf)][_0x1fd896(0x29f)],_0xb93be,LOCK_FILE);}async[_0x2d7e8f(0x151)](){const _0x559a54={_0x4ed62d:0x1cd,_0x5b8725:0x23e},_0x23d882=_0x2d7e8f;try{const _0x193efa=await _0x43b118(this[_0x23d882(_0x559a54._0x4ed62d)],_0x23d882(0x178)),_0x100660=JSON[_0x23d882(0x219)](_0x193efa);if(typeof _0x100660[_0x23d882(0x18d)]!==_0x23d882(0x1ec)||typeof _0x100660[_0x23d882(0x291)]!==_0x23d882(0x23e)||typeof _0x100660['startedAt']!==_0x23d882(_0x559a54._0x5b8725))return null;return _0x100660;}catch{return null;}}async[_0x2d7e8f(0x19e)](_0x50dc37){const _0x1205f4={_0x4e99ab:0x1cd,_0x489951:0x208},_0x360a5a=_0x2d7e8f,_0x354c22=this[_0x360a5a(_0x1205f4._0x4e99ab)]+'.'+randomBytes(0x6)[_0x360a5a(0x16c)]('hex')+_0x360a5a(_0x1205f4._0x489951);await _0x12e103(_0x354c22,JSON['stringify'](_0x50dc37,null,0x2),{'mode':0x1a4}),await _0x4ac97e(_0x354c22,this['lockPath']);}async[_0x2d7e8f(0x2bc)](){const _0x5d6ce=_0x2d7e8f;try{await _0x125d17(this['lockPath']);}catch(_0x511088){if(_0x511088[_0x5d6ce(0x256)]!=='ENOENT')throw _0x511088;}}async['isAlive'](){const _0x4d0514={_0x12f057:0x158,_0x11f944:0x18d,_0x18041a:0x256},_0x1e694d=_0x2d7e8f,_0x22a053=await this[_0x1e694d(0x151)]();if(!_0x22a053)return![];try{return process[_0x1e694d(_0x4d0514._0x12f057)](_0x22a053[_0x1e694d(_0x4d0514._0x11f944)],0x0),!![];}catch(_0x36820c){if(_0x36820c[_0x1e694d(_0x4d0514._0x18041a)]==='ESRCH')return![];return!![];}}};LockService=_ts_decorate29([_0x40440f(),_ts_param20(0x0,_0x5badb2(VIEWER_CONFIG)),_ts_metadata21(_0x2d7e8f(0x2d1),Function),_ts_metadata21(_0x2d7e8f(0x1bd),[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig])],LockService);function _ts_decorate30(_0x50ea03,_0x3a6e09,_0x72b078,_0x1171cd){const _0x89932d={_0x100476:0x223,_0x5280a8:0x111,_0x4acb9d:0x267,_0x3f1528:0x22f,_0x25ae0a:0x167,_0x39b25d:0x2cd},_0x5619c0=_0x2d7e8f;var _0x532e0e=arguments[_0x5619c0(_0x89932d._0x100476)],_0x2dd7b3=_0x532e0e<0x3?_0x3a6e09:_0x1171cd===null?_0x1171cd=Object[_0x5619c0(_0x89932d._0x5280a8)](_0x3a6e09,_0x72b078):_0x1171cd,_0xbf54fa;if(typeof Reflect===_0x5619c0(_0x89932d._0x4acb9d)&&typeof Reflect['decorate']===_0x5619c0(_0x89932d._0x3f1528))_0x2dd7b3=Reflect[_0x5619c0(_0x89932d._0x25ae0a)](_0x50ea03,_0x3a6e09,_0x72b078,_0x1171cd);else{for(var _0x34ce96=_0x50ea03['length']-0x1;_0x34ce96>=0x0;_0x34ce96--)if(_0xbf54fa=_0x50ea03[_0x34ce96])_0x2dd7b3=(_0x532e0e<0x3?_0xbf54fa(_0x2dd7b3):_0x532e0e>0x3?_0xbf54fa(_0x3a6e09,_0x72b078,_0x2dd7b3):_0xbf54fa(_0x3a6e09,_0x72b078))||_0x2dd7b3;}return _0x532e0e>0x3&&_0x2dd7b3&&Object[_0x5619c0(_0x89932d._0x39b25d)](_0x3a6e09,_0x72b078,_0x2dd7b3),_0x2dd7b3;}__name(_ts_decorate30,_0x2d7e8f(0x140));var LockModule=class{static{__name(this,'LockModule');}};LockModule=_ts_decorate30([_0x4ee924({'providers':[{'provide':ILOCK,'useClass':LockService}],'exports':[ILOCK]})],LockModule);import{Module as _0x13a76d}from'@nestjs/common';var IHEARTBEAT_MONITOR=Symbol['for']('unotest.viewer.IHeartbeatMonitor'),IJSONL_TAILER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x203)),IWATCHER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x122));import{Inject as _0x5e0808,Injectable as _0x1caefb,Logger as _0x22f34d}from'@nestjs/common';import{Subject as _0x332bfc}from'rxjs';function _ts_decorate31(_0x1b01c8,_0x32967f,_0x25c492,_0xc5ddec){const _0x3174bb={_0x3f8c64:0x167,_0x4d2f23:0x22f,_0x2b90a9:0x223,_0x253606:0x2cd},_0x26ef3=_0x2d7e8f;var _0x410fa9=arguments['length'],_0x3a6882=_0x410fa9<0x3?_0x32967f:_0xc5ddec===null?_0xc5ddec=Object[_0x26ef3(0x111)](_0x32967f,_0x25c492):_0xc5ddec,_0x306652;if(typeof Reflect==='object'&&typeof Reflect[_0x26ef3(_0x3174bb._0x3f8c64)]===_0x26ef3(_0x3174bb._0x4d2f23))_0x3a6882=Reflect[_0x26ef3(0x167)](_0x1b01c8,_0x32967f,_0x25c492,_0xc5ddec);else{for(var _0x55cfaa=_0x1b01c8[_0x26ef3(_0x3174bb._0x2b90a9)]-0x1;_0x55cfaa>=0x0;_0x55cfaa--)if(_0x306652=_0x1b01c8[_0x55cfaa])_0x3a6882=(_0x410fa9<0x3?_0x306652(_0x3a6882):_0x410fa9>0x3?_0x306652(_0x32967f,_0x25c492,_0x3a6882):_0x306652(_0x32967f,_0x25c492))||_0x3a6882;}return _0x410fa9>0x3&&_0x3a6882&&Object[_0x26ef3(_0x3174bb._0x253606)](_0x32967f,_0x25c492,_0x3a6882),_0x3a6882;}__name(_ts_decorate31,_0x2d7e8f(0x140));function _ts_metadata22(_0x3fa143,_0x912d7d){const _0x40cb02={_0x4391b5:0x267,_0x551bf5:0x191,_0x6d7986:0x191},_0x3a3c56=_0x2d7e8f;if(typeof Reflect===_0x3a3c56(_0x40cb02._0x4391b5)&&typeof Reflect[_0x3a3c56(_0x40cb02._0x551bf5)]==='function')return Reflect[_0x3a3c56(_0x40cb02._0x6d7986)](_0x3fa143,_0x912d7d);}__name(_ts_metadata22,'_ts_metadata');function _ts_param21(_0x52a437,_0x5c30e7){return function(_0x439d33,_0x58c143){_0x5c30e7(_0x439d33,_0x58c143,_0x52a437);};}__name(_ts_param21,_0x2d7e8f(0x1ed));var STALE_THRESHOLD_MS=0x7530,SCAN_INTERVAL_MS=0x1388,HeartbeatMonitorService=class _HeartbeatMonitorService{static{__name(this,_0x2d7e8f(0x1ae));}[_0x2d7e8f(0x2e0)];[_0x2d7e8f(0x199)];[_0x2d7e8f(0x12d)];[_0x2d7e8f(0x28c)]=new _0x22f34d(_HeartbeatMonitorService[_0x2d7e8f(0x134)]);[_0x2d7e8f(0x1c7)]=new _0x332bfc();[_0x2d7e8f(0x19a)]=new Map();[_0x2d7e8f(0x16e)]=null;[_0x2d7e8f(0x29e)]=null;[_0x2d7e8f(0x182)]=Date[_0x2d7e8f(0x22e)];constructor(_0x111cfd,_0x5e6e99){const _0x5e4cea={_0x4a9bdf:0x199},_0x5a39d5=_0x2d7e8f;this['watcher']=_0x111cfd,this[_0x5a39d5(_0x5e4cea._0x4a9bdf)]=_0x5e6e99,this[_0x5a39d5(0x12d)]=this[_0x5a39d5(0x1c7)][_0x5a39d5(0x26d)]();}[_0x2d7e8f(0x2e9)](_0x475189){this['nowFn']=_0x475189;}async['onModuleInit'](){const _0x53c3f0={_0x10d066:0x2d4,_0x23118a:0x2f2,_0x67a675:0x19a,_0x4cc909:0x280,_0x41a8d7:0x2ac,_0x591218:0x148,_0x27a0b4:0x28c,_0x1af789:0x188,_0x2b3c35:0x143,_0x5224a9:0x2e0,_0xb9acb0:0x29e},_0x2ac108={_0x322a83:0x242,_0x30b32f:0x19a,_0x399f0e:0x280,_0x15d386:0x163,_0x624f5c:0x15e,_0x4f2f22:0x216},_0x584eb3=_0x2d7e8f;try{const _0x744bfb=await this[_0x584eb3(0x199)][_0x584eb3(_0x53c3f0._0x10d066)](),_0x705fd=this['nowFn']();for(const _0x16fbcd of _0x744bfb){_0x16fbcd[_0x584eb3(0x1db)]===_0x584eb3(_0x53c3f0._0x23118a)&&this[_0x584eb3(_0x53c3f0._0x67a675)][_0x584eb3(_0x53c3f0._0x4cc909)](_0x16fbcd[_0x584eb3(0x216)],Math[_0x584eb3(_0x53c3f0._0x41a8d7)](_0x16fbcd[_0x584eb3(_0x53c3f0._0x591218)],_0x705fd-STALE_THRESHOLD_MS+0x3e8));}}catch(_0x4809c6){this[_0x584eb3(_0x53c3f0._0x27a0b4)][_0x584eb3(_0x53c3f0._0x1af789)]('seed-from-repo\x20failed:\x20'+(_0x4809c6 instanceof Error?_0x4809c6[_0x584eb3(_0x53c3f0._0x2b3c35)]:String(_0x4809c6)));}this[_0x584eb3(0x16e)]=this[_0x584eb3(_0x53c3f0._0x5224a9)][_0x584eb3(0x1e8)][_0x584eb3(0x168)](_0xc2327a=>{const _0x297806=_0x584eb3;switch(_0xc2327a['kind']){case'run-dir-added':this[_0x297806(_0x2ac108._0x322a83)](_0xc2327a[_0x297806(0x216)]);return;case'heartbeat-changed':this[_0x297806(_0x2ac108._0x30b32f)][_0x297806(_0x2ac108._0x399f0e)](_0xc2327a['runId'],_0xc2327a[_0x297806(0x1a2)]);return;case _0x297806(_0x2ac108._0x15d386):this[_0x297806(_0x2ac108._0x624f5c)](_0xc2327a[_0x297806(_0x2ac108._0x4f2f22)]);return;default:return;}}),this[_0x584eb3(_0x53c3f0._0xb9acb0)]=setInterval(()=>this['scan'](),SCAN_INTERVAL_MS),this['timer'][_0x584eb3(0x171)]();}[_0x2d7e8f(0x24b)](){const _0xdf313e={_0x286cca:0x1c7,_0x1b5501:0x273},_0xdbb57a=_0x2d7e8f;this['watcherSub']?.[_0xdbb57a(0x225)](),this['timer']&&(clearInterval(this[_0xdbb57a(0x29e)]),this['timer']=null),this[_0xdbb57a(_0xdf313e._0x286cca)][_0xdbb57a(_0xdf313e._0x1b5501)]();}['track'](_0x49abcf){const _0x5614bf={_0x2d7052:0x282,_0x26009e:0x19a},_0xdf604e=_0x2d7e8f;!this[_0xdf604e(0x19a)][_0xdf604e(_0x5614bf._0x2d7052)](_0x49abcf)&&this[_0xdf604e(_0x5614bf._0x26009e)]['set'](_0x49abcf,this[_0xdf604e(0x182)]());}['forget'](_0x10b942){const _0x4fd136={_0x2dbc63:0x19a},_0x4efa38=_0x2d7e8f;this[_0x4efa38(_0x4fd136._0x2dbc63)][_0x4efa38(0x204)](_0x10b942);}[_0x2d7e8f(0x22d)](){const _0x515fff={_0x7da400:0x182,_0x49cefc:0x19a,_0x1671bf:0x1c7,_0x17410f:0x27e},_0x2707a0=_0x2d7e8f,_0x493736=this[_0x2707a0(_0x515fff._0x7da400)]();for(const [_0x485174,_0x5bd8fc]of this[_0x2707a0(_0x515fff._0x49cefc)]){_0x493736-_0x5bd8fc>STALE_THRESHOLD_MS&&(this[_0x2707a0(0x19a)]['delete'](_0x485174),this[_0x2707a0(_0x515fff._0x1671bf)][_0x2707a0(_0x515fff._0x17410f)](_0x485174));}}};HeartbeatMonitorService=_ts_decorate31([_0x1caefb(),_ts_param21(0x0,_0x5e0808(IWATCHER)),_ts_param21(0x1,_0x5e0808(IRUNS_REPOSITORY)),_ts_metadata22(_0x2d7e8f(0x2d1),Function),_ts_metadata22('design:paramtypes',[typeof IWatcher===_0x2d7e8f(0x2e3)?Object:IWatcher,typeof IRunsRepository==='undefined'?Object:IRunsRepository])],HeartbeatMonitorService);import{Inject as _0x1cc032,Injectable as _0x4a60a1}from'@nestjs/common';import{RUNS_SUBDIR as _0x3f5339,STEPS_FILE as _0x474bb4,UNOTEST_DIR as _0x2a009d}from'@unotest/protocol';import{createReadStream as _0x468b79}from'fs';import{stat as _0x4b1bba}from'fs/promises';import{join as _0xaaf577}from'path';import{Subject as _0x2103e9}from'rxjs';function _ts_decorate32(_0x3c803e,_0x62e000,_0x12697e,_0x45b516){const _0x2cc205={_0x297bdd:0x223,_0x237823:0x167},_0x12be7e=_0x2d7e8f;var _0x5dfe2c=arguments[_0x12be7e(_0x2cc205._0x297bdd)],_0x337f51=_0x5dfe2c<0x3?_0x62e000:_0x45b516===null?_0x45b516=Object[_0x12be7e(0x111)](_0x62e000,_0x12697e):_0x45b516,_0x292d67;if(typeof Reflect==='object'&&typeof Reflect['decorate']==='function')_0x337f51=Reflect[_0x12be7e(_0x2cc205._0x237823)](_0x3c803e,_0x62e000,_0x12697e,_0x45b516);else{for(var _0x42df98=_0x3c803e['length']-0x1;_0x42df98>=0x0;_0x42df98--)if(_0x292d67=_0x3c803e[_0x42df98])_0x337f51=(_0x5dfe2c<0x3?_0x292d67(_0x337f51):_0x5dfe2c>0x3?_0x292d67(_0x62e000,_0x12697e,_0x337f51):_0x292d67(_0x62e000,_0x12697e))||_0x337f51;}return _0x5dfe2c>0x3&&_0x337f51&&Object[_0x12be7e(0x2cd)](_0x62e000,_0x12697e,_0x337f51),_0x337f51;}__name(_ts_decorate32,_0x2d7e8f(0x140));function _ts_metadata23(_0x4f7aa1,_0x13d616){const _0x57e9f2={_0x1bd75e:0x267,_0x55662c:0x191},_0x11e896=_0x2d7e8f;if(typeof Reflect===_0x11e896(_0x57e9f2._0x1bd75e)&&typeof Reflect['metadata']==='function')return Reflect[_0x11e896(_0x57e9f2._0x55662c)](_0x4f7aa1,_0x13d616);}__name(_ts_metadata23,_0x2d7e8f(0x26b));function _ts_param22(_0x441fb8,_0x114068){return function(_0x387ab6,_0x1c57c8){_0x114068(_0x387ab6,_0x1c57c8,_0x441fb8);};}__name(_ts_param22,'_ts_param');var JsonlTailerService=class{static{__name(this,_0x2d7e8f(0x274));}[_0x2d7e8f(0x2cf)];[_0x2d7e8f(0x2e0)];['events$'];['subject']=new _0x2103e9();['cursors']=new Map();['watcherSub']=null;[_0x2d7e8f(0x28e)]=new Map();constructor(_0xbf1f5d,_0x2e6bbd){const _0x2d8f0f={_0x10f649:0x2e0,_0x5621a8:0x26d},_0x4f38eb=_0x2d7e8f;this['config']=_0xbf1f5d,this[_0x4f38eb(_0x2d8f0f._0x10f649)]=_0x2e6bbd,this[_0x4f38eb(0x19d)]=this[_0x4f38eb(0x1c7)][_0x4f38eb(_0x2d8f0f._0x5621a8)]();}[_0x2d7e8f(0x13a)](){const _0x135649={_0x25cfc2:0x16e,_0x2624b6:0x2e0,_0x3fa5a7:0x1e8},_0x222e8e={_0x54026b:0x1c9,_0x1bc0a6:0x216},_0x3fa942=_0x2d7e8f;this[_0x3fa942(_0x135649._0x25cfc2)]=this[_0x3fa942(_0x135649._0x2624b6)][_0x3fa942(_0x135649._0x3fa5a7)]['subscribe'](_0x39f9ca=>{const _0x413b8d=_0x3fa942;if(_0x39f9ca[_0x413b8d(_0x222e8e._0x54026b)]===_0x413b8d(0x2a7))void this[_0x413b8d(0x220)](_0x39f9ca[_0x413b8d(_0x222e8e._0x1bc0a6)]);else _0x39f9ca[_0x413b8d(0x1c9)]==='run-dir-removed'&&this[_0x413b8d(0x25e)]['delete'](_0x39f9ca[_0x413b8d(_0x222e8e._0x1bc0a6)]);});}[_0x2d7e8f(0x24b)](){const _0x10eda9={_0x25668e:0x1c7,_0x58f159:0x273},_0x46440f=_0x2d7e8f;this[_0x46440f(0x16e)]?.[_0x46440f(0x225)](),this[_0x46440f(_0x10eda9._0x25668e)][_0x46440f(_0x10eda9._0x58f159)]();}[_0x2d7e8f(0x240)](_0x576034){const _0x2b05ca={_0x544ff9:0x25e},_0xe4a758=_0x2d7e8f;this[_0xe4a758(_0x2b05ca._0x544ff9)]['delete'](_0x576034);}[_0x2d7e8f(0x24e)](){const _0x2fdbf2=_0x2d7e8f;this[_0x2fdbf2(0x25e)]['clear']();}[_0x2d7e8f(0x220)](_0x1d1f43){const _0xfdbd92={_0x4cc717:0x1a6,_0x22675e:0x280},_0x41e928={_0x57868e:0x28e},_0x49a047=_0x2d7e8f,_0x54026d=this['inflight'][_0x49a047(_0xfdbd92._0x4cc717)](_0x1d1f43);if(_0x54026d){const _0x2194e5=_0x54026d[_0x49a047(0x289)](()=>this[_0x49a047(0x17c)](_0x1d1f43));return this[_0x49a047(0x28e)][_0x49a047(_0xfdbd92._0x22675e)](_0x1d1f43,_0x2194e5),_0x2194e5;}const _0x31ce50=this[_0x49a047(0x17c)](_0x1d1f43)[_0x49a047(0x2aa)](()=>{const _0x4426a2=_0x49a047;if(this[_0x4426a2(_0x41e928._0x57868e)][_0x4426a2(0x1a6)](_0x1d1f43)===_0x31ce50)this[_0x4426a2(0x28e)]['delete'](_0x1d1f43);});return this[_0x49a047(0x28e)][_0x49a047(0x280)](_0x1d1f43,_0x31ce50),_0x31ce50;}async['tail'](_0xccfb47){const _0x49be79={_0x276154:0x2b8,_0x1a6da0:0x1a6,_0x1c4bd0:0x1c7},_0x1461bd=_0x2d7e8f,_0x2049b9=_0xaaf577(this['config'][_0x1461bd(0x29f)],_0x2a009d,_0x3f5339,_0xccfb47,_0x474bb4);let _0x4c1624;try{_0x4c1624=(await _0x4b1bba(_0x2049b9))[_0x1461bd(_0x49be79._0x276154)];}catch{return;}const _0x4ed606=this[_0x1461bd(0x25e)][_0x1461bd(_0x49be79._0x1a6da0)](_0xccfb47)??0x0;if(_0x4c1624<=_0x4ed606)return;const _0x28fade=await this['readSlice'](_0x2049b9,_0x4ed606,_0x4c1624);this['cursors']['set'](_0xccfb47,_0x4c1624);for(const _0x3658bf of _0x28fade['split']('\x0a')){const _0x2e0549=_0x3658bf['trim']();if(_0x2e0549==='')continue;let _0x3480b1;try{_0x3480b1=JSON[_0x1461bd(0x219)](_0x2e0549);}catch{continue;}this[_0x1461bd(_0x49be79._0x1c4bd0)][_0x1461bd(0x27e)]({'runId':_0xccfb47,'event':_0x3480b1});}}async[_0x2d7e8f(0x2ee)](_0x33a527,_0x209432,_0x22d096){const _0x17af6d={_0xb2b6f0:0x1ea,_0x39b660:0x197};return new Promise((_0x2e8519,_0x53d8f7)=>{const _0x5a9013=_0x285c,_0x527e9b=[],_0x49a258=_0x468b79(_0x33a527,{'start':_0x209432,'end':_0x22d096-0x1});_0x49a258['on'](_0x5a9013(_0x17af6d._0xb2b6f0),_0x3df405=>_0x527e9b['push'](_0x3df405)),_0x49a258['on'](_0x5a9013(_0x17af6d._0x39b660),()=>_0x2e8519(Buffer[_0x5a9013(0x165)](_0x527e9b)['toString'](_0x5a9013(0x178)))),_0x49a258['on'](_0x5a9013(0x2c3),_0x53d8f7);});}};JsonlTailerService=_ts_decorate32([_0x4a60a1(),_ts_param22(0x0,_0x1cc032(VIEWER_CONFIG)),_ts_param22(0x1,_0x1cc032(IWATCHER)),_ts_metadata23(_0x2d7e8f(0x2d1),Function),_ts_metadata23(_0x2d7e8f(0x1bd),[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig,typeof IWatcher===_0x2d7e8f(0x2e3)?Object:IWatcher])],JsonlTailerService);import{Inject as _0x58f72c,Injectable as _0x39b6f9}from'@nestjs/common';import{DEBUGGER_FILE as _0x37ef53,E2E_SUBDIR as _0x5053b8,RUNS_SUBDIR as _0x506981,STEPS_FILE as _0x472545,HEARTBEAT_FILE as _0x4e0fc0,UNOTEST_DIR as _0x386547}from'@unotest/protocol';import _0x51a45a from'chokidar';import{stat as _0x26cfa1}from'fs/promises';import{join as _0x4d2c17,posix as _0x302321,relative,sep as _0x49ba5b}from'path';import{Subject as _0x388e6f}from'rxjs';function _ts_decorate33(_0x7e86cb,_0x3c62b1,_0x23d982,_0x4a3cae){const _0x50e9f7={_0x18ff0f:0x223,_0x268b23:0x167,_0x104075:0x22f,_0x370ed4:0x167,_0x35474c:0x2cd},_0x36c738=_0x2d7e8f;var _0x54e6ee=arguments[_0x36c738(_0x50e9f7._0x18ff0f)],_0x20bbd3=_0x54e6ee<0x3?_0x3c62b1:_0x4a3cae===null?_0x4a3cae=Object[_0x36c738(0x111)](_0x3c62b1,_0x23d982):_0x4a3cae,_0x231c81;if(typeof Reflect==='object'&&typeof Reflect[_0x36c738(_0x50e9f7._0x268b23)]===_0x36c738(_0x50e9f7._0x104075))_0x20bbd3=Reflect[_0x36c738(_0x50e9f7._0x370ed4)](_0x7e86cb,_0x3c62b1,_0x23d982,_0x4a3cae);else{for(var _0x3141bb=_0x7e86cb[_0x36c738(_0x50e9f7._0x18ff0f)]-0x1;_0x3141bb>=0x0;_0x3141bb--)if(_0x231c81=_0x7e86cb[_0x3141bb])_0x20bbd3=(_0x54e6ee<0x3?_0x231c81(_0x20bbd3):_0x54e6ee>0x3?_0x231c81(_0x3c62b1,_0x23d982,_0x20bbd3):_0x231c81(_0x3c62b1,_0x23d982))||_0x20bbd3;}return _0x54e6ee>0x3&&_0x20bbd3&&Object[_0x36c738(_0x50e9f7._0x35474c)](_0x3c62b1,_0x23d982,_0x20bbd3),_0x20bbd3;}__name(_ts_decorate33,'_ts_decorate');function _ts_metadata24(_0x1a3904,_0xc8641a){const _0x130bd1={_0x2381fa:0x191},_0x4c90d2=_0x2d7e8f;if(typeof Reflect===_0x4c90d2(0x267)&&typeof Reflect[_0x4c90d2(0x191)]===_0x4c90d2(0x22f))return Reflect[_0x4c90d2(_0x130bd1._0x2381fa)](_0x1a3904,_0xc8641a);}__name(_ts_metadata24,_0x2d7e8f(0x26b));function _ts_param23(_0x3096c9,_0x2fd824){return function(_0x3404fd,_0x1b6468){_0x2fd824(_0x3404fd,_0x1b6468,_0x3096c9);};}__name(_ts_param23,_0x2d7e8f(0x1ed));var E2E_ROOT2=_0x302321[_0x2d7e8f(0x2f4)](_0x386547,_0x5053b8),RUNS_ROOT2=_0x302321[_0x2d7e8f(0x2f4)](_0x386547,_0x506981),WatcherService=class{static{__name(this,_0x2d7e8f(0x2d3));}[_0x2d7e8f(0x2cf)];[_0x2d7e8f(0x1e8)];['e2eEvents$'];[_0x2d7e8f(0x16a)]=new _0x388e6f();['e2eSubject']=new _0x388e6f();[_0x2d7e8f(0x287)]=null;[_0x2d7e8f(0x213)]=null;[_0x2d7e8f(0x189)]=null;[_0x2d7e8f(0x15f)]=![];constructor(_0x4c1cbf){const _0x408be1={_0x3c1584:0x2cf,_0x20045c:0x16a,_0x59eb67:0x26d,_0x11c97c:0x186},_0x552bd0=_0x2d7e8f;this[_0x552bd0(_0x408be1._0x3c1584)]=_0x4c1cbf,this[_0x552bd0(0x1e8)]=this[_0x552bd0(_0x408be1._0x20045c)][_0x552bd0(_0x408be1._0x59eb67)](),this[_0x552bd0(0x2cc)]=this[_0x552bd0(_0x408be1._0x11c97c)][_0x552bd0(_0x408be1._0x59eb67)]();}async[_0x2d7e8f(0x295)](){const _0x2b5f63={_0x445f73:0x287,_0x1164c8:0x213},_0x5a8a6f=_0x2d7e8f;if(this['started'])return;this['started']=!![],this[_0x5a8a6f(_0x2b5f63._0x445f73)]=this['startRunWatcher'](),this[_0x5a8a6f(_0x2b5f63._0x1164c8)]=this['startE2eWatcher'](),this[_0x5a8a6f(0x189)]=this[_0x5a8a6f(0x2b0)]();}async[_0x2d7e8f(0x1ef)](){const _0x46732f={_0x22b79d:0x287,_0x41a777:0x207,_0x669573:0x189},_0x188caa=_0x2d7e8f;if(!this[_0x188caa(0x15f)])return;this['started']=![],await this[_0x188caa(_0x46732f._0x22b79d)]?.[_0x188caa(_0x46732f._0x41a777)](),await this['e2eWatcher']?.['close'](),await this[_0x188caa(_0x46732f._0x669573)]?.[_0x188caa(0x207)](),this[_0x188caa(0x16a)][_0x188caa(0x273)](),this[_0x188caa(0x186)][_0x188caa(0x273)]();}async[_0x2d7e8f(0x24b)](){await this['stop']();}[_0x2d7e8f(0x12a)](){const _0x9c0e87={_0x20a14b:0x29f},_0x40d583={_0x345624:0x226},_0x1d6f11={_0xaa7a3:0x16a},_0x12a050={_0x328946:0x28b,_0x2a61f2:0x116},_0x4a8791=_0x2d7e8f,_0x4ecd13=_0x4d2c17(this[_0x4a8791(0x2cf)][_0x4a8791(_0x9c0e87._0x20a14b)],RUNS_ROOT2),_0x44a540=_0x51a45a['watch'](_0x4ecd13,{'ignoreInitial':![],'depth':0x2,'awaitWriteFinish':![],'usePolling':!![],'interval':0x4b,'binaryInterval':0xc8});return _0x44a540['on'](_0x4a8791(0x187),_0x33e505=>{const _0x28871f=_0x4a8791,_0xcadc9=this[_0x28871f(_0x12a050._0x328946)](_0x4ecd13,_0x33e505);if(_0xcadc9)this['runSubject']['next']({'kind':_0x28871f(_0x12a050._0x2a61f2),'runId':_0xcadc9});}),_0x44a540['on']('unlinkDir',_0x3555a2=>{const _0x4cb9be=_0x4a8791,_0x5a381f=this['runIdForDir'](_0x4ecd13,_0x3555a2);if(_0x5a381f)this[_0x4cb9be(_0x1d6f11._0xaa7a3)]['next']({'kind':'run-dir-removed','runId':_0x5a381f});}),_0x44a540['on'](_0x4a8791(0x20a),_0x1b9ef3=>{const _0x2f2c7e=_0x4a8791;void this[_0x2f2c7e(0x226)](_0x4ecd13,_0x1b9ef3);}),_0x44a540['on'](_0x4a8791(0x13d),_0x3730fa=>{const _0x5c8dca=_0x4a8791;void this[_0x5c8dca(_0x40d583._0x345624)](_0x4ecd13,_0x3730fa);}),_0x44a540;}async[_0x2d7e8f(0x226)](_0x157f52,_0x45c676){const _0x2346ee={_0x1e339d:0x223,_0x2df123:0x1cc,_0x4a19b7:0x1a2},_0x58ce44=_0x2d7e8f,_0x2bee34=relative(_0x157f52,_0x45c676)[_0x58ce44(0x2ef)](_0x49ba5b);if(_0x2bee34[_0x58ce44(_0x2346ee._0x1e339d)]!==0x2)return;const _0x920fe=_0x2bee34[0x0],_0x28d9fe=_0x2bee34[0x1];if(_0x28d9fe===_0x472545)this[_0x58ce44(0x16a)][_0x58ce44(0x27e)]({'kind':_0x58ce44(0x2a7),'runId':_0x920fe});else{if(_0x28d9fe===_0x4e0fc0)try{const _0x319835=await _0x26cfa1(_0x45c676);this['runSubject']['next']({'kind':_0x58ce44(_0x2346ee._0x2df123),'runId':_0x920fe,'mtimeMs':_0x319835[_0x58ce44(_0x2346ee._0x4a19b7)]});}catch{}}}[_0x2d7e8f(0x28b)](_0x49b8b9,_0x3db64d){const _0x2bd4e0={_0x31a406:0x2ef,_0x3be5a8:0x223},_0x53d1e2=_0x2d7e8f,_0x285072=relative(_0x49b8b9,_0x3db64d)[_0x53d1e2(_0x2bd4e0._0x31a406)](_0x49ba5b);if(_0x285072[_0x53d1e2(_0x2bd4e0._0x3be5a8)]!==0x1||_0x285072[0x0]===''||_0x285072[0x0]==='.')return null;return _0x285072[0x0];}[_0x2d7e8f(0x268)](){const _0x51e38={_0x42aa97:0x2cf,_0x3a6cc7:0x183,_0x524492:0x13d,_0x2790e0:0x298},_0x4e9671={_0x19d369:0x1b3,_0x592f39:0x237,_0x3bf50e:0x1a4,_0x487b67:0x27e,_0x3a0a3b:0x2dd,_0x22c317:0x2a8,_0x1f7d27:0x27e},_0xe61ff1=_0x2d7e8f,_0x5ec5c9=_0x4d2c17(this[_0xe61ff1(_0x51e38._0x42aa97)][_0xe61ff1(0x29f)],E2E_ROOT2),_0xab4117=_0x51a45a[_0xe61ff1(0x27f)](_0x5ec5c9,{'ignoreInitial':!![],'awaitWriteFinish':{'stabilityThreshold':0x64,'pollInterval':0x32}}),_0x44b638=__name(_0x51844a=>{const _0x7a3556=_0xe61ff1,_0xb9b6f4=relative(_0x5ec5c9,_0x51844a);if(_0xb9b6f4[_0x7a3556(_0x4e9671._0x19d369)](_0x7a3556(_0x4e9671._0x592f39)+_0x49ba5b)||_0xb9b6f4[_0x7a3556(0x1b3)](_0x7a3556(_0x4e9671._0x3bf50e)))this[_0x7a3556(0x186)][_0x7a3556(_0x4e9671._0x487b67)]({'kind':_0x7a3556(_0x4e9671._0x3a0a3b)});else _0xb9b6f4['startsWith'](_0x7a3556(0x283)+_0x49ba5b)||_0xb9b6f4[_0x7a3556(_0x4e9671._0x19d369)](_0x7a3556(_0x4e9671._0x22c317))?this['e2eSubject'][_0x7a3556(_0x4e9671._0x487b67)]({'kind':_0x7a3556(0x290)}):this[_0x7a3556(0x186)][_0x7a3556(_0x4e9671._0x1f7d27)]({'kind':_0x7a3556(0x173)});},_0xe61ff1(_0x51e38._0x3a6cc7));return _0xab4117['on'](_0xe61ff1(_0x51e38._0x524492),_0x44b638),_0xab4117['on']('change',_0x44b638),_0xab4117['on'](_0xe61ff1(_0x51e38._0x2790e0),_0x44b638),_0xab4117;}[_0x2d7e8f(0x2b0)](){const _0x217605={_0x2a8121:0x27f},_0x72fd98={_0x173dd2:0x25c},_0x3992c8=_0x2d7e8f,_0x255a3f=_0x4d2c17(this[_0x3992c8(0x2cf)]['projectRoot'],_0x37ef53),_0x5d0105=_0x51a45a[_0x3992c8(_0x217605._0x2a8121)](_0x255a3f,{'ignoreInitial':!![],'awaitWriteFinish':{'stabilityThreshold':0x32,'pollInterval':0x19}}),_0x5b514f=__name(()=>{const _0x155dd8=_0x3992c8;this['e2eSubject'][_0x155dd8(0x27e)]({'kind':_0x155dd8(_0x72fd98._0x173dd2)});},'emit');return _0x5d0105['on'](_0x3992c8(0x13d),_0x5b514f),_0x5d0105['on'](_0x3992c8(0x20a),_0x5b514f),_0x5d0105['on'](_0x3992c8(0x298),_0x5b514f),_0x5d0105;}};WatcherService=_ts_decorate33([_0x39b6f9(),_ts_param23(0x0,_0x58f72c(VIEWER_CONFIG)),_ts_metadata24(_0x2d7e8f(0x2d1),Function),_ts_metadata24(_0x2d7e8f(0x1bd),[typeof ViewerConfig==='undefined'?Object:ViewerConfig])],WatcherService);function _ts_decorate34(_0x54d90e,_0x2b537f,_0x5967fb,_0xa02722){const _0x599dc9=_0x2d7e8f;var _0x5a71d6=arguments[_0x599dc9(0x223)],_0x47db22=_0x5a71d6<0x3?_0x2b537f:_0xa02722===null?_0xa02722=Object['getOwnPropertyDescriptor'](_0x2b537f,_0x5967fb):_0xa02722,_0x13fe75;if(typeof Reflect===_0x599dc9(0x267)&&typeof Reflect[_0x599dc9(0x167)]==='function')_0x47db22=Reflect['decorate'](_0x54d90e,_0x2b537f,_0x5967fb,_0xa02722);else{for(var _0x2bebd9=_0x54d90e['length']-0x1;_0x2bebd9>=0x0;_0x2bebd9--)if(_0x13fe75=_0x54d90e[_0x2bebd9])_0x47db22=(_0x5a71d6<0x3?_0x13fe75(_0x47db22):_0x5a71d6>0x3?_0x13fe75(_0x2b537f,_0x5967fb,_0x47db22):_0x13fe75(_0x2b537f,_0x5967fb))||_0x47db22;}return _0x5a71d6>0x3&&_0x47db22&&Object['defineProperty'](_0x2b537f,_0x5967fb,_0x47db22),_0x47db22;}__name(_ts_decorate34,_0x2d7e8f(0x140));var WatcherModule=class{static{__name(this,_0x2d7e8f(0x19b));}};WatcherModule=_ts_decorate34([_0x13a76d({'imports':[RunsModule],'providers':[{'provide':IWATCHER,'useClass':WatcherService},{'provide':IJSONL_TAILER,'useClass':JsonlTailerService},{'provide':IHEARTBEAT_MONITOR,'useClass':HeartbeatMonitorService}],'exports':[IWATCHER,IJSONL_TAILER,IHEARTBEAT_MONITOR]})],WatcherModule);import{Module as _0x41f98f}from'@nestjs/common';import{Inject as _0x3c677b}from'@nestjs/common';import{ConnectedSocket,MessageBody,SubscribeMessage,WebSocketGateway}from'@nestjs/websockets';import{TERMINAL_WS_EVENT as _0x1754d0}from'@unotest/protocol';import{Inject as _0x2ba646,Injectable as _0x56b950}from'@nestjs/common';import{TERMINAL_WS_EVENT}from'@unotest/protocol';import{spawn as _0x2b02d9}from'node-pty';import{chmodSync,existsSync,statSync}from'fs';import{createRequire}from'module';import{dirname as _0x1b5722,join as _0x5f1512}from'path';function ensurePtyHelperExecutable(){const _0x4e8085={_0xc5f88f:0x201,_0x23b04f:0x201,_0x2acf8b:0x2b1,_0x36b21:0x25d,_0x558acb:0x1cf,_0x367316:0x2be},_0x47de30=_0x2d7e8f;if(process[_0x47de30(_0x4e8085._0xc5f88f)]===_0x47de30(0x250))return;try{const _0x1b48d0=createRequire(import.meta.url),_0x5a68c6=ptyPackageRoot(_0x1b48d0);if(!_0x5a68c6)return;const _0x559143=[_0x5f1512(_0x5a68c6,_0x47de30(0x2a2),process[_0x47de30(_0x4e8085._0x23b04f)]+'-'+process[_0x47de30(0x2e6)],_0x47de30(_0x4e8085._0x2acf8b)),_0x5f1512(_0x5a68c6,_0x47de30(_0x4e8085._0x36b21),_0x47de30(_0x4e8085._0x558acb),_0x47de30(0x2b1))];for(const _0x4349f5 of _0x559143){if(!existsSync(_0x4349f5))continue;const _0x2cfe72=statSync(_0x4349f5)[_0x47de30(_0x4e8085._0x367316)];if((_0x2cfe72&0x49)===0x0)chmodSync(_0x4349f5,_0x2cfe72|0x49);}}catch{}}__name(ensurePtyHelperExecutable,_0x2d7e8f(0x194));function ptyPackageRoot(_0x2eb6bb){const _0xc16fda={_0x28f79b:0x2a1},_0x3a745f=_0x2d7e8f;try{return _0x1b5722(_0x2eb6bb[_0x3a745f(0x2a1)](_0x3a745f(0x2ab)));}catch{try{let _0x7351e2=_0x1b5722(_0x2eb6bb[_0x3a745f(_0xc16fda._0x28f79b)]('node-pty'));for(let _0x3b50da=0x0;_0x3b50da<0x5;_0x3b50da++){if(existsSync(_0x5f1512(_0x7351e2,_0x3a745f(0x155))))return _0x7351e2;_0x7351e2=_0x1b5722(_0x7351e2);}}catch{}return null;}}__name(ptyPackageRoot,_0x2d7e8f(0x129));function _ts_decorate35(_0x58cb11,_0x2d0e93,_0x3082a7,_0x3c41a3){const _0x442d74={_0x5d48a0:0x267,_0x55306a:0x2cd},_0xfa951f=_0x2d7e8f;var _0x1aee89=arguments['length'],_0x5cdfee=_0x1aee89<0x3?_0x2d0e93:_0x3c41a3===null?_0x3c41a3=Object['getOwnPropertyDescriptor'](_0x2d0e93,_0x3082a7):_0x3c41a3,_0x516102;if(typeof Reflect===_0xfa951f(_0x442d74._0x5d48a0)&&typeof Reflect['decorate']==='function')_0x5cdfee=Reflect[_0xfa951f(0x167)](_0x58cb11,_0x2d0e93,_0x3082a7,_0x3c41a3);else{for(var _0x10048b=_0x58cb11[_0xfa951f(0x223)]-0x1;_0x10048b>=0x0;_0x10048b--)if(_0x516102=_0x58cb11[_0x10048b])_0x5cdfee=(_0x1aee89<0x3?_0x516102(_0x5cdfee):_0x1aee89>0x3?_0x516102(_0x2d0e93,_0x3082a7,_0x5cdfee):_0x516102(_0x2d0e93,_0x3082a7))||_0x5cdfee;}return _0x1aee89>0x3&&_0x5cdfee&&Object[_0xfa951f(_0x442d74._0x55306a)](_0x2d0e93,_0x3082a7,_0x5cdfee),_0x5cdfee;}__name(_ts_decorate35,_0x2d7e8f(0x140));function _ts_metadata25(_0x326ea2,_0x47e765){const _0x1ea302={_0x36633c:0x267,_0x1de66b:0x191,_0xa42133:0x191},_0x50c067=_0x2d7e8f;if(typeof Reflect===_0x50c067(_0x1ea302._0x36633c)&&typeof Reflect[_0x50c067(_0x1ea302._0x1de66b)]===_0x50c067(0x22f))return Reflect[_0x50c067(_0x1ea302._0xa42133)](_0x326ea2,_0x47e765);}__name(_ts_metadata25,'_ts_metadata');function _ts_param24(_0xe8e4ee,_0x158441){return function(_0x2ea33a,_0x3737ac){_0x158441(_0x2ea33a,_0x3737ac,_0xe8e4ee);};}__name(_ts_param24,_0x2d7e8f(0x1ed));var WS_OPEN=0x1,TerminalSessionsService=class{static{__name(this,'TerminalSessionsService');}[_0x2d7e8f(0x2cf)];[_0x2d7e8f(0x2a0)]=new Map();constructor(_0xdfc56b){const _0x152a95={_0x1d826d:0x2cf},_0x44b547=_0x2d7e8f;this[_0x44b547(_0x152a95._0x1d826d)]=_0xdfc56b,ensurePtyHelperExecutable();}['handle'](_0x4f520e,_0xd18e91){const _0x223aa9={_0x5082a1:0x227,_0x1999c0:0x2e7,_0x49fcd4:0x1ea,_0x443116:0x23b},_0x288b80=_0x2d7e8f;switch(_0xd18e91[_0x288b80(0x243)]){case _0x288b80(0x227):this[_0x288b80(_0x223aa9._0x5082a1)](_0x4f520e,_0xd18e91['id'],_0xd18e91[_0x288b80(0x1c9)],_0xd18e91[_0x288b80(0x271)],_0xd18e91[_0x288b80(0x285)]);return;case _0x288b80(0x1ea):this[_0x288b80(_0x223aa9._0x1999c0)](_0x4f520e)['get'](_0xd18e91['id'])?.[_0x288b80(0x19e)](_0xd18e91[_0x288b80(_0x223aa9._0x49fcd4)]);return;case'resize':{const _0x5a4c9d=this[_0x288b80(0x2e7)](_0x4f520e)['get'](_0xd18e91['id']);if(_0x5a4c9d)try{_0x5a4c9d[_0x288b80(_0x223aa9._0x443116)](_0xd18e91['cols'],_0xd18e91[_0x288b80(0x285)]);}catch{}return;}case _0x288b80(0x207):this['kill'](_0x4f520e,_0xd18e91['id']);return;}}['disposeClient'](_0x4b333f){const _0x222639={_0x1ea7fb:0x2f5,_0x36d164:0x204},_0x2e046e=_0x2d7e8f,_0x28ad82=this[_0x2e046e(0x2a0)]['get'](_0x4b333f);if(!_0x28ad82)return;for(const _0x303fe7 of _0x28ad82[_0x2e046e(_0x222639._0x1ea7fb)]()){try{_0x303fe7[_0x2e046e(0x158)]();}catch{}}this['bySocket'][_0x2e046e(_0x222639._0x36d164)](_0x4b333f);}[_0x2d7e8f(0x227)](_0x2ee4db,_0x137433,_0x5a7aef,_0x7be889,_0x1464f7){const _0x24dffb={_0x9757c9:0x212,_0x225d35:0x2c3,_0x5dd1ff:0x144,_0xb0a533:0x2e7},_0x50cc5b={_0x5ec503:0x2e7,_0x866d2f:0x204,_0x5010be:0x2b6},_0x30faa6=_0x2d7e8f,{file:_0x1c7b33,args:_0x54347b}=resolveCommand(_0x5a7aef);let _0x198c97;try{_0x198c97=_0x2b02d9(_0x1c7b33,_0x54347b,{'name':_0x30faa6(_0x24dffb._0x9757c9),'cols':clampDim(_0x7be889,0x50),'rows':clampDim(_0x1464f7,0x18),'cwd':this[_0x30faa6(0x2cf)][_0x30faa6(0x29f)],'env':process['env']});}catch(_0x20f5c6){this[_0x30faa6(0x2e4)](_0x2ee4db,{'type':_0x30faa6(_0x24dffb._0x225d35),'id':_0x137433,'message':_0x5a7aef==='local'?_0x30faa6(_0x24dffb._0x5dd1ff)+_0x1c7b33+_0x30faa6(0x117)+errMessage(_0x20f5c6):'\x27'+_0x1c7b33+_0x30faa6(0x198)}),this[_0x30faa6(0x2e4)](_0x2ee4db,{'type':_0x30faa6(0x2b6),'id':_0x137433,'exitCode':0x1});return;}this[_0x30faa6(_0x24dffb._0xb0a533)](_0x2ee4db)[_0x30faa6(0x280)](_0x137433,_0x198c97),_0x198c97[_0x30faa6(0x2d7)](_0x3d8edb=>this[_0x30faa6(0x2e4)](_0x2ee4db,{'type':'output','id':_0x137433,'data':_0x3d8edb})),_0x198c97['onExit'](({exitCode:_0x549128})=>{const _0x50d7b7=_0x30faa6;this[_0x50d7b7(_0x50cc5b._0x5ec503)](_0x2ee4db)[_0x50d7b7(_0x50cc5b._0x866d2f)](_0x137433),this['send'](_0x2ee4db,{'type':_0x50d7b7(_0x50cc5b._0x5010be),'id':_0x137433,'exitCode':_0x549128});});}['kill'](_0xb158be,_0x1c976a){const _0x3981fb={_0x4d8755:0x2a0,_0x4c05c9:0x204,_0x1de02b:0x158},_0x14fae8=_0x2d7e8f,_0x14d99e=this[_0x14fae8(_0x3981fb._0x4d8755)][_0x14fae8(0x1a6)](_0xb158be),_0x1e81a9=_0x14d99e?.[_0x14fae8(0x1a6)](_0x1c976a);if(!_0x1e81a9)return;_0x14d99e[_0x14fae8(_0x3981fb._0x4c05c9)](_0x1c976a);try{_0x1e81a9[_0x14fae8(_0x3981fb._0x1de02b)]();}catch{}}['sessionsFor'](_0x2bbe2b){const _0x406e95={_0x1d3796:0x2a0,_0x39a06d:0x1a6},_0x5b7704=_0x2d7e8f;let _0x5023a=this[_0x5b7704(_0x406e95._0x1d3796)][_0x5b7704(_0x406e95._0x39a06d)](_0x2bbe2b);return!_0x5023a&&(_0x5023a=new Map(),this[_0x5b7704(0x2a0)]['set'](_0x2bbe2b,_0x5023a)),_0x5023a;}[_0x2d7e8f(0x2e4)](_0x5df804,_0x3ca106){const _0x3cbeef={_0x49c600:0x209},_0x44a2f7=_0x2d7e8f;if(_0x5df804[_0x44a2f7(0x209)]!==void 0x0&&_0x5df804[_0x44a2f7(_0x3cbeef._0x49c600)]!==WS_OPEN)return;try{_0x5df804[_0x44a2f7(0x2e4)](JSON['stringify']({'event':TERMINAL_WS_EVENT,'data':_0x3ca106}));}catch{}}};TerminalSessionsService=_ts_decorate35([_0x56b950(),_ts_param24(0x0,_0x2ba646(VIEWER_CONFIG)),_ts_metadata25(_0x2d7e8f(0x2d1),Function),_ts_metadata25(_0x2d7e8f(0x1bd),[typeof ViewerConfig===_0x2d7e8f(0x2e3)?Object:ViewerConfig])],TerminalSessionsService);function resolveCommand(_0x10a2fa){const _0x2fc1d0={_0x1ffabf:0x114,_0x2dbf58:0x27c,_0x108112:0x1b7,_0x17737d:0x250,_0x2c8955:0x21e},_0x16ff0d=_0x2d7e8f;switch(_0x10a2fa){case _0x16ff0d(_0x2fc1d0._0x1ffabf):return{'file':_0x16ff0d(0x114),'args':[]};case'codex':return{'file':_0x16ff0d(_0x2fc1d0._0x2dbf58),'args':[]};case'local':return{'file':process[_0x16ff0d(0x156)][_0x16ff0d(_0x2fc1d0._0x108112)]??(process[_0x16ff0d(0x201)]===_0x16ff0d(_0x2fc1d0._0x17737d)?_0x16ff0d(0x2d0):_0x16ff0d(_0x2fc1d0._0x2c8955)),'args':[]};}}__name(resolveCommand,_0x2d7e8f(0x20b));function clampDim(_0x26f177,_0x5e0496){const _0x3e2b8b={_0x246a9b:0x258,_0x2a659e:0x16f},_0x317228=_0x2d7e8f;return Number[_0x317228(_0x3e2b8b._0x246a9b)](_0x26f177)&&_0x26f177>0x0?Math[_0x317228(_0x3e2b8b._0x2a659e)](_0x26f177):_0x5e0496;}__name(clampDim,'clampDim');function errMessage(_0x41e115){return _0x41e115 instanceof Error?_0x41e115['message']:String(_0x41e115);}__name(errMessage,_0x2d7e8f(0x1a7));function _ts_decorate36(_0x5c3d33,_0xef95ae,_0x3569d6,_0x51f889){const _0x5bf5ac={_0x4170fb:0x111,_0xa23724:0x223},_0x46bb29=_0x2d7e8f;var _0x4dbbac=arguments['length'],_0x18f3e7=_0x4dbbac<0x3?_0xef95ae:_0x51f889===null?_0x51f889=Object[_0x46bb29(_0x5bf5ac._0x4170fb)](_0xef95ae,_0x3569d6):_0x51f889,_0x18e5d3;if(typeof Reflect==='object'&&typeof Reflect['decorate']===_0x46bb29(0x22f))_0x18f3e7=Reflect['decorate'](_0x5c3d33,_0xef95ae,_0x3569d6,_0x51f889);else{for(var _0x4d212a=_0x5c3d33[_0x46bb29(_0x5bf5ac._0xa23724)]-0x1;_0x4d212a>=0x0;_0x4d212a--)if(_0x18e5d3=_0x5c3d33[_0x4d212a])_0x18f3e7=(_0x4dbbac<0x3?_0x18e5d3(_0x18f3e7):_0x4dbbac>0x3?_0x18e5d3(_0xef95ae,_0x3569d6,_0x18f3e7):_0x18e5d3(_0xef95ae,_0x3569d6))||_0x18f3e7;}return _0x4dbbac>0x3&&_0x18f3e7&&Object[_0x46bb29(0x2cd)](_0xef95ae,_0x3569d6,_0x18f3e7),_0x18f3e7;}__name(_ts_decorate36,_0x2d7e8f(0x140));function _ts_metadata26(_0x250ec4,_0x4203ac){const _0xf2a60a=_0x2d7e8f;if(typeof Reflect==='object'&&typeof Reflect[_0xf2a60a(0x191)]==='function')return Reflect[_0xf2a60a(0x191)](_0x250ec4,_0x4203ac);}__name(_ts_metadata26,_0x2d7e8f(0x26b));function _ts_param25(_0x3c9891,_0x3bebd3){return function(_0x510c3d,_0x4e7931){_0x3bebd3(_0x510c3d,_0x4e7931,_0x3c9891);};}__name(_ts_param25,_0x2d7e8f(0x1ed));var TerminalGateway=class{static{__name(this,'TerminalGateway');}[_0x2d7e8f(0x15d)];constructor(_0xd5a90){const _0xe0df3d={_0x13f3b3:0x15d},_0x560acc=_0x2d7e8f;this[_0x560acc(_0xe0df3d._0x13f3b3)]=_0xd5a90;}[_0x2d7e8f(0x292)](_0x9c7923,_0x1e5efb){const _0x36c199={_0x4f8222:0x15d},_0x5764b=_0x2d7e8f;this[_0x5764b(_0x36c199._0x4f8222)][_0x5764b(0x1d6)](_0x9c7923,_0x1e5efb);}[_0x2d7e8f(0x14b)](_0x5bcc1c){const _0x166fea=_0x2d7e8f;this['sessions'][_0x166fea(0x2c5)](_0x5bcc1c);}};_ts_decorate36([SubscribeMessage(_0x1754d0),_ts_param25(0x0,ConnectedSocket()),_ts_param25(0x1,MessageBody()),_ts_metadata26(_0x2d7e8f(0x2d1),Function),_ts_metadata26(_0x2d7e8f(0x1bd),[typeof TerminalSocket===_0x2d7e8f(0x2e3)?Object:TerminalSocket,typeof TerminalClientMessage===_0x2d7e8f(0x2e3)?Object:TerminalClientMessage]),_ts_metadata26(_0x2d7e8f(0x133),void 0x0)],TerminalGateway[_0x2d7e8f(0x193)],_0x2d7e8f(0x292),null),TerminalGateway=_ts_decorate36([WebSocketGateway({'path':_0x2d7e8f(0x110),'cors':![]}),_ts_param25(0x0,_0x3c677b(TerminalSessionsService)),_ts_metadata26('design:type',Function),_ts_metadata26('design:paramtypes',[typeof TerminalSessionsService===_0x2d7e8f(0x2e3)?Object:TerminalSessionsService])],TerminalGateway);function _ts_decorate37(_0x3a5b6f,_0x5296a6,_0x3c1aeb,_0x2ee4c6){const _0x513134={_0xb49c5:0x111,_0x29fb6d:0x167,_0x49ada8:0x223},_0x741e83=_0x2d7e8f;var _0x17fb3f=arguments['length'],_0x5bf994=_0x17fb3f<0x3?_0x5296a6:_0x2ee4c6===null?_0x2ee4c6=Object[_0x741e83(_0x513134._0xb49c5)](_0x5296a6,_0x3c1aeb):_0x2ee4c6,_0xb9f50c;if(typeof Reflect==='object'&&typeof Reflect['decorate']==='function')_0x5bf994=Reflect[_0x741e83(_0x513134._0x29fb6d)](_0x3a5b6f,_0x5296a6,_0x3c1aeb,_0x2ee4c6);else{for(var _0x4c7f54=_0x3a5b6f[_0x741e83(_0x513134._0x49ada8)]-0x1;_0x4c7f54>=0x0;_0x4c7f54--)if(_0xb9f50c=_0x3a5b6f[_0x4c7f54])_0x5bf994=(_0x17fb3f<0x3?_0xb9f50c(_0x5bf994):_0x17fb3f>0x3?_0xb9f50c(_0x5296a6,_0x3c1aeb,_0x5bf994):_0xb9f50c(_0x5296a6,_0x3c1aeb))||_0x5bf994;}return _0x17fb3f>0x3&&_0x5bf994&&Object['defineProperty'](_0x5296a6,_0x3c1aeb,_0x5bf994),_0x5bf994;}__name(_ts_decorate37,_0x2d7e8f(0x140));var TerminalModule=class{static{__name(this,_0x2d7e8f(0x23c));}};TerminalModule=_ts_decorate37([_0x41f98f({'providers':[TerminalGateway,TerminalSessionsService]})],TerminalModule);import{Module as _0x520fdc}from'@nestjs/common';var IBROADCASTER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x2dc)),IWS_SENDER=Symbol[_0x2d7e8f(0x12e)](_0x2d7e8f(0x15c));import{Inject as _0x94d5d4,Injectable as _0x4d5767}from'@nestjs/common';function _ts_decorate38(_0x2a488a,_0x1f32b7,_0x35a882,_0x1fef5b){const _0x3db7a8={_0x1235c2:0x223,_0x22210f:0x167},_0x350b94=_0x2d7e8f;var _0x56ea1a=arguments[_0x350b94(_0x3db7a8._0x1235c2)],_0x4901e9=_0x56ea1a<0x3?_0x1f32b7:_0x1fef5b===null?_0x1fef5b=Object['getOwnPropertyDescriptor'](_0x1f32b7,_0x35a882):_0x1fef5b,_0x49ba35;if(typeof Reflect==='object'&&typeof Reflect[_0x350b94(_0x3db7a8._0x22210f)]===_0x350b94(0x22f))_0x4901e9=Reflect[_0x350b94(0x167)](_0x2a488a,_0x1f32b7,_0x35a882,_0x1fef5b);else{for(var _0x3588d9=_0x2a488a['length']-0x1;_0x3588d9>=0x0;_0x3588d9--)if(_0x49ba35=_0x2a488a[_0x3588d9])_0x4901e9=(_0x56ea1a<0x3?_0x49ba35(_0x4901e9):_0x56ea1a>0x3?_0x49ba35(_0x1f32b7,_0x35a882,_0x4901e9):_0x49ba35(_0x1f32b7,_0x35a882))||_0x4901e9;}return _0x56ea1a>0x3&&_0x4901e9&&Object['defineProperty'](_0x1f32b7,_0x35a882,_0x4901e9),_0x4901e9;}__name(_ts_decorate38,_0x2d7e8f(0x140));function _ts_metadata27(_0x43acf6,_0x51221d){const _0xb40c56={_0x497939:0x22f},_0x1c8855=_0x2d7e8f;if(typeof Reflect===_0x1c8855(0x267)&&typeof Reflect['metadata']===_0x1c8855(_0xb40c56._0x497939))return Reflect['metadata'](_0x43acf6,_0x51221d);}__name(_ts_metadata27,_0x2d7e8f(0x26b));function _ts_param26(_0x199165,_0x3be321){return function(_0x2fe953,_0x196606){_0x3be321(_0x2fe953,_0x196606,_0x199165);};}__name(_ts_param26,_0x2d7e8f(0x1ed));var BroadcasterService=class{static{__name(this,_0x2d7e8f(0x253));}[_0x2d7e8f(0x2e0)];['tailer'];[_0x2d7e8f(0x229)];[_0x2d7e8f(0x296)];[_0x2d7e8f(0x1ad)];[_0x2d7e8f(0x25a)];['subs']=[];['started']=![];constructor(_0x578b93,_0x438b20,_0x2b1b8b,_0x1d5fe4,_0x16fd70,_0x149dfb){const _0x374bde={_0x3bf597:0x2e0,_0x301737:0x126,_0x183f01:0x296},_0x361bd5=_0x2d7e8f;this[_0x361bd5(_0x374bde._0x3bf597)]=_0x578b93,this[_0x361bd5(_0x374bde._0x301737)]=_0x438b20,this['logCapture']=_0x2b1b8b,this[_0x361bd5(_0x374bde._0x183f01)]=_0x1d5fe4,this[_0x361bd5(0x1ad)]=_0x16fd70,this['runner']=_0x149dfb;}async[_0x2d7e8f(0x13a)](){const _0x273c3c=_0x2d7e8f;await this[_0x273c3c(0x295)]();}async[_0x2d7e8f(0x24b)](){const _0x29edce=_0x2d7e8f;await this[_0x29edce(0x1ef)]();}async[_0x2d7e8f(0x295)](){const _0x25ea41={_0x239b78:0x15f,_0x263f83:0x2e0,_0x547b87:0x1e8,_0x15da24:0x1c2,_0x572835:0x168,_0x2d5b49:0x1ad,_0x12115b:0x25a},_0x267c29={_0x47bd4:0x296,_0x1350c1:0x2e4,_0x220963:0x239},_0x1f7987={_0x1e9a28:0x173,_0xcfa11c:0x296,_0x3450ce:0x2e4,_0x48e3b9:0x13e,_0x2130d3:0x296,_0xf9616c:0x293,_0x762a12:0x296,_0x270f67:0x177},_0x252158={_0x315d88:0x14a,_0x28496b:0x2e4},_0x125c8f={_0x1d2bb2:0x296,_0x3ca734:0x210,_0x96ee6b:0x230},_0x4b3d77={_0x1cd1ff:0x1ad,_0x1b9644:0x2e4,_0x372b2f:0x296,_0x14f71b:0x1c9,_0x4094ec:0x1da,_0x1723d5:0x210},_0x42be97={_0x2118d1:0x296,_0x1fd623:0x166},_0x5e1519=_0x2d7e8f;if(this[_0x5e1519(_0x25ea41._0x239b78)])return;this['started']=!![],await this[_0x5e1519(0x2e0)]['start'](),this[_0x5e1519(0x132)][_0x5e1519(0x1c2)](this[_0x5e1519(_0x25ea41._0x263f83)][_0x5e1519(_0x25ea41._0x547b87)][_0x5e1519(0x168)](_0x5291bb=>{const _0x5c987a=_0x5e1519;_0x5291bb['kind']==='run-dir-added'&&this[_0x5c987a(_0x42be97._0x2118d1)]['send']({'kind':_0x5c987a(_0x42be97._0x1fd623),'runId':_0x5291bb[_0x5c987a(0x216)],'scenario':''});})),this[_0x5e1519(0x132)][_0x5e1519(_0x25ea41._0x15da24)](this['tailer']['events$'][_0x5e1519(_0x25ea41._0x572835)](({runId:_0x341214,event:_0x1ebfb9})=>{const _0x2e6674=_0x5e1519;if(isCollectionRunEvent(_0x1ebfb9)){this[_0x2e6674(0x296)][_0x2e6674(0x2e4)]({'kind':_0x2e6674(0x265),'runId':_0x341214,'event':_0x1ebfb9});_0x1ebfb9[_0x2e6674(0x1c9)]===_0x2e6674(0x299)&&(this[_0x2e6674(_0x4b3d77._0x1cd1ff)][_0x2e6674(0x15e)](_0x341214),this[_0x2e6674(0x296)][_0x2e6674(_0x4b3d77._0x1b9644)]({'kind':'fs:run-finished','runId':_0x341214,'outcome':_0x1ebfb9[_0x2e6674(0x1c0)]}));return;}this[_0x2e6674(_0x4b3d77._0x372b2f)][_0x2e6674(0x2e4)]({'kind':_0x2e6674(0x2c8),'runId':_0x341214,'event':_0x1ebfb9}),_0x1ebfb9[_0x2e6674(_0x4b3d77._0x14f71b)]===_0x2e6674(_0x4b3d77._0x4094ec)&&(this[_0x2e6674(0x1ad)][_0x2e6674(0x15e)](_0x341214),this[_0x2e6674(0x296)][_0x2e6674(0x2e4)]({'kind':_0x2e6674(_0x4b3d77._0x1723d5),'runId':_0x341214,'outcome':_0x1ebfb9[_0x2e6674(0x1c0)]}));})),this['subs']['push'](this[_0x5e1519(_0x25ea41._0x2d5b49)][_0x5e1519(0x12d)][_0x5e1519(_0x25ea41._0x572835)](_0x3ef49e=>{const _0x2d6064=_0x5e1519;this[_0x2d6064(_0x125c8f._0x1d2bb2)][_0x2d6064(0x2e4)]({'kind':_0x2d6064(_0x125c8f._0x3ca734),'runId':_0x3ef49e,'outcome':_0x2d6064(_0x125c8f._0x96ee6b)});})),this['subs']['push'](this[_0x5e1519(_0x25ea41._0x12115b)][_0x5e1519(0x19c)]['subscribe'](({runId:_0x3ad74c,reason:_0x175d9c})=>{const _0x224d6b=_0x5e1519;this[_0x224d6b(0x296)]['send']({'kind':_0x224d6b(0x210),'runId':_0x3ad74c,'outcome':_0x224d6b(_0x252158._0x315d88)}),this[_0x224d6b(0x296)][_0x224d6b(_0x252158._0x28496b)]({'kind':_0x224d6b(0x2c3),'message':_0x175d9c});})),this[_0x5e1519(0x132)][_0x5e1519(0x1c2)](this['watcher']['e2eEvents$'][_0x5e1519(0x168)](_0x41c377=>{const _0x3051f9=_0x5e1519;switch(_0x41c377['kind']){case _0x3051f9(_0x1f7987._0x1e9a28):this[_0x3051f9(_0x1f7987._0xcfa11c)][_0x3051f9(_0x1f7987._0x3450ce)]({'kind':_0x3051f9(_0x1f7987._0x48e3b9)});break;case'helpers-changed':this[_0x3051f9(_0x1f7987._0x2130d3)][_0x3051f9(_0x1f7987._0x3450ce)]({'kind':_0x3051f9(_0x1f7987._0xf9616c)});break;case'collections-changed':this[_0x3051f9(_0x1f7987._0x762a12)][_0x3051f9(0x2e4)]({'kind':_0x3051f9(_0x1f7987._0x270f67)});break;case _0x3051f9(0x25c):this[_0x3051f9(0x296)][_0x3051f9(_0x1f7987._0x3450ce)]({'kind':_0x3051f9(0x248)});break;}})),this['subs']['push'](this['logCapture'][_0x5e1519(0x175)][_0x5e1519(0x168)](({runId:_0x1a0bb5,stream:_0x220345,line:_0x48b55f})=>{const _0x1eea22=_0x5e1519;this[_0x1eea22(_0x267c29._0x47bd4)][_0x1eea22(_0x267c29._0x1350c1)]({'kind':_0x1eea22(_0x267c29._0x220963),'runId':_0x1a0bb5,'stream':_0x220345,'line':_0x48b55f});}));}async['stop'](){const _0x251750={_0xeb3558:0x225,_0x307bdc:0x2e0},_0x3d8775=_0x2d7e8f;if(!this[_0x3d8775(0x15f)])return;this[_0x3d8775(0x15f)]=![];for(const _0x21096c of this[_0x3d8775(0x132)])_0x21096c[_0x3d8775(_0x251750._0xeb3558)]();this[_0x3d8775(0x132)][_0x3d8775(0x223)]=0x0,await this[_0x3d8775(_0x251750._0x307bdc)][_0x3d8775(0x1ef)]();}};BroadcasterService=_ts_decorate38([_0x4d5767(),_ts_param26(0x0,_0x94d5d4(IWATCHER)),_ts_param26(0x1,_0x94d5d4(IJSONL_TAILER)),_ts_param26(0x2,_0x94d5d4(ILOG_CAPTURE)),_ts_param26(0x3,_0x94d5d4(IWS_SENDER)),_ts_param26(0x4,_0x94d5d4(IHEARTBEAT_MONITOR)),_ts_param26(0x5,_0x94d5d4(IRUNNER)),_ts_metadata27(_0x2d7e8f(0x2d1),Function),_ts_metadata27(_0x2d7e8f(0x1bd),[typeof IWatcher==='undefined'?Object:IWatcher,typeof IJsonlTailer==='undefined'?Object:IJsonlTailer,typeof ILogCapture===_0x2d7e8f(0x2e3)?Object:ILogCapture,typeof IWsSender===_0x2d7e8f(0x2e3)?Object:IWsSender,typeof IHeartbeatMonitor===_0x2d7e8f(0x2e3)?Object:IHeartbeatMonitor,typeof IRunner===_0x2d7e8f(0x2e3)?Object:IRunner])],BroadcasterService);function isCollectionRunEvent(_0x462638){const _0x2eddb3={_0xbcaf44:0x1b3},_0x8586a2=_0x2d7e8f;return _0x462638[_0x8586a2(0x1c9)][_0x8586a2(_0x2eddb3._0xbcaf44)]('collection-run:');}__name(isCollectionRunEvent,_0x2d7e8f(0x2ad));import{WebSocketGateway as _0x321dbe,WebSocketServer}from'@nestjs/websockets';function _ts_decorate39(_0xf15f38,_0x54db55,_0x24f0bb,_0x3b082c){const _0x190eaa={_0x271bf3:0x111,_0x24735c:0x167,_0x97016d:0x223},_0xdbec2=_0x2d7e8f;var _0x4ee8ef=arguments[_0xdbec2(0x223)],_0x1741a6=_0x4ee8ef<0x3?_0x54db55:_0x3b082c===null?_0x3b082c=Object[_0xdbec2(_0x190eaa._0x271bf3)](_0x54db55,_0x24f0bb):_0x3b082c,_0xeb957e;if(typeof Reflect===_0xdbec2(0x267)&&typeof Reflect['decorate']==='function')_0x1741a6=Reflect[_0xdbec2(_0x190eaa._0x24735c)](_0xf15f38,_0x54db55,_0x24f0bb,_0x3b082c);else{for(var _0x2695ee=_0xf15f38[_0xdbec2(_0x190eaa._0x97016d)]-0x1;_0x2695ee>=0x0;_0x2695ee--)if(_0xeb957e=_0xf15f38[_0x2695ee])_0x1741a6=(_0x4ee8ef<0x3?_0xeb957e(_0x1741a6):_0x4ee8ef>0x3?_0xeb957e(_0x54db55,_0x24f0bb,_0x1741a6):_0xeb957e(_0x54db55,_0x24f0bb))||_0x1741a6;}return _0x4ee8ef>0x3&&_0x1741a6&&Object['defineProperty'](_0x54db55,_0x24f0bb,_0x1741a6),_0x1741a6;}__name(_ts_decorate39,'_ts_decorate');function _ts_metadata28(_0x30414c,_0x4d66e7){const _0xa4eaf3={_0x2fe678:0x191},_0x557701=_0x2d7e8f;if(typeof Reflect===_0x557701(0x267)&&typeof Reflect['metadata']==='function')return Reflect[_0x557701(_0xa4eaf3._0x2fe678)](_0x30414c,_0x4d66e7);}__name(_ts_metadata28,_0x2d7e8f(0x26b));var ViewerGateway=class{static{__name(this,_0x2d7e8f(0x222));}[_0x2d7e8f(0x2e5)];[_0x2d7e8f(0x2e4)](_0x294c5b){const _0x594686={_0x539451:0x2e5},_0x59cc58=_0x2d7e8f;if(!this['server'])return;const _0x50f54b=JSON[_0x59cc58(0x1f7)](_0x294c5b);if(this[_0x59cc58(_0x594686._0x539451)]['clients'])for(const _0x235d34 of this['server']['clients']){if(_0x235d34['readyState']===0x1)_0x235d34[_0x59cc58(0x2e4)](_0x50f54b);}else this[_0x59cc58(0x2e5)][_0x59cc58(0x1f4)]('message',_0x50f54b);}};_ts_decorate39([WebSocketServer(),_ts_metadata28(_0x2d7e8f(0x2d1),typeof WsServer===_0x2d7e8f(0x2e3)?Object:WsServer)],ViewerGateway['prototype'],_0x2d7e8f(0x2e5),void 0x0),ViewerGateway=_ts_decorate39([_0x321dbe({'path':_0x2d7e8f(0x21f),'cors':![]})],ViewerGateway);function _ts_decorate40(_0x2abe52,_0x491d27,_0x150d2b,_0x4bc237){const _0x4bc349={_0x2ca35b:0x167},_0x283b48=_0x2d7e8f;var _0x1e23de=arguments[_0x283b48(0x223)],_0x5ed424=_0x1e23de<0x3?_0x491d27:_0x4bc237===null?_0x4bc237=Object['getOwnPropertyDescriptor'](_0x491d27,_0x150d2b):_0x4bc237,_0x4c3034;if(typeof Reflect===_0x283b48(0x267)&&typeof Reflect[_0x283b48(_0x4bc349._0x2ca35b)]===_0x283b48(0x22f))_0x5ed424=Reflect['decorate'](_0x2abe52,_0x491d27,_0x150d2b,_0x4bc237);else{for(var _0xc44bf2=_0x2abe52['length']-0x1;_0xc44bf2>=0x0;_0xc44bf2--)if(_0x4c3034=_0x2abe52[_0xc44bf2])_0x5ed424=(_0x1e23de<0x3?_0x4c3034(_0x5ed424):_0x1e23de>0x3?_0x4c3034(_0x491d27,_0x150d2b,_0x5ed424):_0x4c3034(_0x491d27,_0x150d2b))||_0x5ed424;}return _0x1e23de>0x3&&_0x5ed424&&Object[_0x283b48(0x2cd)](_0x491d27,_0x150d2b,_0x5ed424),_0x5ed424;}__name(_ts_decorate40,_0x2d7e8f(0x140));var WsModule=class{static{__name(this,_0x2d7e8f(0x1f9));}};WsModule=_ts_decorate40([_0x520fdc({'imports':[WatcherModule,RunnerModule],'providers':[ViewerGateway,{'provide':IWS_SENDER,'useExisting':ViewerGateway},{'provide':IBROADCASTER,'useClass':BroadcasterService}],'exports':[IBROADCASTER]})],WsModule);function _ts_decorate41(_0x996857,_0x4a75d7,_0x4d485d,_0x5cfc62){const _0x167cb7={_0x41b516:0x167},_0x3f0cf7=_0x2d7e8f;var _0x10e9b3=arguments[_0x3f0cf7(0x223)],_0x2d5727=_0x10e9b3<0x3?_0x4a75d7:_0x5cfc62===null?_0x5cfc62=Object[_0x3f0cf7(0x111)](_0x4a75d7,_0x4d485d):_0x5cfc62,_0x2f41fb;if(typeof Reflect===_0x3f0cf7(0x267)&&typeof Reflect['decorate']===_0x3f0cf7(0x22f))_0x2d5727=Reflect[_0x3f0cf7(_0x167cb7._0x41b516)](_0x996857,_0x4a75d7,_0x4d485d,_0x5cfc62);else{for(var _0x183d20=_0x996857['length']-0x1;_0x183d20>=0x0;_0x183d20--)if(_0x2f41fb=_0x996857[_0x183d20])_0x2d5727=(_0x10e9b3<0x3?_0x2f41fb(_0x2d5727):_0x10e9b3>0x3?_0x2f41fb(_0x4a75d7,_0x4d485d,_0x2d5727):_0x2f41fb(_0x4a75d7,_0x4d485d))||_0x2d5727;}return _0x10e9b3>0x3&&_0x2d5727&&Object['defineProperty'](_0x4a75d7,_0x4d485d,_0x2d5727),_0x2d5727;}__name(_ts_decorate41,_0x2d7e8f(0x140));var ViewerModule=class _ViewerModule{static{__name(this,_0x2d7e8f(0x1df));}static['forRoot'](_0x290ab1){return{'module':_ViewerModule,'imports':[LockModule,FsModule,RunnerModule,HttpModule,WatcherModule,WsModule,TerminalModule],'providers':[{'provide':VIEWER_CONFIG,'useValue':_0x290ab1['config']},{'provide':IRUNNER_ADAPTER,'useValue':_0x290ab1['adapter']}],'exports':[VIEWER_CONFIG,IRUNNER_ADAPTER],'global':!![]};}};ViewerModule=_ts_decorate41([_0x560f3f({})],ViewerModule);async function startViewerServer(_0x3cae28){const _0x2aef81={_0x32a808:0x2d5,_0x4dcb66:0x174,_0x23822d:0x21b,_0x119e81:0x164,_0x9bad5e:0x16b,_0xd9341e:0x249,_0x85bf5e:0x152,_0x1d47c7:0x2df,_0x3acffd:0x19e},_0x3998cf={_0x3d76fa:0x207},_0x1d1288=_0x2d7e8f,_0x43a8a1=await NestFactory[_0x1d1288(_0x2aef81._0x32a808)](ViewerModule[_0x1d1288(0x192)]({'config':{'projectRoot':_0x3cae28[_0x1d1288(0x29f)],'port':_0x3cae28[_0x1d1288(0x152)]??0x0,'host':_0x3cae28['host']??_0x1d1288(_0x2aef81._0x4dcb66)},'adapter':_0x3cae28[_0x1d1288(_0x2aef81._0x23822d)]}),new FastifyAdapter({'logger':![]}),{'logger':[_0x1d1288(0x2c3),'warn','log']});_0x43a8a1[_0x1d1288(_0x2aef81._0x119e81)](new ProjectFsExceptionFilter(),new RunnerExceptionFilter(),new CollectionsExceptionFilter()),_0x43a8a1[_0x1d1288(0x294)](new WsAdapter(_0x43a8a1));const _0x6a4535=resolveWebBundleRoot();if(_0x6a4535)_0x43a8a1[_0x1d1288(_0x2aef81._0x9bad5e)]({'root':_0x6a4535,'prefix':'/'});else{const _0x59fead=_0x43a8a1[_0x1d1288(_0x2aef81._0xd9341e)]()[_0x1d1288(0x170)]();_0x59fead[_0x1d1288(0x1a6)]('/',(_0x4c9146,_0x33636c)=>{const _0x4c55eb=_0x1d1288,_0x24be7c=_0x33636c;return _0x24be7c[_0x4c55eb(0x243)](_0x4c55eb(0x15b)),_0x24be7c['send'](_0x4c55eb(0x276));});}await _0x43a8a1[_0x1d1288(0x1fc)]({'port':_0x3cae28[_0x1d1288(_0x2aef81._0x85bf5e)]??0x0,'host':_0x3cae28[_0x1d1288(_0x2aef81._0x1d47c7)]??_0x1d1288(0x174)});const _0x32dc00=(await _0x43a8a1[_0x1d1288(0x1e1)]())[_0x1d1288(0x1dd)]('[::1]','localhost'),_0x337a73=_0x43a8a1[_0x1d1288(0x1a6)](ILOCK);return await _0x337a73[_0x1d1288(_0x2aef81._0x3acffd)]({'pid':process[_0x1d1288(0x18d)],'url':_0x32dc00,'startedAt':new Date()[_0x1d1288(0x2af)]()}),{'url':_0x32dc00,'stop':__name(async()=>{const _0x45a93b=_0x1d1288;try{await _0x337a73[_0x45a93b(0x2bc)]();}catch{}await _0x43a8a1[_0x45a93b(_0x3998cf._0x3d76fa)]();},'stop')};}__name(startViewerServer,'startViewerServer');function resolveWebBundleRoot(){const _0x424650={_0x13a176:0x2da},_0x2567f7=_0x2d7e8f,_0x13773a=_0x3ee47(fileURLToPath(import.meta.url)),_0x4e39c8=_0x3ee47(_0x13773a)['split'](/[/\\]/)[_0x2567f7(0x1fd)](),_0x230bf4=_0x4e39c8==='dist'?_0x4625dd(_0x13773a,'../web'):_0x4625dd(_0x13773a,_0x2567f7(_0x424650._0x13a176));return _0x34b8e5(_0x230bf4)?_0x230bf4:null;}__name(resolveWebBundleRoot,'resolveWebBundleRoot');if(process['argv'][0x1]&&import.meta.url==='file://'+process[_0x2d7e8f(0x1e9)][0x1]){const projectRoot=process[_0x2d7e8f(0x156)][_0x2d7e8f(0x24f)]??process[_0x2d7e8f(0x2b5)](),portEnv=process[_0x2d7e8f(0x156)][_0x2d7e8f(0x1f1)],port=portEnv!==void 0x0?Number(portEnv):0x0;(!Number['isFinite'](port)||port<0x0)&&(process['stderr'][_0x2d7e8f(0x19e)]('viewer:\x20invalid\x20UNOTEST_VIEWER_PORT='+portEnv+'\x0a'),process[_0x2d7e8f(0x2b6)](0x1));const host=process['env']['UNOTEST_VIEWER_HOST']??_0x2d7e8f(0x174);let adapter;try{const mod=await import('@unotest/web/adapter');adapter=mod['webRunnerAdapter'];}catch(_0x35f938){process[_0x2d7e8f(0x1c4)]['write']('viewer:\x20standalone\x20launch\x20requires\x20@unotest/web\x20installed\x20to\x20provide\x20the\x20runner\x20adapter.\x20Use\x20`npx\x20@unotest/web\x20viewer`\x20instead,\x20or\x20install\x20@unotest/web\x20alongside\x20@unotest/viewer.\x0aOriginal:\x20'+(_0x35f938 instanceof Error?_0x35f938[_0x2d7e8f(0x143)]:String(_0x35f938))+'\x0a'),process[_0x2d7e8f(0x2b6)](0x1);}const handle=await startViewerServer({'projectRoot':projectRoot,'adapter':adapter,'port':port,'host':host});process['stdout'][_0x2d7e8f(0x19e)](_0x2d7e8f(0x1d3)+handle[_0x2d7e8f(0x291)]+_0x2d7e8f(0x20e)+projectRoot+')\x0a');const shutdown=__name(async()=>{const _0x1e1216={_0x5eb094:0x1ef,_0x416d2c:0x2b6},_0x174523=_0x2d7e8f;await handle[_0x174523(_0x1e1216._0x5eb094)](),process[_0x174523(_0x1e1216._0x416d2c)](0x0);},'shutdown');process['on']('SIGINT',shutdown),process['on'](_0x2d7e8f(0x1bc),shutdown);}export{startViewerServer};