@unotest/protocol 0.26.1 → 0.27.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 +52 -0
- package/dist/index.d.ts +135 -6
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.27.0] - 2026-08-31
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Schedule provenance and the push fingerprint. `ScheduleEntry` gains
|
|
8
|
+
optional `source: "config" | "file"`, stamped by `mergeSchedules`
|
|
9
|
+
(so `schedules --json` carries it; neither half ever writes it) —
|
|
10
|
+
what lets a UI showing the merged set tell "edit the file" from
|
|
11
|
+
"edit the config". New `canonicalScheduleSet()` — the canonical text
|
|
12
|
+
a schedules fingerprint hashes: sorted by target, `source`-blind.
|
|
13
|
+
`BundleManifest` gains optional `schedulesFingerprint` (sha256 of the
|
|
14
|
+
effective set at pack time, advisory), and
|
|
15
|
+
`SCHEDULES_FINGERPRINT_ENV` names the env var a box's
|
|
16
|
+
viewer-supervisor hands the deployed viewer next to the bundle id.
|
|
17
|
+
|
|
18
|
+
- `schedule-spec`: the schedule-builder subset of cron is now public —
|
|
19
|
+
`specFromCron` / `cronFromSpec` / `nextTickFromSpec` /
|
|
20
|
+
`formatNextTick` / `describeCron` and friends, pure and
|
|
21
|
+
dependency-free (moved here from the viewer, so the CLI's next-run
|
|
22
|
+
preview and the viewer's popup share one implementation). It is a
|
|
23
|
+
PREVIEW, not an engine: expressions outside the subset map to `null`,
|
|
24
|
+
and the full cron engine still lives only with the executor.
|
|
25
|
+
`IRunnerAdapter` gains optional `schedulesArgs()` — argv that prints
|
|
26
|
+
the project's effective schedule set as JSON (web:
|
|
27
|
+
`["schedules", "--json"]`).
|
|
28
|
+
|
|
29
|
+
- c843d21: Schedules from the viewer — for collections and single tests.
|
|
30
|
+
|
|
31
|
+
Right-click a test or a collection in the viewer → **Schedule…**: a
|
|
32
|
+
human schedule builder (frequency select — every 5/15 min, hourly,
|
|
33
|
+
every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
|
|
34
|
+
hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
|
|
35
|
+
four times a day). Saved to `unotest/schedules.yaml`, versioned next
|
|
36
|
+
to the tests; a box applies it after commit & sync. The Home screen
|
|
37
|
+
gains a `last run | schedule` toggle: in schedule mode tiles are
|
|
38
|
+
tinted by how often a test runs (grey = not scheduled), with an
|
|
39
|
+
upcoming list and per-tile next-run times in your browser's clock.
|
|
40
|
+
|
|
41
|
+
Under the hood:
|
|
42
|
+
|
|
43
|
+
- `unotest/schedules.yaml` is a new schedule registry; `unotest-web
|
|
44
|
+
schedules [--json]` prints it merged with the config's `schedules`
|
|
45
|
+
(the file wins on a duplicate target), so boxes pick both up
|
|
46
|
+
unchanged.
|
|
47
|
+
- A schedule entry may now target a single test: `scenario:
|
|
48
|
+
<ref>` instead of `collection: <name>`.
|
|
49
|
+
- `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
|
|
50
|
+
entry says (env + prepare, exit 94 when prepare fails) — the
|
|
51
|
+
per-test mirror of `collection --scheduled`.
|
|
52
|
+
- Viewer server: `GET/PUT /api/schedules` (validated by the same
|
|
53
|
+
parser the CLI reads the file with).
|
|
54
|
+
|
|
3
55
|
## [0.26.1] - 2026-08-30
|
|
4
56
|
|
|
5
57
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -119,6 +119,11 @@ declare const ENV_FILE = "unotest/.env";
|
|
|
119
119
|
/** Secret scenario variables, beside `.env` under `unotest/`. Same KEY=VALUE
|
|
120
120
|
* format; secrecy is a property of THIS file (not a name heuristic). */
|
|
121
121
|
declare const SECRETS_FILE = "unotest/.secrets";
|
|
122
|
+
/** Schedule registry edited by the viewer (`schedules:` array of
|
|
123
|
+
* `ScheduleEntry`). Relative to project root. Merged with the
|
|
124
|
+
* `schedules` of `unotest.config` by `unotest-web schedules` — this
|
|
125
|
+
* file wins on a duplicate target. */
|
|
126
|
+
declare const SCHEDULES_FILE = "unotest/schedules.yaml";
|
|
122
127
|
/** Env/secrets file naming spans TWO axes (M-11):
|
|
123
128
|
*
|
|
124
129
|
* - TARGET (dash, M-10): `.env` is the shared base AND web's file (bare
|
|
@@ -1123,6 +1128,12 @@ declare const BOX_TOKEN_ENV = "UNOTEST_BOX_TOKEN";
|
|
|
1123
1128
|
* the answer to "which code produced this" after the environment has
|
|
1124
1129
|
* moved on. Never set locally — there is no bundle there. */
|
|
1125
1130
|
declare const BUNDLE_ID_ENV = "UNOTEST_BUNDLE_ID";
|
|
1131
|
+
/** Set by a box's viewer-supervisor next to {@link BUNDLE_ID_ENV}: the
|
|
1132
|
+
* manifest's `schedulesFingerprint`, so the deployed viewer can compare
|
|
1133
|
+
* the set it reads with the set recorded at push and say out loud when
|
|
1134
|
+
* the project's config computed something different in the box's
|
|
1135
|
+
* environment. Never set locally. */
|
|
1136
|
+
declare const SCHEDULES_FINGERPRINT_ENV = "UNOTEST_SCHEDULES_FINGERPRINT";
|
|
1126
1137
|
/** Where the code came from — provenance, never identity. A bundle is
|
|
1127
1138
|
* identified by its CONTENT (see `bundleId`): the sha of a dirty working
|
|
1128
1139
|
* tree is not unique, and two people can push different trees from the
|
|
@@ -1167,6 +1178,13 @@ interface BundleManifest {
|
|
|
1167
1178
|
* here can supply LOGIN" at upload instead of an hour later. Optional:
|
|
1168
1179
|
* a bundle packed by an older CLI carries none. */
|
|
1169
1180
|
declaredVariables?: string[];
|
|
1181
|
+
/** sha256 of `canonicalScheduleSet` over the EFFECTIVE schedules
|
|
1182
|
+
* (`schedules --json`) as the pusher's machine computed them. The
|
|
1183
|
+
* config is user JS: a box re-computes the set in its own
|
|
1184
|
+
* environment, and this is what lets it notice — and say — that it
|
|
1185
|
+
* got a different answer than the person who pushed saw. Advisory
|
|
1186
|
+
* provenance, absent from bundles packed by an older CLI. */
|
|
1187
|
+
schedulesFingerprint?: string;
|
|
1170
1188
|
/** Payload size, excluding this manifest. Diagnostics and limits — a
|
|
1171
1189
|
* box states its cap in these terms. */
|
|
1172
1190
|
fileCount: number;
|
|
@@ -1295,10 +1313,8 @@ interface WorkspaceFile {
|
|
|
1295
1313
|
* viewer: the bundle UI stays hidden rather than half-populated. */
|
|
1296
1314
|
declare function parseWorkspaceFile(value: unknown): WorkspaceFile | null;
|
|
1297
1315
|
|
|
1298
|
-
/**
|
|
1299
|
-
interface
|
|
1300
|
-
/** Collection name — the file stem under `_collections/`. */
|
|
1301
|
-
collection: string;
|
|
1316
|
+
/** Fields every schedule carries, whatever it targets. */
|
|
1317
|
+
interface ScheduleEntryBase {
|
|
1302
1318
|
/** Standard 5-field cron expression, interpreted by whoever executes
|
|
1303
1319
|
* the schedule. Opaque to every public package. */
|
|
1304
1320
|
cron: string;
|
|
@@ -1315,21 +1331,126 @@ interface ScheduleEntry {
|
|
|
1315
1331
|
* the yaml stays the single authority on parallelism. Carried here so
|
|
1316
1332
|
* an executor can weigh the run's queue ticket (a suite costs its
|
|
1317
1333
|
* worker count in a host-wide pool) without parsing yaml itself.
|
|
1318
|
-
* Absent when the manifest declares none, or does not exist
|
|
1334
|
+
* Absent when the manifest declares none, or does not exist — and
|
|
1335
|
+
* always absent on a scenario entry (one test weighs 1). */
|
|
1319
1336
|
workers?: number;
|
|
1337
|
+
/** Where the entry was declared — stamped by {@link mergeSchedules},
|
|
1338
|
+
* so it appears in `schedules --json` and nowhere else: neither half
|
|
1339
|
+
* ever WRITES it (the yaml stays clean, the config schema does not
|
|
1340
|
+
* know it). It is what lets a UI showing the merged set tell "edit
|
|
1341
|
+
* this in the file" from "this is the config's, go edit the config".
|
|
1342
|
+
* Provenance, never identity: {@link canonicalScheduleSet} drops it. */
|
|
1343
|
+
source?: "config" | "file";
|
|
1344
|
+
}
|
|
1345
|
+
/** One scheduled run of one collection. */
|
|
1346
|
+
interface CollectionScheduleEntry extends ScheduleEntryBase {
|
|
1347
|
+
/** Collection name — the file stem under `_collections/`. */
|
|
1348
|
+
collection: string;
|
|
1349
|
+
scenario?: never;
|
|
1350
|
+
}
|
|
1351
|
+
/** One scheduled run of one scenario — a schedule set on a single test.
|
|
1352
|
+
* Kept as an ALTERNATIVE field rather than a `kind` discriminator so
|
|
1353
|
+
* the wire shape of collection entries never changed: an executor that
|
|
1354
|
+
* predates scenario schedules drops these entries individually (its
|
|
1355
|
+
* `parseScheduleEntry` finds no `collection`) and keeps running the
|
|
1356
|
+
* suites it understands. */
|
|
1357
|
+
interface ScenarioScheduleEntry extends ScheduleEntryBase {
|
|
1358
|
+
/** Scenario name — the file stem relative to the test dir. */
|
|
1359
|
+
scenario: string;
|
|
1360
|
+
collection?: never;
|
|
1320
1361
|
}
|
|
1362
|
+
type ScheduleEntry = CollectionScheduleEntry | ScenarioScheduleEntry;
|
|
1363
|
+
/** The entry's target as one value — for keying (one schedule per
|
|
1364
|
+
* target), log lines and metric series. */
|
|
1365
|
+
declare function scheduleTarget(e: ScheduleEntry): {
|
|
1366
|
+
kind: "collection" | "scenario";
|
|
1367
|
+
name: string;
|
|
1368
|
+
};
|
|
1321
1369
|
/** Structural validation of one entry read from JSON. Null for anything
|
|
1322
1370
|
* we cannot trust — a consumer skips it rather than scheduling a run it
|
|
1323
1371
|
* does not understand. A malformed `workers` is dropped alone (the
|
|
1324
1372
|
* engine's weight then defaults to 1) — losing a weight is recoverable,
|
|
1325
1373
|
* losing a schedule is a suite that silently stops running. */
|
|
1326
1374
|
declare function parseScheduleEntry(value: unknown): ScheduleEntry | null;
|
|
1375
|
+
/** Parsed `unotest/schedules.yaml` (see `SCHEDULES_FILE`) — the
|
|
1376
|
+
* viewer-managed registry. Takes the ALREADY-parsed yaml value: this
|
|
1377
|
+
* package stays runtime-dep-free, the caller owns the yaml library.
|
|
1378
|
+
*
|
|
1379
|
+
* Strict where the box payload is lenient: this file is written by the
|
|
1380
|
+
* viewer and edited by humans, and silently dropping an entry here
|
|
1381
|
+
* would un-schedule a suite with nobody told. Any problem names the
|
|
1382
|
+
* entry and fails the whole read. */
|
|
1383
|
+
declare function parseSchedulesDoc(value: unknown): {
|
|
1384
|
+
entries: ScheduleEntry[];
|
|
1385
|
+
} | {
|
|
1386
|
+
error: string;
|
|
1387
|
+
};
|
|
1388
|
+
/** Config `schedules` + the viewer's file, as ONE list — the shape both
|
|
1389
|
+
* `schedules --json` prints and `--scheduled=<index>` indexes into, so
|
|
1390
|
+
* it must be computed in exactly one way. The file wins on a duplicate
|
|
1391
|
+
* target; config entries keep their relative order, file entries
|
|
1392
|
+
* follow. Each entry is stamped with its `source` here — the single
|
|
1393
|
+
* point that knows which half an entry came from. */
|
|
1394
|
+
declare function mergeSchedules(config: readonly ScheduleEntry[], file: readonly ScheduleEntry[]): ScheduleEntry[];
|
|
1395
|
+
/** Canonical text of an effective schedule set — what the bundle
|
|
1396
|
+
* fingerprint hashes (`computeSchedulesFingerprint` in
|
|
1397
|
+
* `@unotest/core`). Two sides compute it independently — the pusher's
|
|
1398
|
+
* machine at pack time, the box after unpacking — and a difference
|
|
1399
|
+
* means the project's config computed something else in the box's
|
|
1400
|
+
* environment, so the canon must depend on nothing but the entries:
|
|
1401
|
+
* sorted by target (declaration order is presentation), `source`
|
|
1402
|
+
* dropped (provenance, not identity), fields serialised in one fixed
|
|
1403
|
+
* order. Byte-order comparison, not locale collation. */
|
|
1404
|
+
declare function canonicalScheduleSet(entries: readonly ScheduleEntry[]): string;
|
|
1327
1405
|
/** Parse the whole `schedules --json` payload. Null when the text is not
|
|
1328
1406
|
* a JSON array — the caller reports "could not read the schedules"
|
|
1329
1407
|
* rather than silently running nothing. Entries that fail validation
|
|
1330
1408
|
* are dropped individually and counted by the caller. */
|
|
1331
1409
|
declare function parseSchedulesJson(text: string): ScheduleEntry[] | null;
|
|
1332
1410
|
|
|
1411
|
+
/** What the frequency select offers. `off` (no schedule) is popup
|
|
1412
|
+
* state, not a spec — a spec always runs. */
|
|
1413
|
+
type ScheduleFreq = "m5" | "m15" | "h1" | "h2" | "h4" | "h6" | "h12" | "daily" | "weekly";
|
|
1414
|
+
interface ScheduleSpec {
|
|
1415
|
+
freq: ScheduleFreq;
|
|
1416
|
+
/** Minutes-of-hour badges, 0–55 step 5. Ignored by m5/m15. */
|
|
1417
|
+
minutes: number[];
|
|
1418
|
+
/** Hours-of-day badges, 0–23. Only daily/weekly. */
|
|
1419
|
+
hours: number[];
|
|
1420
|
+
/** Cron day-of-week numbers (0 = Sun). Only weekly. */
|
|
1421
|
+
days: number[];
|
|
1422
|
+
}
|
|
1423
|
+
/** Which pickers a frequency shows. One table, used by the popup for
|
|
1424
|
+
* rendering and by the builder for which fields matter. */
|
|
1425
|
+
declare const FREQ_FIELDS: Record<ScheduleFreq, {
|
|
1426
|
+
minutes: boolean;
|
|
1427
|
+
hours: boolean;
|
|
1428
|
+
days: boolean;
|
|
1429
|
+
}>;
|
|
1430
|
+
declare function cronFromSpec(s: ScheduleSpec): string;
|
|
1431
|
+
/** Inverse of {@link cronFromSpec} — null for any expression the popup
|
|
1432
|
+
* could not have generated. */
|
|
1433
|
+
declare function specFromCron(cron: string): ScheduleSpec | null;
|
|
1434
|
+
/** Human line for a cron the viewer shows anywhere outside the popup —
|
|
1435
|
+
* tree tooltips, menu labels, hover cards. Raw string when the
|
|
1436
|
+
* expression is not one of ours. */
|
|
1437
|
+
declare function describeCron(cron: string): string;
|
|
1438
|
+
declare function describeSpec(s: ScheduleSpec): string;
|
|
1439
|
+
/** Epoch ms of the first run strictly after `afterMs`, in the CALLER's
|
|
1440
|
+
* timezone (declared next to every rendering as "your clock" — a box
|
|
1441
|
+
* usually ticks in UTC). Minute-walk on purpose: a weekly spec matches
|
|
1442
|
+
* within 8 days, ~11k cheap iterations worst case, and there is no
|
|
1443
|
+
* cron-engine arithmetic to get subtly wrong. Only for specs the
|
|
1444
|
+
* builder can express — a custom cron has no next tick here. */
|
|
1445
|
+
declare function nextTickFromSpec(s: ScheduleSpec, afterMs: number): number;
|
|
1446
|
+
/** `today 14:05` / `tomorrow 03:00` / `Mon 03:00` — enough precision
|
|
1447
|
+
* for a dashboard, no relative-time maths to go stale on screen. */
|
|
1448
|
+
declare function formatNextTick(tickMs: number, nowMs: number): string;
|
|
1449
|
+
/** Chip labels, cron order Sun=0 — the popup renders Mon-first via
|
|
1450
|
+
* {@link WEEK_CHIP_ORDER}. */
|
|
1451
|
+
declare const DAY_SHORT: readonly string[];
|
|
1452
|
+
declare const WEEK_CHIP_ORDER: readonly number[];
|
|
1453
|
+
|
|
1333
1454
|
/** Blob root under the runs root. Leading underscore for the same reason
|
|
1334
1455
|
* as `_scenarios`: derived, internal, and can never be mistaken for a
|
|
1335
1456
|
* `YYYY` shard directory. */
|
|
@@ -1512,6 +1633,14 @@ interface IRunnerAdapter {
|
|
|
1512
1633
|
* app-launch capability and the viewer hides the feature for this
|
|
1513
1634
|
* target. Example: `["app-server"]`. */
|
|
1514
1635
|
appServerArgs?(): string[];
|
|
1636
|
+
/** Argv (after the bin path) that prints the project's EFFECTIVE
|
|
1637
|
+
* schedule set — config-declared entries merged with the
|
|
1638
|
+
* viewer-managed file — as a `ScheduleEntry[]` JSON array on stdout
|
|
1639
|
+
* (web: `["schedules", "--json"]`). The one parser of the project's
|
|
1640
|
+
* config, asked across a process boundary: a deployed viewer shows
|
|
1641
|
+
* the set through this instead of re-reading half of it. Absent →
|
|
1642
|
+
* the target has no schedules command and the viewer says so. */
|
|
1643
|
+
schedulesArgs?(): string[];
|
|
1515
1644
|
/** Path inputs the App panel renders for this target (M-17) — each
|
|
1516
1645
|
* spec becomes an input + file-picker button whose value is saved
|
|
1517
1646
|
* into the target's env file (`envKey`). The viewer stays
|
|
@@ -2318,4 +2447,4 @@ declare const JUDGE_ENV: {
|
|
|
2318
2447
|
readonly skipPreflight: "UNOTEST_JUDGE_SKIP_PREFLIGHT";
|
|
2319
2448
|
};
|
|
2320
2449
|
|
|
2321
|
-
export { ARTIFACTS_ROOT_ENV, type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, BOX_TOKEN_ENV, BOX_URL_ENV, BUNDLE_ID_ENV, BUNDLE_MANIFEST_FILE, BUNDLE_SCHEMA_VERSION, BUNDLE_UPLOAD_PATH, type BreakpointEntry, type BreakpointsFile, type BundleGitInfo, type BundleManifest, type BundleUploadError, type BundleUploadErrorCode, type BundleUploadOk, type BundleUploadResponse, type BundleUploadStatus, type BundleVariableGap, CI_RUN_PATH, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CiProviderId, type CiQueuedRun, type CiRunAccepted, type CiRunError, type CiRunErrorCode, type CiRunRequest, type CiRunResponse, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionTab, DAY_INDEX_FILE, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnqueueRunInput, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunQueue, type IRunnerAdapter, InvalidBlobHashError, JUDGE_ENV, JUDGE_ROUTES, type JudgeErrorResponse, type JudgeHealthResponse, type JudgeRequest, type JudgeVerdict, type JudgeVerdictEvent, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogLineMessage, type Matcher, type OverviewTab, PICKER_SNAPSHOT_FILE, type ParsedTicketName, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, QUEUE_DISABLED_ENV, QUEUE_GLOBAL_DIR_ENV, QUEUE_GLOBAL_SLOTS_ENV, QUEUE_LEASE_ENV, QUEUE_MUTEX_FILE, QUEUE_PRIORITIES, QUEUE_RUNNING_DIR, QUEUE_SCHEMA_VERSION, QUEUE_SLOTS_DIR, QUEUE_SUBDIR, QUEUE_TICKETS_DIR, type QueueChangedMessage, type QueueEntry, type QueuePoolState, type QueuePriority, type QueueProducer, type QueueProducerKind, type QueueSnapshot, type QueueTicket, type QueueTicketCi, type QueueTicketKind, type QueueTicketSource, RUNNER_CONFIG_KEYS, RUNS_SUBDIR, RUNTIME_FILE, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunQueueLease, type RunQueueTicketHandle, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScheduleEntry, type ScreenshotEvent, type SnapshotTab, type StepFailEvent, type StepOkEvent, type StepStartedEvent, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, WORKSPACE_FILE, WORKSPACE_SCHEMA_VERSION, type WheelChangedEvent, type WorkspaceBundle, type WorkspaceFile, type WsMessage, type WsMessageKind, activeEnvName, artifactsRootFrom, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, categorizeVariable, compareQueueTicketNames, debugDirFor, debuggerFileFor, deleteShadowWarning, describeBundle, describeTicketCi, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, insertEnvVar, isAnnotationLine, isExternalVarName, isFailingStatus, isQueueDirName, isRecord, isRegexLiteral, isRunnerConfigKey, isRunsDirName, isTerminalRuntimeState, makeQueueTicketName, makeRunId, parseAppServerEvent, parseBundleManifest, parseBundleUploadResponse, parseCiProvider, parseCiRunRequest, parseCiRunResponse, parseEnvContent, parseQueueTicket, parseQueueTicketName, parseScenarioAnnotations, parseScheduleEntry, parseSchedulesJson, parseWorkspaceFile, planAddVariable, projectQueueRoot, projectRunDirFor, projectRunsRoot, queueDirFor, queuePriorityFromRank, queuePriorityRank, regexLiteral, removeEnvVar, requireRunDirFor, runDirFor, runIdStartedAt, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, testDirFor, validateCollectionName, validateSegmentName };
|
|
2450
|
+
export { ARTIFACTS_ROOT_ENV, type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, BOX_TOKEN_ENV, BOX_URL_ENV, BUNDLE_ID_ENV, BUNDLE_MANIFEST_FILE, BUNDLE_SCHEMA_VERSION, BUNDLE_UPLOAD_PATH, type BreakpointEntry, type BreakpointsFile, type BundleGitInfo, type BundleManifest, type BundleUploadError, type BundleUploadErrorCode, type BundleUploadOk, type BundleUploadResponse, type BundleUploadStatus, type BundleVariableGap, CI_RUN_PATH, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CiProviderId, type CiQueuedRun, type CiRunAccepted, type CiRunError, type CiRunErrorCode, type CiRunRequest, type CiRunResponse, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionScheduleEntry, type CollectionTab, DAY_INDEX_FILE, DAY_SHORT, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnqueueRunInput, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, FREQ_FIELDS, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunQueue, type IRunnerAdapter, InvalidBlobHashError, JUDGE_ENV, JUDGE_ROUTES, type JudgeErrorResponse, type JudgeHealthResponse, type JudgeRequest, type JudgeVerdict, type JudgeVerdictEvent, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogLineMessage, type Matcher, type OverviewTab, PICKER_SNAPSHOT_FILE, type ParsedTicketName, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, QUEUE_DISABLED_ENV, QUEUE_GLOBAL_DIR_ENV, QUEUE_GLOBAL_SLOTS_ENV, QUEUE_LEASE_ENV, QUEUE_MUTEX_FILE, QUEUE_PRIORITIES, QUEUE_RUNNING_DIR, QUEUE_SCHEMA_VERSION, QUEUE_SLOTS_DIR, QUEUE_SUBDIR, QUEUE_TICKETS_DIR, type QueueChangedMessage, type QueueEntry, type QueuePoolState, type QueuePriority, type QueueProducer, type QueueProducerKind, type QueueSnapshot, type QueueTicket, type QueueTicketCi, type QueueTicketKind, type QueueTicketSource, RUNNER_CONFIG_KEYS, RUNS_SUBDIR, RUNTIME_FILE, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunQueueLease, type RunQueueTicketHandle, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SCHEDULES_FILE, SCHEDULES_FINGERPRINT_ENV, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioScheduleEntry, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScheduleEntry, type ScheduleFreq, type ScheduleSpec, type ScreenshotEvent, type SnapshotTab, type StepFailEvent, type StepOkEvent, type StepStartedEvent, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, WEEK_CHIP_ORDER, WORKSPACE_FILE, WORKSPACE_SCHEMA_VERSION, type WheelChangedEvent, type WorkspaceBundle, type WorkspaceFile, type WsMessage, type WsMessageKind, activeEnvName, artifactsRootFrom, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, canonicalScheduleSet, categorizeVariable, compareQueueTicketNames, cronFromSpec, debugDirFor, debuggerFileFor, deleteShadowWarning, describeBundle, describeCron, describeSpec, describeTicketCi, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, formatNextTick, insertEnvVar, isAnnotationLine, isExternalVarName, isFailingStatus, isQueueDirName, isRecord, isRegexLiteral, isRunnerConfigKey, isRunsDirName, isTerminalRuntimeState, makeQueueTicketName, makeRunId, mergeSchedules, nextTickFromSpec, parseAppServerEvent, parseBundleManifest, parseBundleUploadResponse, parseCiProvider, parseCiRunRequest, parseCiRunResponse, parseEnvContent, parseQueueTicket, parseQueueTicketName, parseScenarioAnnotations, parseScheduleEntry, parseSchedulesDoc, parseSchedulesJson, parseWorkspaceFile, planAddVariable, projectQueueRoot, projectRunDirFor, projectRunsRoot, queueDirFor, queuePriorityFromRank, queuePriorityRank, regexLiteral, removeEnvVar, requireRunDirFor, runDirFor, runIdStartedAt, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, scheduleTarget, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, specFromCron, testDirFor, validateCollectionName, validateSegmentName };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1f456e=_0x3d64;(function(_0x1d96a3,_0x502878){const _0x1d86eb={_0x3cad26:0xf3,_0x570be5:0x15a,_0x464e22:0x186},_0x5e4ad3=_0x3d64,_0x4ca2bb=_0x1d96a3();while(!![]){try{const _0x96bf67=parseInt(_0x5e4ad3(0x18b))/0x1+parseInt(_0x5e4ad3(0x1c2))/0x2*(-parseInt(_0x5e4ad3(0x1ae))/0x3)+parseInt(_0x5e4ad3(0x172))/0x4+parseInt(_0x5e4ad3(0x1a2))/0x5+-parseInt(_0x5e4ad3(0xf8))/0x6+parseInt(_0x5e4ad3(_0x1d86eb._0x3cad26))/0x7*(parseInt(_0x5e4ad3(_0x1d86eb._0x570be5))/0x8)+parseInt(_0x5e4ad3(_0x1d86eb._0x464e22))/0x9*(-parseInt(_0x5e4ad3(0x13f))/0xa);if(_0x96bf67===_0x502878)break;else _0x4ca2bb['push'](_0x4ca2bb['shift']());}catch(_0x1079d5){_0x4ca2bb['push'](_0x4ca2bb['shift']());}}}(_0x2707,0xcf466));var __defProp=Object[_0x1f456e(0x134)],__name=(_0x2c2a73,_0x306fa4)=>__defProp(_0x2c2a73,_0x1f456e(0x1b9),{'value':_0x306fa4,'configurable':!![]});function parseAppServerEvent(_0x167da8){const _0x16db44={_0x36450b:0xeb,_0x96e8e3:0x1a5,_0x5ae6e4:0x13b,_0x2b1f94:0x11d},_0x2cecfc=_0x1f456e,_0x4664a6=_0x167da8[_0x2cecfc(_0x16db44._0x36450b)]();if(!_0x4664a6[_0x2cecfc(0x118)]('{'))return null;try{const _0x3350bc=JSON[_0x2cecfc(0x162)](_0x4664a6);if(_0x3350bc[_0x2cecfc(_0x16db44._0x96e8e3)]==='app-server:ready'||_0x3350bc[_0x2cecfc(_0x16db44._0x96e8e3)]===_0x2cecfc(_0x16db44._0x5ae6e4)||_0x3350bc['kind']===_0x2cecfc(_0x16db44._0x2b1f94))return _0x3350bc;return null;}catch{return null;}}function _0x3d64(_0x25ad30,_0x1a9709){_0x25ad30=_0x25ad30-0xe6;const _0x2707e0=_0x2707();let _0x3d6433=_0x2707e0[_0x25ad30];if(_0x3d64['fIJVeE']===undefined){var _0x2078ac=function(_0x5ad325){const _0x27ec8a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c2a73='',_0x306fa4='';for(let _0x167da8=0x0,_0x4664a6,_0x3350bc,_0x4554db=0x0;_0x3350bc=_0x5ad325['charAt'](_0x4554db++);~_0x3350bc&&(_0x4664a6=_0x167da8%0x4?_0x4664a6*0x40+_0x3350bc:_0x3350bc,_0x167da8++%0x4)?_0x2c2a73+=String['fromCharCode'](0xff&_0x4664a6>>(-0x2*_0x167da8&0x6)):0x0){_0x3350bc=_0x27ec8a['indexOf'](_0x3350bc);}for(let _0x151b01=0x0,_0x36338b=_0x2c2a73['length'];_0x151b01<_0x36338b;_0x151b01++){_0x306fa4+='%'+('00'+_0x2c2a73['charCodeAt'](_0x151b01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x306fa4);};_0x3d64['xXFchn']=_0x2078ac,_0x3d64['qXfdiE']={},_0x3d64['fIJVeE']=!![];}const _0x41e87a=_0x2707e0[0x0],_0x28b826=_0x25ad30+_0x41e87a,_0x10bd07=_0x3d64['qXfdiE'][_0x28b826];return!_0x10bd07?(_0x3d6433=_0x3d64['xXFchn'](_0x3d6433),_0x3d64['qXfdiE'][_0x28b826]=_0x3d6433):_0x3d6433=_0x10bd07,_0x3d6433;}__name(parseAppServerEvent,_0x1f456e(0x10a));function isRecord(_0x4554db){const _0x4f4bda=_0x1f456e;return typeof _0x4554db===_0x4f4bda(0x10d)&&_0x4554db!==null&&!Array['isArray'](_0x4554db);}__name(isRecord,_0x1f456e(0x1ec));var UNOTEST_DIR=_0x1f456e(0x1af),E2E_SUBDIR=_0x1f456e(0x19e),HELPERS_SUBDIR=_0x1f456e(0x179),COLLECTIONS_SUBDIR=_0x1f456e(0x10c),RUNS_SUBDIR=_0x1f456e(0xea),SNAPSHOTS_SUBDIR='.snapshots';function testDirFor(_0x151b01){return''+E2E_SUBDIR+_0x151b01;}__name(testDirFor,_0x1f456e(0x110));function runsDirFor(_0x36338b,_0x4867b5){return''+RUNS_SUBDIR+_0x36338b+(_0x4867b5?'.'+_0x4867b5:'');}__name(runsDirFor,_0x1f456e(0x19c));function isRunsDirName(_0x31d563){const _0xbc0d35={_0x84ef74:0x118},_0x2a060f=_0x1f456e;return _0x31d563===RUNS_SUBDIR||_0x31d563[_0x2a060f(0x118)](RUNS_SUBDIR+'-')||_0x31d563[_0x2a060f(_0xbc0d35._0x84ef74)](RUNS_SUBDIR+'.');}__name(isRunsDirName,_0x1f456e(0x1c0));function debugDirFor(_0x3fcd86){return'.debug'+_0x3fcd86;}__name(debugDirFor,_0x1f456e(0x157));function debuggerFileFor(_0x448b27){const _0x3f976=_0x1f456e;return UNOTEST_DIR+_0x3f976(0x1aa)+_0x448b27+'.json';}__name(debuggerFileFor,_0x1f456e(0x125));var LOCK_FILE=_0x1f456e(0x154),LOG_FILE='.viewer.log',STEPS_FILE='steps.jsonl',HEARTBEAT_FILE=_0x1f456e(0x171),DAY_INDEX_FILE=_0x1f456e(0x159),SCENARIOS_INDEX_DIR=_0x1f456e(0x17b),SCENARIOS_LATEST_FILE=_0x1f456e(0x16a),STDOUT_FILE=_0x1f456e(0x181),STDERR_FILE=_0x1f456e(0x147),COMMANDS_FILE=_0x1f456e(0x14d),RUNTIME_FILE=_0x1f456e(0x122),PICKER_SNAPSHOT_FILE=_0x1f456e(0x191),ENV_FILE=_0x1f456e(0x1e3),SECRETS_FILE=_0x1f456e(0xfb);function envFileFor(_0x38d22e,_0x421d4a){return''+ENV_FILE+_0x38d22e+(_0x421d4a?'.'+_0x421d4a:'');}__name(envFileFor,_0x1f456e(0x119));function secretsFileFor(_0x38eb1d,_0x3a8719){return''+SECRETS_FILE+_0x38eb1d+(_0x3a8719?'.'+_0x3a8719:'');}__name(secretsFileFor,_0x1f456e(0x105));function envLayerFilesFor(_0x188017,_0x549df0){return layersFor(ENV_FILE,_0x188017,_0x549df0);}__name(envLayerFilesFor,'envLayerFilesFor');function secretsLayerFilesFor(_0x42174d,_0x572f6f){return layersFor(SECRETS_FILE,_0x42174d,_0x572f6f);}__name(secretsLayerFilesFor,'secretsLayerFilesFor');function layersFor(_0x1adbbc,_0x145cbd,_0x3772bd){const _0x4794e4=_0x1f456e,_0x44f5d2=[_0x1adbbc];if(_0x145cbd)_0x44f5d2[_0x4794e4(0x1d5)](''+_0x1adbbc+_0x145cbd);if(_0x3772bd){_0x44f5d2['push'](_0x1adbbc+'.'+_0x3772bd);if(_0x145cbd)_0x44f5d2['push'](''+_0x1adbbc+_0x145cbd+'.'+_0x3772bd);}return _0x44f5d2;}__name(layersFor,'layersFor');var ARTIFACTS_ROOT_ENV=_0x1f456e(0x1ac);function artifactsRootFrom(_0x53ba1e,_0x19387d){const _0x1192a3=_0x53ba1e[ARTIFACTS_ROOT_ENV]?.['trim']();return _0x1192a3?_0x1192a3:_0x19387d;}__name(artifactsRootFrom,_0x1f456e(0x168));function activeEnvName(_0x1593cb){const _0x576978={_0x483ba8:0x150,_0x134054:0xeb},_0x537a19=_0x1f456e,_0xd0b5aa=_0x1593cb[_0x537a19(_0x576978._0x483ba8)]?.[_0x537a19(_0x576978._0x134054)]();return _0xd0b5aa?_0xd0b5aa:void 0x0;}__name(activeEnvName,_0x1f456e(0x166));var RESERVED_ENV_NAMES=new Set([_0x1f456e(0x1c4),_0x1f456e(0x1d9),_0x1f456e(0x1ef)]);function envNamesFromDirListing(_0x5ac762,_0x141e5d){const _0x5ab2c7={_0x4c0b79:0x138},_0x115d96=_0x1f456e,_0x5b4f0c=['.env',_0x115d96(0x163)]['flatMap'](_0x26a38e=>_0x141e5d?[_0x26a38e,''+_0x26a38e+_0x141e5d]:[_0x26a38e]),_0x4156af=new Set();for(const _0x3d0d94 of _0x5ac762){for(const _0x48e264 of _0x5b4f0c){const _0x117538=_0x48e264+'.';if(!_0x3d0d94[_0x115d96(0x118)](_0x117538))continue;const _0x595d1d=_0x3d0d94[_0x115d96(0x10e)](_0x117538[_0x115d96(0x187)]);if(!_0x595d1d||_0x595d1d[_0x115d96(0xfc)]('/'))continue;if(RESERVED_ENV_NAMES[_0x115d96(_0x5ab2c7._0x4c0b79)](_0x595d1d))continue;_0x4156af[_0x115d96(0x1d0)](_0x595d1d);}}return[..._0x4156af][_0x115d96(0xe6)]();}__name(envNamesFromDirListing,_0x1f456e(0x128));function isRegexLiteral(_0x57fe27){const _0x1e81b7={_0x456b5a:0x10d,_0x13da5b:0x1a5,_0xa4f978:0x12d},_0x33e72c=_0x1f456e;return typeof _0x57fe27===_0x33e72c(_0x1e81b7._0x456b5a)&&_0x57fe27!==null&&_0x57fe27[_0x33e72c(_0x1e81b7._0x13da5b)]===_0x33e72c(_0x1e81b7._0xa4f978)&&typeof _0x57fe27[_0x33e72c(0x15d)]===_0x33e72c(0x14f)&&typeof _0x57fe27['flags']===_0x33e72c(0x14f);}__name(isRegexLiteral,'isRegexLiteral');function regexLiteral(_0x2a3982,_0x1fec94=''){const _0x39d3d5={_0x415dcf:0x12d},_0x4bf85b=_0x1f456e;return{'kind':_0x4bf85b(_0x39d3d5._0x415dcf),'source':_0x2a3982,'flags':_0x1fec94};}__name(regexLiteral,_0x1f456e(0xf7));var RAND_BYTES=0x6;function makeRunId(_0x1ea968){const _0x38eaee={_0x3515fb:0x1c5,_0x20d250:0x13c,_0x212b18:0x187},_0x1ad7ad=_0x1f456e,_0x29d7f3=sanitizeRunIdSegment(_0x1ea968),_0x29f014=Date['now']()[_0x1ad7ad(0x16e)](0x24),_0x37a194=new Uint8Array(RAND_BYTES);globalThis[_0x1ad7ad(_0x38eaee._0x3515fb)][_0x1ad7ad(_0x38eaee._0x20d250)](_0x37a194);let _0x33d2cc='';for(let _0x4c7a57=0x0;_0x4c7a57<_0x37a194[_0x1ad7ad(_0x38eaee._0x212b18)];_0x4c7a57++){_0x33d2cc+=_0x37a194[_0x4c7a57][_0x1ad7ad(0x16e)](0x10)[_0x1ad7ad(0x152)](0x2,'0');}return _0x29d7f3+'-'+_0x29f014+'-'+_0x33d2cc;}__name(makeRunId,_0x1f456e(0x196));function sanitizeRunIdSegment(_0x20aa8f){const _0x2600af={_0x2e78dd:0x1c6,_0x35a493:0x14b},_0x14e810=_0x1f456e,_0x518277=_0x20aa8f[_0x14e810(0x1c6)](/[^a-zA-Z0-9_-]+/g,'-')[_0x14e810(_0x2600af._0x2e78dd)](/-+/g,'-')[_0x14e810(0x1c6)](/^-|-$/g,'');return _0x518277[_0x14e810(0x187)]>0x0?_0x518277:_0x14e810(_0x2600af._0x35a493);}__name(sanitizeRunIdSegment,'sanitizeRunIdSegment');var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date[_0x1f456e(0x13a)](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date[_0x1f456e(0x13a)](0x834,0x0,0x1);function runIdStartedAt(_0x32f072){const _0x1d9d04={_0x501e77:0x187},_0x506678=_0x1f456e,_0xd7562a=_0x32f072[_0x506678(0x184)]('-');if(_0xd7562a[_0x506678(_0x1d9d04._0x501e77)]<0x3)return null;const _0x580fb5=_0xd7562a[_0xd7562a[_0x506678(_0x1d9d04._0x501e77)]-0x1];if(!RANDOM_SUFFIX_RE[_0x506678(0x1ee)](_0x580fb5))return null;const _0xf56632=_0xd7562a[_0xd7562a['length']-0x2];if(!/^[0-9a-z]+$/['test'](_0xf56632))return null;const _0x29bc64=parseInt(_0xf56632,0x24);if(!Number[_0x506678(0x14c)](_0x29bc64))return null;if(_0x29bc64<MIN_PLAUSIBLE_MS||_0x29bc64>=MAX_PLAUSIBLE_MS)return null;return _0x29bc64;}__name(runIdStartedAt,_0x1f456e(0x151));function shardPathForTimestamp(_0x3ccdff){const _0x248ea8=_0x1f456e,_0x2a44c3=new Date(_0x3ccdff),_0x47295a=String(_0x2a44c3[_0x248ea8(0x117)]())[_0x248ea8(0x152)](0x4,'0'),_0x13bebd=String(_0x2a44c3[_0x248ea8(0x1d4)]()+0x1)[_0x248ea8(0x152)](0x2,'0'),_0x5c66b7=String(_0x2a44c3[_0x248ea8(0x10b)]())['padStart'](0x2,'0');return _0x47295a+'/'+_0x13bebd+'/'+_0x5c66b7;}__name(shardPathForTimestamp,_0x1f456e(0x11a));function shardPathForRunId(_0xc862ea){const _0x591234=runIdStartedAt(_0xc862ea);return _0x591234===null?null:shardPathForTimestamp(_0x591234);}__name(shardPathForRunId,_0x1f456e(0x115));function runDirFor(_0x4d90c0,_0x3fd45e){const _0x50d7af=shardPathForRunId(_0x3fd45e);return _0x50d7af===null?null:_0x4d90c0+'/'+_0x50d7af+'/'+_0x3fd45e;}__name(runDirFor,_0x1f456e(0x1b5));var UnplaceableRunIdError=class extends Error{static{__name(this,_0x1f456e(0x15b));}constructor(_0x47c66f){const _0x190556={_0x1509bf:0x15b},_0x17a9aa=_0x1f456e;super(_0x17a9aa(0x1c3)+_0x47c66f),this[_0x17a9aa(0x1b9)]=_0x17a9aa(_0x190556._0x1509bf);}};function requireRunDirFor(_0x5cad41,_0x158aad){const _0xb948d7=runDirFor(_0x5cad41,_0x158aad);if(_0xb948d7===null)throw new UnplaceableRunIdError(_0x158aad);return _0xb948d7;}__name(requireRunDirFor,_0x1f456e(0x13d));function projectRunsRoot(_0x2ebced='',_0x5c0cd7){return UNOTEST_DIR+'/'+runsDirFor(_0x2ebced,_0x5c0cd7);}__name(projectRunsRoot,_0x1f456e(0xfa));function projectRunDirFor(_0x32b595,_0x4683d4='',_0x5d59c6){return requireRunDirFor(projectRunsRoot(_0x4683d4,_0x5d59c6),_0x32b595);}__name(projectRunDirFor,_0x1f456e(0x1a7));function shardDirFor(_0x13fed2,_0x4187e2){return _0x13fed2+'/'+shardPathForTimestamp(_0x4187e2);}__name(shardDirFor,_0x1f456e(0x1b8));function*shardDaysDescending(_0x491a26,_0x4d3651,_0x4d3fb7){const _0x4e3db5={_0x548883:0x18a},_0xf54603=_0x1f456e,_0x5fce7a=0x5265c00;let _0xef0c80=Math[_0xf54603(_0x4e3db5._0x548883)](_0x4d3651/_0x5fce7a)*_0x5fce7a;for(let _0x856339=0x0;_0x856339<_0x4d3fb7;_0x856339++){yield shardDirFor(_0x491a26,_0xef0c80),_0xef0c80-=_0x5fce7a;}}__name(shardDaysDescending,'shardDaysDescending');var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x325d17){const _0x1dc7b0={_0x23ffc2:0x1d2},_0x12270c=_0x1f456e;return _0x325d17===_0x12270c(_0x1dc7b0._0x23ffc2)||_0x325d17===_0x12270c(0x1a1);}__name(isFailingStatus,_0x1f456e(0x155));function foldScenarioRun(_0x50a5e2,_0x57ff4d){const _0x6b8932={_0x38cef1:0x137,_0x5cf313:0x17c,_0x1b7866:0x1db,_0x35a38e:0x10e,_0x31061b:0x18f},_0x5e9d8b=_0x1f456e,_0x395bfb={'lastRunId':_0x57ff4d[_0x5e9d8b(0x1bc)],'lastStatus':_0x57ff4d[_0x5e9d8b(0x1db)],'lastAt':_0x57ff4d[_0x5e9d8b(0x18f)],'lastDurationMs':_0x57ff4d[_0x5e9d8b(_0x6b8932._0x38cef1)],'recent':[..._0x50a5e2?.[_0x5e9d8b(_0x6b8932._0x5cf313)]??[],_0x57ff4d[_0x5e9d8b(_0x6b8932._0x1b7866)]][_0x5e9d8b(_0x6b8932._0x35a38e)](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x57ff4d['status']))return{..._0x395bfb,'failStreak':0x0,'failingSince':null};const _0xf1b6b=(_0x50a5e2?.[_0x5e9d8b(0x1de)]??0x0)+0x1;return{..._0x395bfb,'failStreak':_0xf1b6b,'failingSince':_0xf1b6b===0x1?_0x57ff4d[_0x5e9d8b(0x18f)]:_0x50a5e2?.[_0x5e9d8b(0x1cf)]??_0x57ff4d[_0x5e9d8b(_0x6b8932._0x31061b)]};}__name(foldScenarioRun,'foldScenarioRun');function scenarioIndexFileName(_0x4792cf){const _0x44dd91={_0x5b2dd8:0x1c8},_0x25b1f9=_0x1f456e;return encodeURIComponent(_0x4792cf)+_0x25b1f9(_0x44dd91._0x5b2dd8);}__name(scenarioIndexFileName,'scenarioIndexFileName');function scenarioRefFromFileName(_0x29ba0e){const _0x4ee1d3={_0xba456d:0x10e,_0x4557db:0x1c8,_0x2ce6ef:0x187},_0x9a5cca=_0x1f456e;if(!_0x29ba0e['endsWith']('.jsonl'))return null;try{return decodeURIComponent(_0x29ba0e[_0x9a5cca(_0x4ee1d3._0xba456d)](0x0,-_0x9a5cca(_0x4ee1d3._0x4557db)[_0x9a5cca(_0x4ee1d3._0x2ce6ef)]));}catch{return null;}}__name(scenarioRefFromFileName,_0x1f456e(0x1e2));var CI_RUN_PATH='/api/box/ci/run',PROVIDER_IDS=[_0x1f456e(0x141),_0x1f456e(0x169),_0x1f456e(0x1dc)],RUN_ERROR_CODES=['unauthorized','scope-mismatch',_0x1f456e(0x1b7),_0x1f456e(0x12a),'no-collections','malformed',_0x1f456e(0x1e8)];function parseCiRunRequest(_0x546561){const _0x588704={_0x5f0bac:0x14f,_0x130497:0x187,_0x34f797:0x1b1,_0x226173:0x167},_0x3717c0=_0x1f456e;if(!isRecord(_0x546561))return null;const {bundleId:_0x4d8315,environment:_0x25bbf9,collections:_0x4622c9,pr:_0x1f4147,branch:_0x5b7659,sha:_0x2c6492}=_0x546561;if(typeof _0x4d8315!==_0x3717c0(0x14f)||_0x4d8315[_0x3717c0(0x187)]===0x0)return null;if(typeof _0x25bbf9!==_0x3717c0(_0x588704._0x5f0bac)||_0x25bbf9[_0x3717c0(_0x588704._0x130497)]===0x0)return null;let _0x23dffa=null;if(_0x4622c9!==void 0x0){if(!Array[_0x3717c0(0x18e)](_0x4622c9))return null;if(_0x4622c9[_0x3717c0(_0x588704._0x34f797)](_0xb35d32=>typeof _0xb35d32!=='string'||_0xb35d32[_0x3717c0(0x187)]===0x0))return null;_0x23dffa=_0x4622c9;}if(_0x1f4147!==void 0x0&&(typeof _0x1f4147!=='number'||!Number[_0x3717c0(0x111)](_0x1f4147)))return null;for(const _0x58ce77 of[_0x5b7659,_0x2c6492]){if(_0x58ce77!==void 0x0&&typeof _0x58ce77!==_0x3717c0(_0x588704._0x5f0bac))return null;}return{'bundleId':_0x4d8315,'environment':_0x25bbf9,..._0x23dffa?{'collections':_0x23dffa}:{},...typeof _0x1f4147===_0x3717c0(_0x588704._0x226173)?{'pr':_0x1f4147}:{},...typeof _0x5b7659==='string'?{'branch':_0x5b7659}:{},...typeof _0x2c6492===_0x3717c0(_0x588704._0x5f0bac)?{'sha':_0x2c6492}:{}};}__name(parseCiRunRequest,_0x1f456e(0x139));function parseCiRunResponse(_0x10fad9){const _0xb4b029={_0x389d2d:0x12e,_0x178a9c:0x167},_0x1bb827=_0x1f456e;if(!isRecord(_0x10fad9))return null;if(isRecord(_0x10fad9['error'])){const {code:_0x3ba2de,message:_0x950b80}=_0x10fad9[_0x1bb827(_0xb4b029._0x389d2d)];if(!RUN_ERROR_CODES[_0x1bb827(0xfc)](_0x3ba2de))return null;if(typeof _0x950b80!==_0x1bb827(0x14f))return null;return{'error':{'code':_0x3ba2de,'message':_0x950b80}};}const {status:_0x3d6190,bundleId:_0x131aa4,environment:_0x577291,runs:_0x539b83,superseded:_0x2a5b26}=_0x10fad9;if(_0x3d6190!==_0x1bb827(0x1bb))return null;if(typeof _0x131aa4!==_0x1bb827(0x14f)||typeof _0x577291!==_0x1bb827(0x14f))return null;if(!Array[_0x1bb827(0x18e)](_0x539b83))return null;const _0x3bba69=[];for(const _0x1ad4e8 of _0x539b83){if(!isRecord(_0x1ad4e8))return null;const {runId:_0x5cc16e,collection:_0x300396}=_0x1ad4e8;if(typeof _0x5cc16e!=='string'||typeof _0x300396!=='string')return null;_0x3bba69['push']({'runId':_0x5cc16e,'collection':_0x300396});}if(_0x2a5b26!==void 0x0&&typeof _0x2a5b26!==_0x1bb827(0x167))return null;return{'status':'queued','bundleId':_0x131aa4,'environment':_0x577291,'runs':_0x3bba69,...typeof _0x2a5b26===_0x1bb827(_0xb4b029._0x178a9c)?{'superseded':_0x2a5b26}:{}};}__name(parseCiRunResponse,_0x1f456e(0x1ba));function parseCiProvider(_0x1a17fb){const _0x2a6847=_0x1f456e;return PROVIDER_IDS[_0x2a6847(0xfc)](_0x1a17fb)?_0x1a17fb:null;}__name(parseCiProvider,_0x1f456e(0x14e));var QUEUE_SUBDIR='.queue',QUEUE_TICKETS_DIR=_0x1f456e(0x198),QUEUE_RUNNING_DIR='running',QUEUE_SLOTS_DIR='slots',QUEUE_MUTEX_FILE='.mutex',QUEUE_LEASE_ENV=_0x1f456e(0x114),QUEUE_DISABLED_ENV=_0x1f456e(0xec),QUEUE_GLOBAL_DIR_ENV=_0x1f456e(0x189),QUEUE_GLOBAL_SLOTS_ENV='UNOTEST_QUEUE_GLOBAL_SLOTS',QUEUE_SCHEMA_VERSION=0x1;function queueDirFor(_0x4784e8,_0x1549ce){return''+QUEUE_SUBDIR+_0x4784e8+(_0x1549ce?'.'+_0x1549ce:'');}__name(queueDirFor,_0x1f456e(0x148));function isQueueDirName(_0x1826cb){const _0x949af9={_0x54f374:0x118},_0x1ec942=_0x1f456e;return _0x1826cb===QUEUE_SUBDIR||_0x1826cb[_0x1ec942(_0x949af9._0x54f374)](QUEUE_SUBDIR+'-')||_0x1826cb[_0x1ec942(0x118)](QUEUE_SUBDIR+'.');}__name(isQueueDirName,_0x1f456e(0x108));function projectQueueRoot(_0x38bf8c='',_0x5c2e6d){return UNOTEST_DIR+'/'+queueDirFor(_0x38bf8c,_0x5c2e6d);}__name(projectQueueRoot,'projectQueueRoot');var PRIORITY_RANKS=Object[_0x1f456e(0x174)]({'maintenance':0x0,'interactive':0x1,'ci':0x2,'schedule':0x3}),RANK_PRIORITIES=[_0x1f456e(0x1cd),_0x1f456e(0x1b4),'ci',_0x1f456e(0x120)],QUEUE_PRIORITIES=RANK_PRIORITIES;function queuePriorityRank(_0x328945){return PRIORITY_RANKS[_0x328945];}__name(queuePriorityRank,_0x1f456e(0x19f));function queuePriorityFromRank(_0x6301bd){return RANK_PRIORITIES[_0x6301bd]??null;}__name(queuePriorityFromRank,_0x1f456e(0x1e6));function describeTicketCi(_0x34726e){const _0x33d784={_0x224f4a:0x1a9,_0x34dd56:0x197,_0x3612b6:0x197,_0x38e9f7:0x10e,_0x43289c:0x1a3},_0x4923d3=_0x1f456e,_0x540b95=_0x34726e['sha']?'@'+_0x34726e[_0x4923d3(_0x33d784._0x224f4a)][_0x4923d3(0x10e)](0x0,0x7):'';if(_0x34726e['pr']!==void 0x0)return'PR\x20#'+_0x34726e['pr']+_0x540b95;if(_0x34726e[_0x4923d3(_0x33d784._0x34dd56)]!==void 0x0)return''+_0x34726e[_0x4923d3(_0x33d784._0x3612b6)]+_0x540b95;return _0x540b95[_0x4923d3(0x187)]>0x0?_0x540b95[_0x4923d3(_0x33d784._0x38e9f7)](0x1):_0x34726e[_0x4923d3(_0x33d784._0x43289c)];}__name(describeTicketCi,_0x1f456e(0x1e0));function makeQueueTicketName(_0xc222df,_0x48db1a,_0x4d1bad){const _0x2965b1={_0x2160e5:0x16e},_0x17b4d7=_0x1f456e;return queuePriorityRank(_0xc222df)+'-'+_0x48db1a[_0x17b4d7(_0x2965b1._0x2160e5)](0x24)+'-'+_0x4d1bad+_0x17b4d7(0x100);}function _0x2707(){const _0x105d41=['C2nLBMfYAw8','BxvZDcbIzsbHihn0CMLUzW','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','x2HLBhbLCNm','CgfYC2vty2HLzhvSzuvUDhj5','x3nJzw5HCMLVCW','CMvJzw50','zw52s2v5CW','C2vYAwfSAxPLrw52vMfSDwu','l2HLywX0Aa','CMvTB3zLrw52vMfY','C3rKB3v0lMXVzW','qxbW','z2L0','C3bSAxq','y29TCgfYzvf1zxvLvgLJA2v0tMfTzxm','mJC5qLPYy0nT','BgvUz3rO','y29TCgXLDgvK','vu5pvevtvf9rvuvvrv9hte9cquXFreLs','zMXVB3i','mZK0ntK2y2n4rvj4','yxnZAwDUBwvUDevUDhjPzxm','Aw5Zzxj0rw52vMfY','AxnbCNjHEq','C3rHCNrLzef0','refuqujbu0vFvvjm','CgLJA2vYlxnUyxbZAg90lNr4Da','vu5pvevtvf9kvurhrv9dtefvrevFqKLo','y2XP','tK9Fq09mt1i','DMfSAwrHDgvdB2XSzwn0Aw9UtMfTzq','BwfRzvj1BKLK','yNjHBMnO','DgLJA2v0CW','CgXHBKfKzfzHCMLHyMXL','ywjVCNrLza','vu5pvevtvf9kvurhrv9wt1rf','CNvUC0rPCKzVCG','CNvUBMvY','ztjL','CxvLDwvqCMLVCML0EvjHBMS','BwfUAwzLC3qUANnVBG','Aw50zxjYDxb0zwq','mZGZmZa3nuDLthvkva','ChjVDMLKzxi','BxvZDcbUB3qGyMuGzw1WDhK','A2LUza','yMXVyLjLBfnLz21LBNrZrM9Y','ChjVAMvJDfj1BKrPCKzVCG','vu5pvevtvf9tte9xx01p','C2HH','lY5Kzwj1z2DLCG','vu5pvevtvf9kvurhrv9srvrssuvt','vu5pvevtvf9buLrjrKfdvfnFuK9pva','yMXVyNnsB290rM9Y','nNrMtgPHBG','Dw5VDgvZDa','Aw52ywXPzc1Uyw1L','C29Tzq','C2vJCMv0C0nVBNrLBNq','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','Aw50zxjHy3rPDMu','CNvUrgLYrM9Y','igLZig5VDcbHigTUB3DUihj1BM5LCIbZzxr0Aw5NiokaLcbJAg9VC2uGB25LigzYB20GDgHLihj1BM5LCI1JB25MAwCGBgLZDc4','Dw5RBM93BI1LBNzPCM9UBwvUDa','C2HHCMreAxjgB3i','BMfTzq','CgfYC2vdAvj1BLjLC3bVBNnL','CxvLDwvK','CNvUswq','zgvZy3jPyMvcDw5KBgu','Dg9mB3DLCKnHC2u','CgfYC2vwyxjPywjSzuDHChm','AxnsDw5ZrgLYtMfTzq','C291CMnLCY5QC29U','mtq2ody2ueT6sxjo','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','zxHHBxbSzq','y3j5ChrV','CMvWBgfJzq','C2vJCMv0CW','lMPZB25S','yNvUzgXLswq','BxvZDcbUB3qGC3rHCNqGD2L0AcaNxYCGkhjLC2vYDMvKkq','zMLUzeLUzgv4','DgvYBwLUywW','BwfPBNrLBMfUy2u','AwqTBwLZBwf0y2G','zMfPBgLUz1nPBMnL','ywrK','AxnuzxjTAw5HBfj1BNrPBwvtDgf0zq','zMfPBgvK','vu5pvevtvf9kvurhrv9bq0nfu1nFve9lru4','z2v0vvrdtw9UDgG','ChvZAa','yNvUzgXLlMPZB24','vu5pvevtvf9kvurhrv9ut0TftG','yM9VBgvHBG','C2fTCgXL','vu5pvevtvf9kvurhrv9nt0rfta','C3rHDhvZ','yxbP','Dw5RBM93BI1YDw5UzxiTA2v5','zMfPBfn0CMvHAW','vu5pvevtvf9mt0nbteu','zgvZy3jPyMvuAwnRzxrdAq','BxvZDcbUB3qGC3rHCNqGD2L0AcaNlIC','C2nLBMfYAw9szwzgCM9TrMLSzu5HBwu','Dw5VDgvZDc8Uzw52','l2fWAs9IB3GVyNvUzgXLCW','l2P1zgDL','CxvLDwvqCMLVCML0EuzYB21syw5R','vu5pvevtvf9mt0DFtevwruW','C3rVCMfNzq','AxnbC3nPz25Tzw50t2y','AxnfEhrLCM5HBfzHCK5HBwu','Aw5KzxHpzG','AxnszwnVCMq','DMfSAwrHDgvtzwDTzw50tMfTzq','DgvZDa','DgvTCgXHDgu','Ag9ZDa','C29YDa','vu5pvevtvf9ct1HFve9lru4','vu5pvevtvf9iruferuq','zw52','lNj1BNm','DhjPBq','vu5pvevtvf9ot19rvuvvrq','C2nOzw1HvMvYC2LVBG','CgfYC2vrDwv1zvrPy2TLDa','vu5pvevtvf9kvurhrv9nt0rf','CMfUAW','CgfYC2vfBNzdB250zw50','zw52q29UDgvUDa','mZa4zNLHthvM','zgvSzxrLu2HHzg93v2fYBMLUzW','zxHPC3rZ','yMXVyLjLBfbHDgHgB3i','CMvNzxHmAxrLCMfS','otCYnJK1nfDPvK9NCq','vu5pvevtvf9kvurhrv9usu1ft1vux01t','ChjVAMvJDfj1BNnsB290','Dw5VDgvZDc8UC2vJCMv0CW','Aw5JBhvKzxm','vu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuW','vu5pvevtvf9eruzbvuXux1rjtuvpvvrFtvm','vu5pvevtvf9kvurhrv9quKvbtujmrq','lMPZB24','iI4G','sw52ywXPzejSB2jiyxnOrxjYB3i','vu5pvevtvf9usu1fwK9orq','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','C2vJCMv0C0zPBgvgB3i','zhvWBgLJyxrL','CgfYC2vcDw5KBgu','AxnrDwv1zurPCK5HBwu','vu5pvevtvf9erujvr19quKvwsuvxx0jzvevt','CgfYC2vbChbtzxj2zxjfDMvUDa','z2v0vvrdrgf0zq','x2nVBgXLy3rPB25Z','B2jQzwn0','C2XPy2u','CMvZzxj2zwrvBMrLCNnJB3jL','DgvZDerPCKzVCG','AxnjBNrLz2vY','y3jLyxrLzef0','zxHLyW','vu5pvevtvf9rvuvvrv9mruftrq','C2HHCMrqyxrOrM9YuNvUswq','vu5pvevtvf9orvrxt1jl','z2v0vvrdrNvSBfLLyxi','C3rHCNrZv2L0Aa','zw52rMLSzuzVCG','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','BwnW','CgfYC2vhAxrjBMzV','yxbWlxnLCNzLCJPLCNjVCG','vu5pvevtvf9kvurhrv9vuKW','AxnbBM5VDgf0Aw9UtgLUzq','C2nOzwr1Bgu','CMfUzg9T','CNvUDgLTzs5QC29U','icH3AxaP','zxHWzwn0lwzHAwW','zgvIDwDNzxjgAwXLrM9Y','uNvUBMvY','lNDVCMTZCgfJzs5QC29U','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','AxnsDw5UzxjdB25MAwDlzxK','Dw5RBM93BI1IDw5KBgu','y3jLyxrLza','CgfYC2vcDw5KBgvnyw5PzMvZDa','CMvNzxG','zxjYB3i','BwfRzvf1zxvLvgLJA2v0tMfTzq','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','vu5pvevtvf9dt05tt0Xf','CgfYC2vuAwnRzxrdAq','igLZigfSC28GC2v0igLUihLVDxiGC2HLBgWGzw52AxjVBM1LBNqG4OcuigL0ihDPBgWGA2vLCcbYzxnVBhzPBMCGzNjVBsb0AgvYzsaODgHLigvUDMLYB25Tzw50ihDPBNmGB3zLCIb0AguGzMLSzsKU','zgvMAw5LuhjVCgvYDhK','yxv0Ag9YAw5N','vu5pvevtvf9erujvr19lruvqx0nbteXt','zhvYyxrPB25nCW','AgfZ','CgfYC2vdAvj1BLjLCxvLC3q','vvrd','yxbWlxnLCNzLCJPYzxvZzwq','z2v0uMfUzg9TvMfSDwvZ','CMvXDwLYzvj1BKrPCKzVCG','iYaTls0G','nZm1mtbbu2XJCva','DMLLD2vY','z2L0AhvI','DMfSAwrHDgvgC1nHzMvoyw1L','CNvUBMvYici','vu5pvevtvf9erujvrW','CgfYC2vcDw5KBgvvCgXVywrszxnWB25Zzq','CgLK','C3rKzxjYlMXVzW','CxvLDwveAxjgB3i','vu5pvevtvf9kvurhrv9it1nu','vu5pvevtvf9kvurhrv9dquXmx1rjtuvpvvrFtvm','CNvU','AxngAw5PDgu','y29TBwfUzhmUANnVBMW','CgfYC2vdAvbYB3zPzgvY','C3rYAw5N','vu5pvevtvf9ftLy','CNvUswrtDgfYDgvKqxq','CgfKu3rHCNq','vu5pvevtvf9cvu5etevFsuq','lNzPzxDLCI5SB2nR','AxngywLSAw5Nu3rHDhvZ','y2fUBM90igXVywqGCNvUBMvYigfKyxb0zxiGiG','zgvIDwDeAxjgB3i','AM9PBG','x2rHEs5QC29UBa','mJC4nJGWzK9wD0PL','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','ig11C3qGyMuGvvbqrvjFu05bs0uGkguUzY4Gqvbqx0jbu0vFvvjmksbZBYbHihnJzw5HCMLVignHBIbYzwzLCMvUy2uGAxqGyNKGBMfTzs4','C291CMnL','rK9sq0vFq09mt1i','vu5pvevtvf9dqunirv9esvi','vu5pvevtvf9kvurhrv9mt0DFtevwruW','vu5pvevtvf9qt1bvuf9huKfdrv9nuW','CgfYC2u','lNnLy3jLDhm','vu5pvevtvf9erujvr19nqvHFqLLurvm','CgfYC2vrDwv1zvrPy2TLDe5HBwu','ywn0AxzLrw52tMfTzq','BNvTyMvY','yxj0AwzHy3rZuM9VDezYB20','z2L0BgfI','x2XHDgvZDc5QC29U','zw5KC1DPDgG','C3rYAw5NtgLZDa','CgfYC2vty2vUyxjPB0fUBM90yxrPB25Z','Dg9tDhjPBMC','C2vJCMv0','yMXVyLbHDgHgB3i','AgvHCNrIzwf0','nJaZodeYr2THBfb4','yxbW','zNjLzxPL','x2jSB2jZ'];_0x2707=function(){return _0x105d41;};return _0x2707();}__name(makeQueueTicketName,_0x1f456e(0x12f));var TICKET_NAME_RE=/^([0-3])-([0-9a-z]+)-([0-9a-f]+)\.json$/;function parseQueueTicketName(_0x242b8e){const _0x45d307={_0x1bef9c:0x113,_0x5e4893:0x14c},_0x19fd1e=_0x1f456e,_0x5f4528=TICKET_NAME_RE[_0x19fd1e(_0x45d307._0x1bef9c)](_0x242b8e);if(!_0x5f4528)return null;const _0x209dd2=Number(_0x5f4528[0x1]),_0x47dfee=queuePriorityFromRank(_0x209dd2);if(_0x47dfee===null)return null;const _0x21a933=parseInt(_0x5f4528[0x2],0x24);if(!Number[_0x19fd1e(_0x45d307._0x5e4893)](_0x21a933))return null;return{'rank':_0x209dd2,'priority':_0x47dfee,'createdAt':_0x21a933,'random':_0x5f4528[0x3]};}__name(parseQueueTicketName,_0x1f456e(0x165));function compareQueueTicketNames(_0x10c928,_0x52127d){const _0xfe946d={_0x2fdbb:0xf0,_0x48facd:0xf0,_0x443698:0xf0,_0x4a787c:0x112,_0x180928:0x112,_0x29232e:0x121},_0x25772c=_0x1f456e,_0xf7d2a7=parseQueueTicketName(_0x10c928),_0x2dc934=parseQueueTicketName(_0x52127d);if(!_0xf7d2a7||!_0x2dc934)return _0x10c928<_0x52127d?-0x1:_0x10c928>_0x52127d?0x1:0x0;if(_0xf7d2a7['rank']!==_0x2dc934[_0x25772c(_0xfe946d._0x2fdbb)])return _0xf7d2a7[_0x25772c(_0xfe946d._0x48facd)]-_0x2dc934[_0x25772c(_0xfe946d._0x443698)];if(_0xf7d2a7[_0x25772c(0x112)]!==_0x2dc934[_0x25772c(_0xfe946d._0x4a787c)])return _0xf7d2a7[_0x25772c(0x112)]-_0x2dc934[_0x25772c(_0xfe946d._0x180928)];return _0xf7d2a7[_0x25772c(0x121)]<_0x2dc934[_0x25772c(0x121)]?-0x1:_0xf7d2a7[_0x25772c(_0xfe946d._0x29232e)]>_0x2dc934[_0x25772c(0x121)]?0x1:0x0;}__name(compareQueueTicketNames,_0x1f456e(0x185));var TICKET_KINDS=[_0x1f456e(0x176),'collection',_0x1f456e(0x135),_0x1f456e(0x1cd)],PRODUCER_KINDS=[_0x1f456e(0x193),_0x1f456e(0x140),_0x1f456e(0x11b),_0x1f456e(0x120),'ci'];function parseQueueTicket(_0x5183a7){const _0x2a17bd={_0x40abcf:0x187,_0x593a12:0xfc,_0x222e03:0x14c,_0xa73180:0xfc,_0x5aeefc:0x14f,_0x58487e:0x1c9,_0xaccbfc:0x1a5,_0xb0fc2d:0x146,_0x359f14:0x1f0},_0x8b9d9b=_0x1f456e;if(!isRecord(_0x5183a7))return null;const {schemaVersion:_0x40cf25,runId:_0x250366,kind:_0x307abd,ref:_0x3619a8,env:_0x4532b7,priority:_0x24788e,weight:_0x306679,producer:_0x437d1d,source:_0x476fea,ci:_0x56f617,createdAt:_0x538784}=_0x5183a7;if(_0x40cf25!==QUEUE_SCHEMA_VERSION)return null;if(typeof _0x250366!==_0x8b9d9b(0x14f)||_0x250366[_0x8b9d9b(_0x2a17bd._0x40abcf)]===0x0)return null;if(typeof _0x3619a8!==_0x8b9d9b(0x14f))return null;if(!TICKET_KINDS['includes'](_0x307abd))return null;if(!QUEUE_PRIORITIES[_0x8b9d9b(_0x2a17bd._0x593a12)](_0x24788e))return null;if(typeof _0x306679!=='number'||!Number[_0x8b9d9b(_0x2a17bd._0x222e03)](_0x306679)||_0x306679<0x1)return null;if(typeof _0x538784!==_0x8b9d9b(0x167)||!Number['isFinite'](_0x538784))return null;if(!isRecord(_0x437d1d))return null;if(!PRODUCER_KINDS[_0x8b9d9b(_0x2a17bd._0xa73180)](_0x437d1d['kind']))return null;if(typeof _0x437d1d['pid']!=='number'||typeof _0x437d1d[_0x8b9d9b(0x1f0)]!==_0x8b9d9b(_0x2a17bd._0x5aeefc))return null;if(_0x4532b7!==void 0x0&&typeof _0x4532b7!=='string')return null;let _0x2d3cec=null;if(_0x476fea!==void 0x0){if(!isRecord(_0x476fea)||typeof _0x476fea['bundleId']!=='string'||_0x476fea[_0x8b9d9b(_0x2a17bd._0x58487e)][_0x8b9d9b(_0x2a17bd._0x40abcf)]===0x0)return null;_0x2d3cec={'bundleId':_0x476fea[_0x8b9d9b(0x1c9)]};}let _0x1db3d5=null;if(_0x56f617!==void 0x0){_0x1db3d5=parseTicketCi(_0x56f617);if(_0x1db3d5===null)return null;}return{'schemaVersion':QUEUE_SCHEMA_VERSION,'runId':_0x250366,'kind':_0x307abd,'ref':_0x3619a8,'priority':_0x24788e,'weight':_0x306679,'producer':{'kind':_0x437d1d[_0x8b9d9b(_0x2a17bd._0xaccbfc)],'pid':_0x437d1d[_0x8b9d9b(_0x2a17bd._0xb0fc2d)],'host':_0x437d1d[_0x8b9d9b(_0x2a17bd._0x359f14)]},'createdAt':_0x538784,...typeof _0x4532b7===_0x8b9d9b(_0x2a17bd._0x5aeefc)?{'env':_0x4532b7}:{},..._0x2d3cec?{'source':_0x2d3cec}:{},..._0x1db3d5?{'ci':_0x1db3d5}:{}};}__name(parseQueueTicket,_0x1f456e(0xee));function parseTicketCi(_0x4d6814){const _0x4b90f0={_0x1a4a0c:0x1a3,_0x59912e:0x111,_0x2de4e1:0x14f,_0x8bacf2:0x167},_0x30092a=_0x1f456e;if(!isRecord(_0x4d6814))return null;const _0x2f66ad=parseCiProvider(_0x4d6814[_0x30092a(_0x4b90f0._0x1a4a0c)]);if(_0x2f66ad===null)return null;const {repo:_0x2469fb,branch:_0xa5801a,sha:_0x290778,pr:_0x439491,checkId:_0x3b2770}=_0x4d6814;for(const _0x43b716 of[_0x2469fb,_0xa5801a,_0x290778,_0x3b2770]){if(_0x43b716!==void 0x0&&typeof _0x43b716!=='string')return null;}if(_0x439491!==void 0x0&&(typeof _0x439491!=='number'||!Number[_0x30092a(_0x4b90f0._0x59912e)](_0x439491)))return null;return{'provider':_0x2f66ad,...typeof _0x2469fb===_0x30092a(0x14f)?{'repo':_0x2469fb}:{},...typeof _0xa5801a===_0x30092a(_0x4b90f0._0x2de4e1)?{'branch':_0xa5801a}:{},...typeof _0x290778===_0x30092a(0x14f)?{'sha':_0x290778}:{},...typeof _0x439491===_0x30092a(_0x4b90f0._0x8bacf2)?{'pr':_0x439491}:{},...typeof _0x3b2770==='string'?{'checkId':_0x3b2770}:{}};}__name(parseTicketCi,_0x1f456e(0x132));var BUNDLE_SCHEMA_VERSION=0x1,BUNDLE_MANIFEST_FILE=_0x1f456e(0x1d6),BUNDLE_UPLOAD_PATH=_0x1f456e(0x1e4),BOX_URL_ENV='UNOTEST_BOX_URL',BOX_TOKEN_ENV=_0x1f456e(0xe7),BUNDLE_ID_ENV=_0x1f456e(0x153);function parseGitInfo(_0x261804){const _0x321e14={_0x33a409:0x1d8,_0x55ec87:0x14f,_0x2b8144:0x14f},_0x1cc1ae=_0x1f456e;if(!isRecord(_0x261804))return null;const {repo:_0x1111f1,branch:_0x4f130f,sha:_0x2052f6,dirty:_0x51369d}=_0x261804;if(typeof _0x51369d!==_0x1cc1ae(_0x321e14._0x33a409))return null;for(const _0x123138 of[_0x1111f1,_0x4f130f,_0x2052f6]){if(_0x123138!==void 0x0&&typeof _0x123138!==_0x1cc1ae(_0x321e14._0x55ec87))return null;}return{'dirty':_0x51369d,...typeof _0x1111f1===_0x1cc1ae(_0x321e14._0x55ec87)?{'repo':_0x1111f1}:{},...typeof _0x4f130f===_0x1cc1ae(0x14f)?{'branch':_0x4f130f}:{},...typeof _0x2052f6===_0x1cc1ae(_0x321e14._0x2b8144)?{'sha':_0x2052f6}:{}};}__name(parseGitInfo,_0x1f456e(0x11c));function parseBundleManifest(_0x3b2213){const _0x563d3e={_0x168d2a:0x14f,_0x55055d:0x1ee,_0x3d96e4:0x14f,_0xa38849:0x14c,_0x398b35:0x111,_0x14a9c6:0x167,_0x53459d:0x187},_0x505d1e=_0x1f456e;if(!isRecord(_0x3b2213))return null;const {schemaVersion:_0x531279,bundleId:_0x266a5a,sha256:_0x54328d,createdAt:_0x4235d5,webVersion:_0x3aae9f,author:_0x527dde,git:_0x3a8ac2,fileCount:_0x166df4,byteSize:_0x5a0351,declaredVariables:_0x4fcbb2}=_0x3b2213;if(_0x531279!==BUNDLE_SCHEMA_VERSION)return null;if(typeof _0x266a5a!==_0x505d1e(_0x563d3e._0x168d2a)||_0x266a5a['length']===0x0)return null;if(_0x54328d!==void 0x0&&!/^[0-9a-f]{64}$/[_0x505d1e(_0x563d3e._0x55055d)](String(_0x54328d)))return null;if(typeof _0x3aae9f!==_0x505d1e(_0x563d3e._0x3d96e4)||_0x3aae9f[_0x505d1e(0x187)]===0x0)return null;if(typeof _0x4235d5!=='number'||!Number[_0x505d1e(_0x563d3e._0xa38849)](_0x4235d5))return null;if(typeof _0x166df4!=='number'||!Number[_0x505d1e(_0x563d3e._0x398b35)](_0x166df4))return null;if(typeof _0x5a0351!==_0x505d1e(_0x563d3e._0x14a9c6)||!Number['isInteger'](_0x5a0351))return null;if(_0x527dde!==void 0x0&&typeof _0x527dde!=='string')return null;let _0x10a0c5=null;if(_0x3a8ac2!==void 0x0){_0x10a0c5=parseGitInfo(_0x3a8ac2);if(_0x10a0c5===null)return null;}const _0x1e8b67=Array['isArray'](_0x4fcbb2)?_0x4fcbb2['filter'](_0xaecde5=>typeof _0xaecde5===_0x505d1e(0x14f)):[];return{'schemaVersion':BUNDLE_SCHEMA_VERSION,'bundleId':_0x266a5a,...typeof _0x54328d===_0x505d1e(0x14f)?{'sha256':_0x54328d}:{},'createdAt':_0x4235d5,'webVersion':_0x3aae9f,'fileCount':_0x166df4,'byteSize':_0x5a0351,...typeof _0x527dde==='string'?{'author':_0x527dde}:{},..._0x10a0c5?{'git':_0x10a0c5}:{},..._0x1e8b67[_0x505d1e(_0x563d3e._0x53459d)]>0x0?{'declaredVariables':_0x1e8b67}:{}};}__name(parseBundleManifest,_0x1f456e(0x12c));function describeBundle(_0x481d94){const _0x58b3fd={_0x1d5a67:0x183,_0x3f9d8d:0x1a9,_0x4635db:0x197},_0x2f77de=_0x1f456e,_0x220980=_0x481d94[_0x2f77de(_0x58b3fd._0x1d5a67)];if(!_0x220980||_0x220980['branch']===void 0x0&&_0x220980['sha']===void 0x0)return _0x481d94[_0x2f77de(0x1c9)];const _0x3ce3f7=_0x220980[_0x2f77de(_0x58b3fd._0x3f9d8d)]?_0x220980['sha']['slice'](0x0,0x7):'?',_0xbcd43d=_0x220980[_0x2f77de(_0x58b3fd._0x4635db)]??'?';return _0xbcd43d+'@'+_0x3ce3f7+(_0x220980['dirty']?_0x2f77de(0x123):'');}__name(describeBundle,_0x1f456e(0x1bd));var UPLOAD_ERROR_CODES=['unauthorized','too-large','malformed',_0x1f456e(0x1ce),'min-version','scope-mismatch',_0x1f456e(0x1e8)];function parseBundleUploadResponse(_0xb9631a){const _0x43febb={_0x50b7a9:0x12e,_0x37c558:0x14f,_0x4f7ebe:0xf5},_0x473324=_0x1f456e;if(!isRecord(_0xb9631a))return null;if(isRecord(_0xb9631a[_0x473324(_0x43febb._0x50b7a9)])){const {code:_0x41e445,message:_0x5780b6}=_0xb9631a[_0x473324(0x12e)];if(!UPLOAD_ERROR_CODES[_0x473324(0xfc)](_0x41e445))return null;if(typeof _0x5780b6!==_0x473324(_0x43febb._0x37c558))return null;return{'error':{'code':_0x41e445,'message':_0x5780b6}};}const {status:_0x438b64,bundleId:_0x478f3f}=_0xb9631a;if(_0x438b64!==_0x473324(0x12b)&&_0x438b64!==_0x473324(_0x43febb._0x4f7ebe))return null;if(typeof _0x478f3f!=='string'||_0x478f3f[_0x473324(0x187)]===0x0)return null;const _0x2d2826=parseVariableGaps(_0xb9631a['variableGaps']);return _0x2d2826===null?{'status':_0x438b64,'bundleId':_0x478f3f}:{'status':_0x438b64,'bundleId':_0x478f3f,'variableGaps':_0x2d2826};}__name(parseBundleUploadResponse,_0x1f456e(0x145));function parseVariableGaps(_0x4b68b3){const _0x56a4f1={_0xf792c5:0x18e,_0x1db080:0x14f,_0x249741:0x187},_0x1cc21f=_0x1f456e;if(!Array[_0x1cc21f(_0x56a4f1._0xf792c5)](_0x4b68b3))return null;const _0x7a9c98=[];for(const _0x59003d of _0x4b68b3){if(!isRecord(_0x59003d))continue;const {project:_0x32c7c9,environment:_0x17a6a7,missing:_0x48b473}=_0x59003d;if(typeof _0x32c7c9!==_0x1cc21f(_0x56a4f1._0x1db080)||typeof _0x17a6a7!==_0x1cc21f(_0x56a4f1._0x1db080))continue;if(!Array[_0x1cc21f(0x18e)](_0x48b473))continue;const _0x4473e5=_0x48b473['filter'](_0x29cb8d=>typeof _0x29cb8d==='string');if(_0x4473e5[_0x1cc21f(0x187)]>0x0)_0x7a9c98[_0x1cc21f(0x1d5)]({'project':_0x32c7c9,'environment':_0x17a6a7,'missing':_0x4473e5});}return _0x7a9c98[_0x1cc21f(_0x56a4f1._0x249741)]>0x0?_0x7a9c98:null;}__name(parseVariableGaps,_0x1f456e(0x1bf));var WORKSPACE_SCHEMA_VERSION=0x1,WORKSPACE_FILE=_0x1f456e(0x127);function stringList(_0x592518){const _0x5b7831={_0x5ba089:0x1b1},_0x51c88f=_0x1f456e;if(!Array[_0x51c88f(0x18e)](_0x592518))return null;if(_0x592518[_0x51c88f(_0x5b7831._0x5ba089)](_0x2f4112=>typeof _0x2f4112!=='string'))return null;return _0x592518;}__name(stringList,_0x1f456e(0x16c));function parseBundle(_0x23949a){const _0x5bf20c={_0x18c98e:0x14f,_0x2646a5:0x1d8,_0x35d740:0x167,_0x4c7e99:0x14f,_0x1f4f74:0x14f},_0x528e2e=_0x1f456e;if(!isRecord(_0x23949a))return null;const {bundleId:_0x1ff03a,label:_0x26c452,branch:_0x4b877d,sha:_0x474101,dirty:_0x5867ac,author:_0x4d4680,createdAt:_0x1f1e93,webVersion:_0x17aa99}=_0x23949a;if(typeof _0x1ff03a!==_0x528e2e(0x14f)||_0x1ff03a[_0x528e2e(0x187)]===0x0)return null;if(typeof _0x26c452!=='string'||typeof _0x17aa99!==_0x528e2e(_0x5bf20c._0x18c98e))return null;if(typeof _0x5867ac!==_0x528e2e(_0x5bf20c._0x2646a5))return null;if(typeof _0x1f1e93!==_0x528e2e(_0x5bf20c._0x35d740)||!Number[_0x528e2e(0x14c)](_0x1f1e93))return null;for(const _0x459d5e of[_0x4b877d,_0x474101,_0x4d4680]){if(_0x459d5e!==void 0x0&&typeof _0x459d5e!==_0x528e2e(_0x5bf20c._0x18c98e))return null;}return{'bundleId':_0x1ff03a,'label':_0x26c452,'dirty':_0x5867ac,'createdAt':_0x1f1e93,'webVersion':_0x17aa99,...typeof _0x4b877d===_0x528e2e(_0x5bf20c._0x4c7e99)?{'branch':_0x4b877d}:{},...typeof _0x474101===_0x528e2e(_0x5bf20c._0x1f4f74)?{'sha':_0x474101}:{},...typeof _0x4d4680==='string'?{'author':_0x4d4680}:{}};}__name(parseBundle,_0x1f456e(0x107));function parseWorkspaceFile(_0x1faf62){const _0x123f22={_0x4772e0:0x1d8,_0x11a473:0x167},_0x5d4120=_0x1f456e;if(!isRecord(_0x1faf62))return null;if(_0x1faf62[_0x5d4120(0xed)]!==WORKSPACE_SCHEMA_VERSION)return null;const {workspace:_0x3952f4,environment:_0x16143c,allowSwitch:_0x28c032,currentBundleId:_0x20a055,switchedBy:_0x29a259,switchedAt:_0x22a6c8,bundles:_0x27f269,variables:_0x41649f,secrets:_0x483deb,switchPath:_0x28b38a}=_0x1faf62;if(typeof _0x3952f4!=='string'||typeof _0x16143c!==_0x5d4120(0x14f))return null;if(typeof _0x28c032!==_0x5d4120(_0x123f22._0x4772e0))return null;if(!Array[_0x5d4120(0x18e)](_0x27f269))return null;const _0x5da384=[];for(const _0x54e02f of _0x27f269){const _0x7c3f44=parseBundle(_0x54e02f);if(!_0x7c3f44)return null;_0x5da384['push'](_0x7c3f44);}const _0x1facbc=stringList(_0x41649f),_0x271c24=stringList(_0x483deb);if(!_0x1facbc||!_0x271c24)return null;for(const _0x5576a8 of[_0x20a055,_0x29a259,_0x28b38a]){if(_0x5576a8!==void 0x0&&typeof _0x5576a8!==_0x5d4120(0x14f))return null;}if(_0x22a6c8!==void 0x0&&typeof _0x22a6c8!==_0x5d4120(0x167))return null;return{'schemaVersion':WORKSPACE_SCHEMA_VERSION,'workspace':_0x3952f4,'environment':_0x16143c,'allowSwitch':_0x28c032,'bundles':_0x5da384,'variables':_0x1facbc,'secrets':_0x271c24,...typeof _0x20a055===_0x5d4120(0x14f)?{'currentBundleId':_0x20a055}:{},...typeof _0x29a259===_0x5d4120(0x14f)?{'switchedBy':_0x29a259}:{},...typeof _0x22a6c8===_0x5d4120(_0x123f22._0x11a473)?{'switchedAt':_0x22a6c8}:{},...typeof _0x28b38a==='string'?{'switchPath':_0x28b38a}:{}};}__name(parseWorkspaceFile,'parseWorkspaceFile');function parseScheduleEntry(_0x3c93f5){const _0x295aaf={_0x10a3b5:0x14f,_0x32e837:0xeb,_0x245a95:0x167},_0x256310=_0x1f456e;if(!isRecord(_0x3c93f5))return null;const {collection:_0x241d4b,cron:_0x29396f,env:_0x570031,prepare:_0x306a09,workers:_0x245b27}=_0x3c93f5;if(typeof _0x241d4b!==_0x256310(0x14f)||_0x241d4b['length']===0x0)return null;if(typeof _0x29396f!==_0x256310(_0x295aaf._0x10a3b5)||_0x29396f[_0x256310(_0x295aaf._0x32e837)]()[_0x256310(0x187)]===0x0)return null;if(_0x570031!==void 0x0&&typeof _0x570031!==_0x256310(_0x295aaf._0x10a3b5))return null;if(_0x306a09!==void 0x0&&typeof _0x306a09!==_0x256310(_0x295aaf._0x10a3b5))return null;const _0x4668f2=typeof _0x245b27===_0x256310(_0x295aaf._0x245a95)&&Number['isInteger'](_0x245b27)&&_0x245b27>=0x1?_0x245b27:void 0x0;return{'collection':_0x241d4b,'cron':_0x29396f,..._0x570031!==void 0x0?{'env':_0x570031}:{},..._0x306a09!==void 0x0?{'prepare':_0x306a09}:{},..._0x4668f2!==void 0x0?{'workers':_0x4668f2}:{}};}__name(parseScheduleEntry,_0x1f456e(0x17a));function parseSchedulesJson(_0x2254c2){const _0x6039bc={_0x534947:0x1d5},_0x218bd8=_0x1f456e;let _0x527fd2;try{_0x527fd2=JSON[_0x218bd8(0x162)](_0x2254c2);}catch{return null;}if(!Array[_0x218bd8(0x18e)](_0x527fd2))return null;const _0x2034e4=[];for(const _0x4c2f9c of _0x527fd2){const _0x4b543f=parseScheduleEntry(_0x4c2f9c);if(_0x4b543f)_0x2034e4[_0x218bd8(_0x6039bc._0x534947)](_0x4b543f);}return _0x2034e4;}__name(parseSchedulesJson,'parseSchedulesJson');var BLOBS_DIR=_0x1f456e(0x175),GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,_0x1f456e(0x102));}constructor(_0x184749){const _0x1673aa={_0x462817:0x102},_0x3475e0=_0x1f456e;super(_0x3475e0(0x130)+_0x184749),this[_0x3475e0(0x1b9)]=_0x3475e0(_0x1673aa._0x462817);}};function blobPathFor(_0x871821,_0x2e90b0,_0x3b09ed,_0x36f0fd=0x0){return _0x871821+'/'+blobRelPathFor(_0x2e90b0,_0x3b09ed,_0x36f0fd);}__name(blobPathFor,_0x1f456e(0x170));function blobRelSegmentsFor(_0x180487,_0xc79989,_0x1e87e7=0x0){const _0xb9df6b={_0x5a2ae8:0x1ee,_0x4938bd:0x10e},_0x437b4d=_0x1f456e;if(!HASH_RE[_0x437b4d(_0xb9df6b._0x5a2ae8)](_0x180487))throw new InvalidBlobHashError(_0x180487);const _0x1b9095=_0x1e87e7>0x0?''+GENERATION_SEP+_0x1e87e7:'';return[BLOBS_DIR,_0x180487[_0x437b4d(0x10e)](0x0,0x2),_0x180487[_0x437b4d(_0xb9df6b._0x4938bd)](0x2,0x4),''+_0x180487+_0x1b9095+'.'+_0xc79989];}__name(blobRelSegmentsFor,_0x1f456e(0x1a6));function blobRelPathFor(_0x3fbe57,_0x2103fe,_0x64c58c=0x0){const _0x406cc7={_0x5549ae:0x158},_0x3e2dba=_0x1f456e;return blobRelSegmentsFor(_0x3fbe57,_0x2103fe,_0x64c58c)[_0x3e2dba(_0x406cc7._0x5549ae)]('/');}__name(blobRelPathFor,_0x1f456e(0xf6));function blobsRootFor(_0x537a3e){return _0x537a3e+'/'+BLOBS_DIR;}__name(blobsRootFor,_0x1f456e(0x1ad));var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x42e5bb,_0x1d2ba0){const _0x4c8f66={_0x13028d:0x177,_0x65edc9:0xeb,_0x1c4cab:0x1e1,_0x35eb64:0x10f},_0x28a157=_0x1f456e;if(typeof _0x42e5bb!==_0x28a157(0x14f))return _0x28a157(_0x4c8f66._0x13028d);const _0xc23e88=_0x42e5bb[_0x28a157(_0x4c8f66._0x65edc9)]();if(_0xc23e88['length']===0x0)return _0x28a157(0x1a4);if(_0xc23e88==='.'||_0xc23e88==='..')return'must\x20not\x20be\x20\x22.\x22\x20or\x20\x22..\x22';if(_0xc23e88[_0x28a157(0x118)]('.'))return _0x28a157(_0x4c8f66._0x1c4cab);if(_0x1d2ba0?.[_0x28a157(_0x4c8f66._0x35eb64)]&&_0xc23e88['startsWith']('_'))return _0x28a157(0x1ca);if(FS_UNSAFE_NAME_RE['test'](_0xc23e88))return'must\x20not\x20contain\x20\x5c\x20/\x20:\x20*\x20?\x20\x22\x20<\x20>\x20|\x20or\x20control\x20characters';return null;}__name(validateFsSafeName,_0x1f456e(0x142));var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0x1409d8){return validateFsSafeName(_0x1409d8);}__name(validateCollectionName,_0x1f456e(0x195));var RUN_MANIFEST_FILE=_0x1f456e(0x1a0),RUN_SOURCES_FILE=_0x1f456e(0x1c1),UnsupportedRunKindError=class extends Error{static{__name(this,'UnsupportedRunKindError');}constructor(_0x53e73f,_0x433a37){const _0x3a0747=_0x1f456e;super(_0x3a0747(0x143)+_0x433a37+'\x22\x20does\x20not\x20support\x20run\x20kind\x20\x22'+_0x53e73f+'\x22'),this['name']='UnsupportedRunKindError';}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0x1f456e(0x1b3));}constructor(_0x5e7412,_0x3f6242){const _0x12217c={_0x987318:0x156},_0x381793=_0x1f456e;super(_0x381793(_0x12217c._0x987318)+_0x5e7412+_0x381793(0x101)+_0x3f6242),this['name']=_0x381793(0x1b3);}},RunnerNotConfiguredError=class extends Error{static{__name(this,'RunnerNotConfiguredError');}constructor(_0x24381b){const _0x3c1833=_0x1f456e;super(_0x24381b),this[_0x3c1833(0x1b9)]=_0x3c1833(0x178);}},EXPECT_FAIL_ANNOTATION=_0x1f456e(0x124),ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x1703a5){return ANNOTATION_RE['test'](_0x1703a5);}__name(isAnnotationLine,_0x1f456e(0x11f));function parseScenarioAnnotations(_0x5eb7d2){const _0x12bebb={_0x1bd2c8:0xeb,_0x14ed07:0x118,_0x4479d6:0x1d0},_0x3f4f51=_0x1f456e,_0x43cf61=new Set();for(const _0x504d40 of _0x5eb7d2['split'](/\r?\n/)){const _0x134b6f=_0x504d40[_0x3f4f51(_0x12bebb._0x1bd2c8)]();if(_0x134b6f==='')continue;if(!_0x134b6f[_0x3f4f51(_0x12bebb._0x14ed07)]('//'))break;const _0x11b46f=_0x134b6f['match'](ANNOTATION_RE);if(_0x11b46f)_0x43cf61[_0x3f4f51(_0x12bebb._0x4479d6)](_0x11b46f[0x1]);}return{'expectFail':_0x43cf61[_0x3f4f51(0x138)](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,_0x1f456e(0x16d));var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0xda5703){return validateFsSafeName(_0xda5703,{'reservedUnderscore':!![]});}__name(validateSegmentName,_0x1f456e(0x1ed));var TERMINAL_WS_EVENT=_0x1f456e(0x1cc),RUNNER_CONFIG_KEYS=new Set(['UNOTEST_BROWSER',_0x1f456e(0xe8),_0x1f456e(0x1a8),_0x1f456e(0xfe),_0x1f456e(0xfd),_0x1f456e(0x161),_0x1f456e(0x1df),_0x1f456e(0x103),_0x1f456e(0x1e7),_0x1f456e(0x144),'UNOTEST_DEBUG_DIR',_0x1f456e(0x164),_0x1f456e(0x109),'UNOTEST_DEBUG_HTML_MAX_BYTES',_0x1f456e(0x136),_0x1f456e(0x116),_0x1f456e(0x131),_0x1f456e(0x15f),_0x1f456e(0x194),_0x1f456e(0x15e),_0x1f456e(0x190)]);function isRunnerConfigKey(_0x260be4){const _0x16c98b={_0xdb846:0x138},_0x3e627c=_0x1f456e;return RUNNER_CONFIG_KEYS[_0x3e627c(_0x16c98b._0xdb846)](_0x260be4);}__name(isRunnerConfigKey,_0x1f456e(0x129));function categorizeVariable(_0x44a8be){const _0x1844c1={_0x196617:0x15d,_0x26afe3:0x16f,_0x113085:0x19d},_0x4da939=_0x1f456e;if(_0x44a8be[_0x4da939(_0x1844c1._0x196617)]===_0x4da939(0x1c7))return _0x4da939(_0x1844c1._0x26afe3);return isRunnerConfigKey(_0x44a8be[_0x4da939(0x1b9)])?_0x4da939(_0x1844c1._0x113085):_0x4da939(0x173);}__name(categorizeVariable,'categorizeVariable');function isExternalVarName(_0x16936e){return/^[A-Z][A-Z0-9_]*$/['test'](_0x16936e);}__name(isExternalVarName,_0x1f456e(0x1ea));var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/;function*assignmentEntries(_0x31c166){const _0x1d2c78={_0x14c5fa:0x184,_0x336197:0x1eb,_0x39192f:0x1ee},_0x3d7df5=_0x1f456e;for(const _0x387503 of _0x31c166[_0x3d7df5(_0x1d2c78._0x14c5fa)](/\r?\n/)){const _0x6e9440=_0x387503['trim']();if(_0x6e9440===''||_0x6e9440[_0x3d7df5(0x118)]('#'))continue;const _0x340d5a=_0x6e9440[_0x3d7df5(_0x1d2c78._0x336197)]('=');if(_0x340d5a<=0x0)continue;const _0x8b7fd0=_0x6e9440[_0x3d7df5(0x10e)](0x0,_0x340d5a)['trim']();if(!ENV_KEY_RE[_0x3d7df5(_0x1d2c78._0x39192f)](_0x8b7fd0))continue;yield[_0x8b7fd0,_0x6e9440[_0x3d7df5(0x10e)](_0x340d5a+0x1)[_0x3d7df5(0xeb)]()];}}__name(assignmentEntries,_0x1f456e(0x18c));function parseEnvContent(_0x5a2793){const _0x423462=_0x1f456e,_0xf89c25={};for(const [_0x41d52e,_0x42d416]of assignmentEntries(_0x5a2793)){let _0x8ba335=_0x42d416;if(_0x8ba335['length']>=0x2){const _0x5d8f93=_0x8ba335[0x0],_0x2addea=_0x8ba335[_0x8ba335[_0x423462(0x187)]-0x1];(_0x5d8f93==='\x22'||_0x5d8f93==='\x27')&&_0x5d8f93===_0x2addea&&(_0x8ba335=_0x8ba335[_0x423462(0x10e)](0x1,-0x1));}_0xf89c25[_0x41d52e]=_0x8ba335;}return _0xf89c25;}__name(parseEnvContent,_0x1f456e(0xf1));function serializeEnvValue(_0x11157c){const _0x4098d1={_0x422cf5:0x1c6},_0x4cb5df=_0x1f456e;if(_0x11157c==='')return'';if(/[\s#"'=\\]|^[`]/[_0x4cb5df(0x1ee)](_0x11157c)||/[\n\r]/['test'](_0x11157c)){const _0x9aa512=_0x11157c['replace'](/\\/g,'\x5c\x5c')[_0x4cb5df(0x1c6)](/"/g,'\x5c\x22')[_0x4cb5df(_0x4098d1._0x422cf5)](/\n/g,'\x5cn')[_0x4cb5df(_0x4098d1._0x422cf5)](/\r/g,'\x5cr');return'\x22'+_0x9aa512+'\x22';}return _0x11157c;}__name(serializeEnvValue,_0x1f456e(0x17e));function envKeys(_0xceeec9){const _0x1e4346={_0x4b83b1:0x1d0},_0x3d64f3=_0x1f456e,_0x35b2a1=new Set();for(const [_0x4b44fd]of assignmentEntries(_0xceeec9))_0x35b2a1[_0x3d64f3(_0x1e4346._0x4b83b1)](_0x4b44fd);return _0x35b2a1;}__name(envKeys,_0x1f456e(0x17d));function isSectionDivider(_0x4c9756){const _0x14144e={_0x47a3cb:0x1ee},_0x5d8553=_0x1f456e,_0x2c9d10=_0x4c9756[_0x5d8553(0xeb)]();return _0x2c9d10['startsWith']('#')&&/---/[_0x5d8553(_0x14144e._0x47a3cb)](_0x2c9d10);}__name(isSectionDivider,'isSectionDivider');function isAssignmentLine(_0x37cdca){const _0x431558={_0x3f32c8:0x118,_0x630781:0x1eb,_0x383753:0xeb},_0x562670=_0x1f456e,_0x247000=_0x37cdca['trim']();if(_0x247000===''||_0x247000[_0x562670(_0x431558._0x3f32c8)]('#'))return![];const _0x27bd85=_0x247000[_0x562670(_0x431558._0x630781)]('=');return _0x27bd85>0x0&&ENV_KEY_RE['test'](_0x247000[_0x562670(0x10e)](0x0,_0x27bd85)[_0x562670(_0x431558._0x383753)]());}__name(isAssignmentLine,'isAssignmentLine');function isAssignmentOf(_0x36fb5e,_0x1c1eed){const _0x4a4b31={_0x5c41bd:0x118,_0x328fd6:0x1eb},_0x32694b=_0x1f456e,_0x458201=_0x36fb5e['trim']();if(_0x458201===''||_0x458201[_0x32694b(_0x4a4b31._0x5c41bd)]('#'))return![];const _0x1c1090=_0x458201[_0x32694b(_0x4a4b31._0x328fd6)]('=');if(_0x1c1090<=0x0)return![];return _0x458201['slice'](0x0,_0x1c1090)[_0x32694b(0xeb)]()===_0x1c1eed;}__name(isAssignmentOf,_0x1f456e(0x1e9));function splitLines(_0x159ed2){const _0x147510={_0x417251:0x16b},_0xbf8684=_0x1f456e,_0x4c625e=_0x159ed2[_0xbf8684(_0x147510._0x417251)]('\x0a'),_0x1fdf94=_0x4c625e?_0x159ed2[_0xbf8684(0x10e)](0x0,-0x1):_0x159ed2;return{'lines':_0x1fdf94===''?[]:_0x1fdf94[_0xbf8684(0x184)]('\x0a'),'trailingNewline':_0x4c625e};}__name(splitLines,'splitLines');function joinLines(_0x3ac6ce,_0x108815){const _0x40e818={_0x4c6062:0x158},_0x5daef7=_0x1f456e,_0x1285b7=_0x3ac6ce[_0x5daef7(_0x40e818._0x4c6062)]('\x0a');return _0x108815||_0x1285b7===''?_0x1285b7+'\x0a':_0x1285b7;}__name(joinLines,'joinLines');function insertEnvVar(_0x5c790a,_0x87c8e0,_0xa99877,_0x34f6bf){const _0x4d515c={_0x4e5755:0x1cb,_0x251fd5:0x187,_0xf5f54c:0x187,_0x587ddd:0x1d5},_0x545c35=_0x1f456e,_0x143576=_0x87c8e0+'='+serializeEnvValue(_0xa99877),{lines:_0x5b339d,trailingNewline:_0x3a3285}=splitLines(_0x5c790a);if(_0x34f6bf){const _0x4b582b=new RegExp('\x5cb'+_0x34f6bf[_0x545c35(0x1be)]()+'\x5cb'),_0x712f95=_0x5b339d[_0x545c35(_0x4d515c._0x4e5755)](_0x1d0275=>isSectionDivider(_0x1d0275)&&_0x4b582b[_0x545c35(0x1ee)](_0x1d0275['toLowerCase']()));if(_0x712f95!==-0x1){let _0x246d2e=_0x5b339d[_0x545c35(_0x4d515c._0x251fd5)];for(let _0x21b0b0=_0x712f95+0x1;_0x21b0b0<_0x5b339d['length'];_0x21b0b0++){if(isSectionDivider(_0x5b339d[_0x21b0b0])){_0x246d2e=_0x21b0b0;break;}}let _0x312bff=-0x1,_0x5d918f=-0x1;for(let _0x3b2834=_0x712f95+0x1;_0x3b2834<_0x246d2e;_0x3b2834++){if(_0x5b339d[_0x3b2834]['trim']()!=='')_0x5d918f=_0x3b2834;if(isAssignmentLine(_0x5b339d[_0x3b2834]))_0x312bff=_0x3b2834;}const _0x151b19=_0x312bff>=0x0?_0x312bff:_0x5d918f,_0x428d60=_0x151b19>=0x0?_0x151b19+0x1:_0x712f95+0x1;return _0x5b339d['splice'](_0x428d60,0x0,_0x143576),joinLines(_0x5b339d,_0x3a3285||_0x5b339d[_0x545c35(_0x4d515c._0xf5f54c)]>0x0);}if(_0x5b339d[_0x545c35(0x187)]>0x0)_0x5b339d[_0x545c35(_0x4d515c._0x587ddd)]('');return _0x5b339d['push'](_0x545c35(0x13e)+_0x34f6bf+'\x20---',_0x143576),joinLines(_0x5b339d,!![]);}return _0x5b339d[_0x545c35(0x1d5)](_0x143576),joinLines(_0x5b339d,!![]);}__name(insertEnvVar,_0x1f456e(0x18d));function removeEnvVar(_0x230d3b,_0xe7b953){const _0xac832f={_0x204efa:0x187,_0x4ef7e9:0x187},_0x54df3a=_0x1f456e,{lines:_0x5979e3,trailingNewline:_0x3f7b51}=splitLines(_0x230d3b),_0x527f6e=_0x5979e3['filter'](_0x2a9bc0=>!isAssignmentOf(_0x2a9bc0,_0xe7b953)),_0x4f3927=_0x527f6e[_0x54df3a(_0xac832f._0x204efa)]!==_0x5979e3[_0x54df3a(_0xac832f._0x4ef7e9)];return{'content':joinLines(_0x527f6e,_0x3f7b51),'removed':_0x4f3927};}__name(removeEnvVar,_0x1f456e(0x180));var SECTION_BY_KIND={'app':_0x1f456e(0x182),'runner':_0x1f456e(0x126),'secret':void 0x0};function planAddVariable(_0x2fd052){const _0x43f906={_0x1cf3f4:0x19d,_0x9a0b37:0xf2,_0x26e4c3:0x138,_0x457cea:0x1b2,_0x34ef75:0x138,_0x3435ec:0x16f,_0x538b3b:0xfb,_0x1a4a91:0x16f,_0x105cb6:0x104},_0x3100ff=_0x1f456e,{name:_0x53f312,kind:_0x30441c}=_0x2fd052;if(_0x30441c===_0x3100ff(_0x43f906._0x1cf3f4)){if(!isRunnerConfigKey(_0x53f312))return{'ok':![],'code':_0x3100ff(0x1dd),'message':_0x53f312+_0x3100ff(0x1b6)};}else{if(!isExternalVarName(_0x53f312))return{'ok':![],'code':_0x3100ff(0x1b0),'message':_0x53f312+_0x3100ff(0x15c)};}const _0x4351b5=envKeys(_0x2fd052[_0x3100ff(_0x43f906._0x9a0b37)])[_0x3100ff(_0x43f906._0x26e4c3)](_0x53f312),_0x1acb97=envKeys(_0x2fd052[_0x3100ff(_0x43f906._0x457cea)])[_0x3100ff(_0x43f906._0x34ef75)](_0x53f312),_0xc61f47=_0x30441c===_0x3100ff(_0x43f906._0x3435ec)?'secrets':_0x3100ff(0xe9),_0x4d1950=_0xc61f47===_0x3100ff(0x1c7)?_0x1acb97:_0x4351b5,_0x4c27c4=_0xc61f47===_0x3100ff(0x1c7)?_0x3100ff(_0x43f906._0x538b3b):_0x3100ff(0x1e3);if(_0x4d1950)return{'ok':![],'code':_0x3100ff(0x106),'message':_0x53f312+'\x20already\x20exists\x20in\x20'+_0x4c27c4+'\x20—\x20pick\x20a\x20different\x20name\x20or\x20edit\x20the\x20existing\x20value.'};const _0xa118d9=[];return _0x30441c===_0x3100ff(_0x43f906._0x1a4a91)&&_0x4351b5&&_0xa118d9[_0x3100ff(0x1d5)](_0x53f312+_0x3100ff(_0x43f906._0x105cb6)),_0x30441c!=='secret'&&_0x1acb97&&_0xa118d9['push'](_0x53f312+'\x20is\x20also\x20set\x20in\x20unotest/.secrets\x20—\x20the\x20secret\x20value\x20shadows\x20this\x20one.'),{'ok':!![],'target':_0xc61f47,'sectionLabel':SECTION_BY_KIND[_0x30441c],'warnings':_0xa118d9};}__name(planAddVariable,_0x1f456e(0x199));function deleteShadowWarning(_0x10757c,_0xc6e91c,_0xc43936){const _0x8898cc=_0x1f456e;if(_0xc43936!==void 0x0&&_0xc43936!==_0xc6e91c)return[_0x10757c+_0x8898cc(0x133)];return[];}__name(deleteShadowWarning,_0x1f456e(0xf4));var TERMINAL_RUNTIME_STATES=[_0x1f456e(0x188),_0x1f456e(0x1d2),_0x1f456e(0x19a)];function isTerminalRuntimeState(_0x4eef8a){const _0x2034d9={_0x4301de:0xfc},_0x202945=_0x1f456e;return TERMINAL_RUNTIME_STATES[_0x202945(_0x2034d9._0x4301de)](_0x4eef8a);}__name(isTerminalRuntimeState,_0x1f456e(0x1d1));var JUDGE_ROUTES={'judge':_0x1f456e(0x1e5),'health':_0x1f456e(0x17f)},JUDGE_ENV={'mode':_0x1f456e(0xef),'url':_0x1f456e(0x11e),'token':_0x1f456e(0x1d7),'requestTimeoutMs':_0x1f456e(0xf9),'preamble':_0x1f456e(0xff),'provider':'UNOTEST_JUDGE_PROVIDER','model':_0x1f456e(0x1da),'callTimeoutMs':_0x1f456e(0x14a),'retries':_0x1f456e(0x1ab),'vote':_0x1f456e(0x19b),'accessToken':_0x1f456e(0x1d3),'claudeBin':_0x1f456e(0x192),'host':_0x1f456e(0x149),'port':'UNOTEST_JUDGE_PORT','logLevel':_0x1f456e(0x160),'skipPreflight':'UNOTEST_JUDGE_SKIP_PREFLIGHT'};export{ARTIFACTS_ROOT_ENV,BLOBS_DIR,BOX_TOKEN_ENV,BOX_URL_ENV,BUNDLE_ID_ENV,BUNDLE_MANIFEST_FILE,BUNDLE_SCHEMA_VERSION,BUNDLE_UPLOAD_PATH,CI_RUN_PATH,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,JUDGE_ENV,JUDGE_ROUTES,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,QUEUE_DISABLED_ENV,QUEUE_GLOBAL_DIR_ENV,QUEUE_GLOBAL_SLOTS_ENV,QUEUE_LEASE_ENV,QUEUE_MUTEX_FILE,QUEUE_PRIORITIES,QUEUE_RUNNING_DIR,QUEUE_SCHEMA_VERSION,QUEUE_SLOTS_DIR,QUEUE_SUBDIR,QUEUE_TICKETS_DIR,RUNNER_CONFIG_KEYS,RUNS_SUBDIR,RUNTIME_FILE,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,WORKSPACE_FILE,WORKSPACE_SCHEMA_VERSION,activeEnvName,artifactsRootFrom,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,categorizeVariable,compareQueueTicketNames,debugDirFor,debuggerFileFor,deleteShadowWarning,describeBundle,describeTicketCi,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,insertEnvVar,isAnnotationLine,isExternalVarName,isFailingStatus,isQueueDirName,isRecord,isRegexLiteral,isRunnerConfigKey,isRunsDirName,isTerminalRuntimeState,makeQueueTicketName,makeRunId,parseAppServerEvent,parseBundleManifest,parseBundleUploadResponse,parseCiProvider,parseCiRunRequest,parseCiRunResponse,parseEnvContent,parseQueueTicket,parseQueueTicketName,parseScenarioAnnotations,parseScheduleEntry,parseSchedulesJson,parseWorkspaceFile,planAddVariable,projectQueueRoot,projectRunDirFor,projectRunsRoot,queueDirFor,queuePriorityFromRank,queuePriorityRank,regexLiteral,removeEnvVar,requireRunDirFor,runDirFor,runIdStartedAt,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,testDirFor,validateCollectionName,validateSegmentName};
|
|
1
|
+
const _0x213977=_0x1666;(function(_0x9bfdac,_0x14c09c){const _0x41949b={_0x6496d6:0x27e,_0x2329ae:0x28c,_0x46cd52:0x17c,_0x53ee56:0x1ab,_0x1d2479:0x1f9,_0x320613:0x18d,_0x25dc86:0x1b7},_0x5d43ab=_0x1666,_0xa332b7=_0x9bfdac();while(!![]){try{const _0x258472=parseInt(_0x5d43ab(_0x41949b._0x6496d6))/0x1+parseInt(_0x5d43ab(0x17d))/0x2+-parseInt(_0x5d43ab(_0x41949b._0x2329ae))/0x3*(parseInt(_0x5d43ab(_0x41949b._0x46cd52))/0x4)+-parseInt(_0x5d43ab(_0x41949b._0x53ee56))/0x5*(-parseInt(_0x5d43ab(_0x41949b._0x1d2479))/0x6)+-parseInt(_0x5d43ab(0x292))/0x7+parseInt(_0x5d43ab(_0x41949b._0x320613))/0x8+-parseInt(_0x5d43ab(_0x41949b._0x25dc86))/0x9;if(_0x258472===_0x14c09c)break;else _0xa332b7['push'](_0xa332b7['shift']());}catch(_0xf7d2b4){_0xa332b7['push'](_0xa332b7['shift']());}}}(_0x4112,0x7c4f1));var __defProp=Object[_0x213977(0x1a2)],__name=(_0x7a72db,_0x519155)=>__defProp(_0x7a72db,_0x213977(0x1e9),{'value':_0x519155,'configurable':!![]});function parseAppServerEvent(_0xe77c60){const _0x1fd066={_0x59c688:0x1f4,_0x2f212f:0x24a,_0x1668bc:0x283,_0x7ad98a:0x271,_0x1ddfb0:0x1d9},_0x53273d=_0x213977,_0x364c0d=_0xe77c60[_0x53273d(0x1cc)]();if(!_0x364c0d[_0x53273d(_0x1fd066._0x59c688)]('{'))return null;try{const _0x148984=JSON[_0x53273d(_0x1fd066._0x2f212f)](_0x364c0d);if(_0x148984[_0x53273d(_0x1fd066._0x1668bc)]==='app-server:ready'||_0x148984[_0x53273d(0x283)]===_0x53273d(_0x1fd066._0x7ad98a)||_0x148984[_0x53273d(0x283)]===_0x53273d(_0x1fd066._0x1ddfb0))return _0x148984;return null;}catch{return null;}}__name(parseAppServerEvent,_0x213977(0x1b3));function isRecord(_0x23ce0b){const _0x5cffef={_0x219b8d:0x261,_0x576844:0x1d5},_0xa4e307=_0x213977;return typeof _0x23ce0b===_0xa4e307(_0x5cffef._0x219b8d)&&_0x23ce0b!==null&&!Array[_0xa4e307(_0x5cffef._0x576844)](_0x23ce0b);}__name(isRecord,_0x213977(0x20b));var UNOTEST_DIR='unotest',E2E_SUBDIR=_0x213977(0x25b),HELPERS_SUBDIR=_0x213977(0x26f),COLLECTIONS_SUBDIR='_collections',RUNS_SUBDIR='.runs',SNAPSHOTS_SUBDIR='.snapshots';function testDirFor(_0xbf09a9){return''+E2E_SUBDIR+_0xbf09a9;}__name(testDirFor,_0x213977(0x1f1));function runsDirFor(_0x2d370e,_0x42d003){return''+RUNS_SUBDIR+_0x2d370e+(_0x42d003?'.'+_0x42d003:'');}__name(runsDirFor,_0x213977(0x215));function isRunsDirName(_0x5c5310){const _0x419754={_0x443874:0x1f4},_0x8900ef=_0x213977;return _0x5c5310===RUNS_SUBDIR||_0x5c5310[_0x8900ef(_0x419754._0x443874)](RUNS_SUBDIR+'-')||_0x5c5310[_0x8900ef(0x1f4)](RUNS_SUBDIR+'.');}__name(isRunsDirName,_0x213977(0x29b));function debugDirFor(_0x5a2c67){const _0x4ff8a2=_0x213977;return _0x4ff8a2(0x222)+_0x5a2c67;}__name(debugDirFor,'debugDirFor');function debuggerFileFor(_0x15bd76){const _0x4a4a6c={_0x597af5:0x230},_0x9206e1=_0x213977;return UNOTEST_DIR+_0x9206e1(_0x4a4a6c._0x597af5)+_0x15bd76+_0x9206e1(0x24b);}__name(debuggerFileFor,'debuggerFileFor');var LOCK_FILE=_0x213977(0x1e2),LOG_FILE=_0x213977(0x21a),STEPS_FILE='steps.jsonl',HEARTBEAT_FILE=_0x213977(0x1b9),DAY_INDEX_FILE=_0x213977(0x25a),SCENARIOS_INDEX_DIR=_0x213977(0x229),SCENARIOS_LATEST_FILE=_0x213977(0x286),STDOUT_FILE=_0x213977(0x176),STDERR_FILE=_0x213977(0x1e8),COMMANDS_FILE=_0x213977(0x238),RUNTIME_FILE='runtime.json',PICKER_SNAPSHOT_FILE='picker-snapshot.txt',ENV_FILE=_0x213977(0x1a4),SECRETS_FILE=_0x213977(0x235),SCHEDULES_FILE='unotest/schedules.yaml';function envFileFor(_0x2aa361,_0x4f414f){return''+ENV_FILE+_0x2aa361+(_0x4f414f?'.'+_0x4f414f:'');}__name(envFileFor,_0x213977(0x21f));function secretsFileFor(_0x44cc61,_0x2c78e8){return''+SECRETS_FILE+_0x44cc61+(_0x2c78e8?'.'+_0x2c78e8:'');}__name(secretsFileFor,_0x213977(0x255));function envLayerFilesFor(_0x588578,_0x438da0){return layersFor(ENV_FILE,_0x588578,_0x438da0);}__name(envLayerFilesFor,_0x213977(0x250));function secretsLayerFilesFor(_0x59cccb,_0x2dea59){return layersFor(SECRETS_FILE,_0x59cccb,_0x2dea59);}__name(secretsLayerFilesFor,_0x213977(0x188));function layersFor(_0x1669e1,_0x5a988a,_0x1924fa){const _0x4ca7bd={_0x312586:0x1e5},_0x164526=_0x213977,_0x128cf7=[_0x1669e1];if(_0x5a988a)_0x128cf7[_0x164526(_0x4ca7bd._0x312586)](''+_0x1669e1+_0x5a988a);if(_0x1924fa){_0x128cf7['push'](_0x1669e1+'.'+_0x1924fa);if(_0x5a988a)_0x128cf7['push'](''+_0x1669e1+_0x5a988a+'.'+_0x1924fa);}return _0x128cf7;}__name(layersFor,_0x213977(0x177));var ARTIFACTS_ROOT_ENV='UNOTEST_ARTIFACTS_ROOT';function artifactsRootFrom(_0x4de972,_0x31aa75){const _0x34011e={_0x54a285:0x1cc},_0x26a2b0=_0x213977,_0x3bac2a=_0x4de972[ARTIFACTS_ROOT_ENV]?.[_0x26a2b0(_0x34011e._0x54a285)]();return _0x3bac2a?_0x3bac2a:_0x31aa75;}__name(artifactsRootFrom,_0x213977(0x253));function activeEnvName(_0x2fe831){const _0x25d12f=_0x213977,_0x2ab34e=_0x2fe831['UNOTEST_ENV']?.[_0x25d12f(0x1cc)]();return _0x2ab34e?_0x2ab34e:void 0x0;}__name(activeEnvName,_0x213977(0x20f));var RESERVED_ENV_NAMES=new Set(['example','sample',_0x213977(0x19d)]);function envNamesFromDirListing(_0x4b9108,_0x251d63){const _0x411a85={_0x58b9aa:0x260,_0x9027d9:0x204,_0x5ce917:0x1b0,_0x1fca3e:0x25c},_0x3d4925=_0x213977,_0x3fa392=[_0x3d4925(0x275),_0x3d4925(_0x411a85._0x58b9aa)][_0x3d4925(_0x411a85._0x9027d9)](_0x244b33=>_0x251d63?[_0x244b33,''+_0x244b33+_0x251d63]:[_0x244b33]),_0x4a45ac=new Set();for(const _0x1e0684 of _0x4b9108){for(const _0x43cbf9 of _0x3fa392){const _0x167e77=_0x43cbf9+'.';if(!_0x1e0684[_0x3d4925(0x1f4)](_0x167e77))continue;const _0x506853=_0x1e0684[_0x3d4925(0x1da)](_0x167e77[_0x3d4925(_0x411a85._0x5ce917)]);if(!_0x506853||_0x506853['includes']('/'))continue;if(RESERVED_ENV_NAMES[_0x3d4925(0x243)](_0x506853))continue;_0x4a45ac[_0x3d4925(0x263)](_0x506853);}}return[..._0x4a45ac][_0x3d4925(_0x411a85._0x1fca3e)]();}__name(envNamesFromDirListing,_0x213977(0x1f7));function isRegexLiteral(_0x28216e){const _0x2599ad={_0xfb41c6:0x261,_0x2a2671:0x283},_0xada3af=_0x213977;return typeof _0x28216e===_0xada3af(_0x2599ad._0xfb41c6)&&_0x28216e!==null&&_0x28216e[_0xada3af(_0x2599ad._0x2a2671)]===_0xada3af(0x233)&&typeof _0x28216e[_0xada3af(0x208)]===_0xada3af(0x272)&&typeof _0x28216e['flags']===_0xada3af(0x272);}__name(isRegexLiteral,_0x213977(0x290));function regexLiteral(_0x588824,_0x4b7017=''){const _0xf8db3e={_0x2714bf:0x233},_0x4f855d=_0x213977;return{'kind':_0x4f855d(_0xf8db3e._0x2714bf),'source':_0x588824,'flags':_0x4b7017};}__name(regexLiteral,_0x213977(0x1c8));var RAND_BYTES=0x6;function makeRunId(_0x391fe1){const _0x85391d={_0x5e1b7f:0x1c3,_0x8f2495:0x1c0,_0x51407d:0x211,_0x2a0644:0x296,_0x41f7d1:0x1b0,_0x4eff01:0x179},_0xa8cd2e=_0x213977,_0x58c517=sanitizeRunIdSegment(_0x391fe1),_0x2b0a0b=Date[_0xa8cd2e(_0x85391d._0x5e1b7f)]()[_0xa8cd2e(_0x85391d._0x8f2495)](0x24),_0x114f5e=new Uint8Array(RAND_BYTES);globalThis[_0xa8cd2e(_0x85391d._0x51407d)][_0xa8cd2e(_0x85391d._0x2a0644)](_0x114f5e);let _0x2ab621='';for(let _0x3c8674=0x0;_0x3c8674<_0x114f5e[_0xa8cd2e(_0x85391d._0x41f7d1)];_0x3c8674++){_0x2ab621+=_0x114f5e[_0x3c8674]['toString'](0x10)[_0xa8cd2e(_0x85391d._0x4eff01)](0x2,'0');}return _0x58c517+'-'+_0x2b0a0b+'-'+_0x2ab621;}__name(makeRunId,'makeRunId');function sanitizeRunIdSegment(_0x57872c){const _0x522c2d={_0xe2f13a:0x29c,_0x50f10a:0x1b0},_0x31b4d8=_0x213977,_0x23feb2=_0x57872c[_0x31b4d8(_0x522c2d._0xe2f13a)](/[^a-zA-Z0-9_-]+/g,'-')['replace'](/-+/g,'-')[_0x31b4d8(0x29c)](/^-|-$/g,'');return _0x23feb2[_0x31b4d8(_0x522c2d._0x50f10a)]>0x0?_0x23feb2:'run';}__name(sanitizeRunIdSegment,_0x213977(0x170));var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date[_0x213977(0x1e3)](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date[_0x213977(0x1e3)](0x834,0x0,0x1);function runIdStartedAt(_0x73fb2a){const _0x868c3={_0x1e3998:0x18c,_0x2397a0:0x1b0},_0x9100e9=_0x213977,_0x461bee=_0x73fb2a[_0x9100e9(_0x868c3._0x1e3998)]('-');if(_0x461bee[_0x9100e9(0x1b0)]<0x3)return null;const _0x34a145=_0x461bee[_0x461bee['length']-0x1];if(!RANDOM_SUFFIX_RE['test'](_0x34a145))return null;const _0x3f6a3c=_0x461bee[_0x461bee[_0x9100e9(_0x868c3._0x2397a0)]-0x2];if(!/^[0-9a-z]+$/['test'](_0x3f6a3c))return null;const _0x398c8c=parseInt(_0x3f6a3c,0x24);if(!Number['isFinite'](_0x398c8c))return null;if(_0x398c8c<MIN_PLAUSIBLE_MS||_0x398c8c>=MAX_PLAUSIBLE_MS)return null;return _0x398c8c;}__name(runIdStartedAt,_0x213977(0x194));function shardPathForTimestamp(_0x281c59){const _0x15a32e={_0x1643c8:0x187,_0x563414:0x1d3,_0x52f0b4:0x179},_0x14d558=_0x213977,_0x247599=new Date(_0x281c59),_0x1cd572=String(_0x247599[_0x14d558(_0x15a32e._0x1643c8)]())[_0x14d558(0x179)](0x4,'0'),_0x29450c=String(_0x247599['getUTCMonth']()+0x1)[_0x14d558(0x179)](0x2,'0'),_0xfad31=String(_0x247599[_0x14d558(_0x15a32e._0x563414)]())[_0x14d558(_0x15a32e._0x52f0b4)](0x2,'0');return _0x1cd572+'/'+_0x29450c+'/'+_0xfad31;}__name(shardPathForTimestamp,_0x213977(0x1ac));function shardPathForRunId(_0x1e12de){const _0x39ca61=runIdStartedAt(_0x1e12de);return _0x39ca61===null?null:shardPathForTimestamp(_0x39ca61);}__name(shardPathForRunId,'shardPathForRunId');function runDirFor(_0x3073ce,_0x55c98a){const _0x545773=shardPathForRunId(_0x55c98a);return _0x545773===null?null:_0x3073ce+'/'+_0x545773+'/'+_0x55c98a;}__name(runDirFor,_0x213977(0x1bb));var UnplaceableRunIdError=class extends Error{static{__name(this,_0x213977(0x1dc));}constructor(_0x2cebc0){const _0x5a0dba={_0x2730db:0x278},_0x164ce1=_0x213977;super(_0x164ce1(_0x5a0dba._0x2730db)+_0x2cebc0),this['name']='UnplaceableRunIdError';}};function requireRunDirFor(_0x2964bd,_0x18b9f9){const _0x4b721a=runDirFor(_0x2964bd,_0x18b9f9);if(_0x4b721a===null)throw new UnplaceableRunIdError(_0x18b9f9);return _0x4b721a;}__name(requireRunDirFor,_0x213977(0x22e));function projectRunsRoot(_0x1bb4ca='',_0x2e2d7f){return UNOTEST_DIR+'/'+runsDirFor(_0x1bb4ca,_0x2e2d7f);}__name(projectRunsRoot,_0x213977(0x1a7));function projectRunDirFor(_0xc8da82,_0x258261='',_0x3d5888){return requireRunDirFor(projectRunsRoot(_0x258261,_0x3d5888),_0xc8da82);}__name(projectRunDirFor,_0x213977(0x214));function shardDirFor(_0x24813c,_0x3a6c6e){return _0x24813c+'/'+shardPathForTimestamp(_0x3a6c6e);}__name(shardDirFor,_0x213977(0x173));function*shardDaysDescending(_0x195902,_0x18879a,_0x4b4b1b){const _0x44d783={_0x5dfcac:0x17b},_0x4b1ee9=_0x213977,_0x5c42cb=0x5265c00;let _0x5a2c8c=Math[_0x4b1ee9(_0x44d783._0x5dfcac)](_0x18879a/_0x5c42cb)*_0x5c42cb;for(let _0x4db493=0x0;_0x4db493<_0x4b4b1b;_0x4db493++){yield shardDirFor(_0x195902,_0x5a2c8c),_0x5a2c8c-=_0x5c42cb;}}__name(shardDaysDescending,'shardDaysDescending');var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x327086){const _0x3843ec=_0x213977;return _0x327086===_0x3843ec(0x1c9)||_0x327086==='interrupted';}__name(isFailingStatus,_0x213977(0x270));function foldScenarioRun(_0x3e800c,_0x2eb69d){const _0x21deee={_0x1f23f9:0x234,_0x528340:0x1c6},_0xe3c75f=_0x213977,_0x21e94a={'lastRunId':_0x2eb69d['runId'],'lastStatus':_0x2eb69d[_0xe3c75f(0x23a)],'lastAt':_0x2eb69d[_0xe3c75f(_0x21deee._0x1f23f9)],'lastDurationMs':_0x2eb69d[_0xe3c75f(0x202)],'recent':[..._0x3e800c?.[_0xe3c75f(_0x21deee._0x528340)]??[],_0x2eb69d[_0xe3c75f(0x23a)]][_0xe3c75f(0x1da)](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x2eb69d[_0xe3c75f(0x23a)]))return{..._0x21e94a,'failStreak':0x0,'failingSince':null};const _0x27fcfe=(_0x3e800c?.[_0xe3c75f(0x19b)]??0x0)+0x1;return{..._0x21e94a,'failStreak':_0x27fcfe,'failingSince':_0x27fcfe===0x1?_0x2eb69d[_0xe3c75f(_0x21deee._0x1f23f9)]:_0x3e800c?.['failingSince']??_0x2eb69d[_0xe3c75f(0x234)]};}__name(foldScenarioRun,_0x213977(0x21d));function scenarioIndexFileName(_0x181306){const _0x53354b=_0x213977;return encodeURIComponent(_0x181306)+_0x53354b(0x1e7);}__name(scenarioIndexFileName,'scenarioIndexFileName');function scenarioRefFromFileName(_0x4c09a2){const _0xc78d49={_0x271585:0x1e7,_0x195be0:0x1b0},_0x4bd355=_0x213977;if(!_0x4c09a2[_0x4bd355(0x1aa)](_0x4bd355(_0xc78d49._0x271585)))return null;try{return decodeURIComponent(_0x4c09a2[_0x4bd355(0x1da)](0x0,-_0x4bd355(0x1e7)[_0x4bd355(_0xc78d49._0x195be0)]));}catch{return null;}}__name(scenarioRefFromFileName,_0x213977(0x16d));var CI_RUN_PATH='/api/box/ci/run',PROVIDER_IDS=['github',_0x213977(0x1be),'api'],RUN_ERROR_CODES=['unauthorized',_0x213977(0x28f),'unknown-environment',_0x213977(0x221),'no-collections',_0x213977(0x1ee),_0x213977(0x1af)];function parseCiRunRequest(_0x3a0fdd){const _0x3609b8={_0x42de96:0x272,_0x8d28e0:0x1b0,_0x5b45b9:0x1d5,_0xdc2ad2:0x182,_0x180316:0x26b},_0x314fde=_0x213977;if(!isRecord(_0x3a0fdd))return null;const {bundleId:_0x1e82b0,environment:_0x56b222,collections:_0x14442c,pr:_0x1e2698,branch:_0x49135a,sha:_0x3ec62c}=_0x3a0fdd;if(typeof _0x1e82b0!=='string'||_0x1e82b0['length']===0x0)return null;if(typeof _0x56b222!==_0x314fde(_0x3609b8._0x42de96)||_0x56b222[_0x314fde(_0x3609b8._0x8d28e0)]===0x0)return null;let _0x17023b=null;if(_0x14442c!==void 0x0){if(!Array[_0x314fde(_0x3609b8._0x5b45b9)](_0x14442c))return null;if(_0x14442c[_0x314fde(_0x3609b8._0xdc2ad2)](_0x594d89=>typeof _0x594d89!==_0x314fde(0x272)||_0x594d89[_0x314fde(0x1b0)]===0x0))return null;_0x17023b=_0x14442c;}if(_0x1e2698!==void 0x0&&(typeof _0x1e2698!==_0x314fde(_0x3609b8._0x180316)||!Number[_0x314fde(0x1d0)](_0x1e2698)))return null;for(const _0x287fbf of[_0x49135a,_0x3ec62c]){if(_0x287fbf!==void 0x0&&typeof _0x287fbf!==_0x314fde(_0x3609b8._0x42de96))return null;}return{'bundleId':_0x1e82b0,'environment':_0x56b222,..._0x17023b?{'collections':_0x17023b}:{},...typeof _0x1e2698==='number'?{'pr':_0x1e2698}:{},...typeof _0x49135a===_0x314fde(0x272)?{'branch':_0x49135a}:{},...typeof _0x3ec62c==='string'?{'sha':_0x3ec62c}:{}};}__name(parseCiRunRequest,_0x213977(0x264));function parseCiRunResponse(_0x19a60e){const _0x28e0da={_0xc92647:0x216,_0x564546:0x272,_0x317af0:0x1e5,_0x5dea2d:0x26b},_0x242370=_0x213977;if(!isRecord(_0x19a60e))return null;if(isRecord(_0x19a60e[_0x242370(0x216)])){const {code:_0x6b5571,message:_0x70e783}=_0x19a60e[_0x242370(_0x28e0da._0xc92647)];if(!RUN_ERROR_CODES['includes'](_0x6b5571))return null;if(typeof _0x70e783!=='string')return null;return{'error':{'code':_0x6b5571,'message':_0x70e783}};}const {status:_0x459a01,bundleId:_0x15e61b,environment:_0x4cd6f4,runs:_0x2334e4,superseded:_0xa2075b}=_0x19a60e;if(_0x459a01!==_0x242370(0x199))return null;if(typeof _0x15e61b!==_0x242370(0x272)||typeof _0x4cd6f4!==_0x242370(0x272))return null;if(!Array['isArray'](_0x2334e4))return null;const _0x50f099=[];for(const _0x3e9cdc of _0x2334e4){if(!isRecord(_0x3e9cdc))return null;const {runId:_0x2afbab,collection:_0x408dde}=_0x3e9cdc;if(typeof _0x2afbab!==_0x242370(_0x28e0da._0x564546)||typeof _0x408dde!=='string')return null;_0x50f099[_0x242370(_0x28e0da._0x317af0)]({'runId':_0x2afbab,'collection':_0x408dde});}if(_0xa2075b!==void 0x0&&typeof _0xa2075b!=='number')return null;return{'status':'queued','bundleId':_0x15e61b,'environment':_0x4cd6f4,'runs':_0x50f099,...typeof _0xa2075b===_0x242370(_0x28e0da._0x5dea2d)?{'superseded':_0xa2075b}:{}};}__name(parseCiRunResponse,_0x213977(0x191));function parseCiProvider(_0x4b0f6e){const _0x267a74={_0x3cfa80:0x218},_0x4cae92=_0x213977;return PROVIDER_IDS[_0x4cae92(_0x267a74._0x3cfa80)](_0x4b0f6e)?_0x4b0f6e:null;}__name(parseCiProvider,_0x213977(0x1a8));var QUEUE_SUBDIR=_0x213977(0x23c),QUEUE_TICKETS_DIR=_0x213977(0x1b6),QUEUE_RUNNING_DIR=_0x213977(0x1d4),QUEUE_SLOTS_DIR='slots',QUEUE_MUTEX_FILE=_0x213977(0x185),QUEUE_LEASE_ENV=_0x213977(0x1fd),QUEUE_DISABLED_ENV='UNOTEST_NO_QUEUE',QUEUE_GLOBAL_DIR_ENV=_0x213977(0x299),QUEUE_GLOBAL_SLOTS_ENV='UNOTEST_QUEUE_GLOBAL_SLOTS',QUEUE_SCHEMA_VERSION=0x1;function queueDirFor(_0x188a66,_0x2a3db0){return''+QUEUE_SUBDIR+_0x188a66+(_0x2a3db0?'.'+_0x2a3db0:'');}__name(queueDirFor,'queueDirFor');function isQueueDirName(_0x31afef){const _0x2f1341={_0x10281c:0x1f4},_0x453f3e=_0x213977;return _0x31afef===QUEUE_SUBDIR||_0x31afef['startsWith'](QUEUE_SUBDIR+'-')||_0x31afef[_0x453f3e(_0x2f1341._0x10281c)](QUEUE_SUBDIR+'.');}__name(isQueueDirName,_0x213977(0x294));function projectQueueRoot(_0xbc3c1d='',_0x2b3d30){return UNOTEST_DIR+'/'+queueDirFor(_0xbc3c1d,_0x2b3d30);}__name(projectQueueRoot,'projectQueueRoot');var PRIORITY_RANKS=Object[_0x213977(0x207)]({'maintenance':0x0,'interactive':0x1,'ci':0x2,'schedule':0x3}),RANK_PRIORITIES=[_0x213977(0x1c1),_0x213977(0x17e),'ci','schedule'],QUEUE_PRIORITIES=RANK_PRIORITIES;function queuePriorityRank(_0x113f1c){return PRIORITY_RANKS[_0x113f1c];}__name(queuePriorityRank,'queuePriorityRank');function queuePriorityFromRank(_0x443261){return RANK_PRIORITIES[_0x443261]??null;}__name(queuePriorityFromRank,'queuePriorityFromRank');function describeTicketCi(_0x10f8bd){const _0x577776={_0x4fd288:0x1e6,_0xebc8be:0x25d,_0x46696d:0x1f0,_0x20ca5c:0x1da},_0xcea7a=_0x213977,_0x311b39=_0x10f8bd[_0xcea7a(_0x577776._0x4fd288)]?'@'+_0x10f8bd['sha'][_0xcea7a(0x1da)](0x0,0x7):'';if(_0x10f8bd['pr']!==void 0x0)return _0xcea7a(_0x577776._0xebc8be)+_0x10f8bd['pr']+_0x311b39;if(_0x10f8bd[_0xcea7a(_0x577776._0x46696d)]!==void 0x0)return''+_0x10f8bd['branch']+_0x311b39;return _0x311b39[_0xcea7a(0x1b0)]>0x0?_0x311b39[_0xcea7a(_0x577776._0x20ca5c)](0x1):_0x10f8bd[_0xcea7a(0x22f)];}__name(describeTicketCi,_0x213977(0x22a));function makeQueueTicketName(_0x5810d1,_0x2a8852,_0xc4d2c1){return queuePriorityRank(_0x5810d1)+'-'+_0x2a8852['toString'](0x24)+'-'+_0xc4d2c1+'.json';}__name(makeQueueTicketName,'makeQueueTicketName');var TICKET_NAME_RE=/^([0-3])-([0-9a-z]+)-([0-9a-f]+)\.json$/;function parseQueueTicketName(_0x5459b0){const _0x535221={_0x3a782d:0x293,_0x20179f:0x184},_0x5a2bd4=_0x213977,_0x42245c=TICKET_NAME_RE[_0x5a2bd4(_0x535221._0x3a782d)](_0x5459b0);if(!_0x42245c)return null;const _0x4c7a95=Number(_0x42245c[0x1]),_0x58ef72=queuePriorityFromRank(_0x4c7a95);if(_0x58ef72===null)return null;const _0x55cd6e=parseInt(_0x42245c[0x2],0x24);if(!Number[_0x5a2bd4(_0x535221._0x20179f)](_0x55cd6e))return null;return{'rank':_0x4c7a95,'priority':_0x58ef72,'createdAt':_0x55cd6e,'random':_0x42245c[0x3]};}__name(parseQueueTicketName,'parseQueueTicketName');function compareQueueTicketNames(_0x54959f,_0x2316df){const _0x5aa4b8={_0x50d26f:0x29a,_0x2595cd:0x16e,_0x5a55d7:0x16e},_0x2df1e6=_0x213977,_0x194f32=parseQueueTicketName(_0x54959f),_0x541e29=parseQueueTicketName(_0x2316df);if(!_0x194f32||!_0x541e29)return _0x54959f<_0x2316df?-0x1:_0x54959f>_0x2316df?0x1:0x0;if(_0x194f32[_0x2df1e6(0x29a)]!==_0x541e29['rank'])return _0x194f32['rank']-_0x541e29[_0x2df1e6(_0x5aa4b8._0x50d26f)];if(_0x194f32['createdAt']!==_0x541e29[_0x2df1e6(0x1b8)])return _0x194f32[_0x2df1e6(0x1b8)]-_0x541e29['createdAt'];return _0x194f32['random']<_0x541e29[_0x2df1e6(_0x5aa4b8._0x2595cd)]?-0x1:_0x194f32[_0x2df1e6(_0x5aa4b8._0x5a55d7)]>_0x541e29[_0x2df1e6(0x16e)]?0x1:0x0;}__name(compareQueueTicketNames,'compareQueueTicketNames');var TICKET_KINDS=[_0x213977(0x262),_0x213977(0x1a9),_0x213977(0x19c),_0x213977(0x1c1)],PRODUCER_KINDS=[_0x213977(0x224),_0x213977(0x1b5),_0x213977(0x1ce),'schedule','ci'];function parseQueueTicket(_0x581cb1){const _0x954860={_0x3e6927:0x272,_0x2762c5:0x218,_0x2114e5:0x26b,_0x2e7ef3:0x26b,_0x18d593:0x272,_0x4aa83a:0x1ca,_0x4bac24:0x193},_0x19979a=_0x213977;if(!isRecord(_0x581cb1))return null;const {schemaVersion:_0xe9eeb3,runId:_0x36ec4d,kind:_0x2b4869,ref:_0x62f200,env:_0x1b977c,priority:_0x497d58,weight:_0x30f6b9,producer:_0x4d94b0,source:_0x39172d,ci:_0x234b0a,createdAt:_0x54b7ca}=_0x581cb1;if(_0xe9eeb3!==QUEUE_SCHEMA_VERSION)return null;if(typeof _0x36ec4d!=='string'||_0x36ec4d[_0x19979a(0x1b0)]===0x0)return null;if(typeof _0x62f200!==_0x19979a(_0x954860._0x3e6927))return null;if(!TICKET_KINDS['includes'](_0x2b4869))return null;if(!QUEUE_PRIORITIES[_0x19979a(_0x954860._0x2762c5)](_0x497d58))return null;if(typeof _0x30f6b9!==_0x19979a(_0x954860._0x2114e5)||!Number[_0x19979a(0x184)](_0x30f6b9)||_0x30f6b9<0x1)return null;if(typeof _0x54b7ca!==_0x19979a(_0x954860._0x2e7ef3)||!Number[_0x19979a(0x184)](_0x54b7ca))return null;if(!isRecord(_0x4d94b0))return null;if(!PRODUCER_KINDS[_0x19979a(0x218)](_0x4d94b0[_0x19979a(0x283)]))return null;if(typeof _0x4d94b0['pid']!=='number'||typeof _0x4d94b0[_0x19979a(0x193)]!==_0x19979a(_0x954860._0x18d593))return null;if(_0x1b977c!==void 0x0&&typeof _0x1b977c!=='string')return null;let _0x3392a2=null;if(_0x39172d!==void 0x0){if(!isRecord(_0x39172d)||typeof _0x39172d[_0x19979a(_0x954860._0x4aa83a)]!==_0x19979a(_0x954860._0x3e6927)||_0x39172d[_0x19979a(_0x954860._0x4aa83a)]['length']===0x0)return null;_0x3392a2={'bundleId':_0x39172d[_0x19979a(_0x954860._0x4aa83a)]};}let _0x35afd7=null;if(_0x234b0a!==void 0x0){_0x35afd7=parseTicketCi(_0x234b0a);if(_0x35afd7===null)return null;}return{'schemaVersion':QUEUE_SCHEMA_VERSION,'runId':_0x36ec4d,'kind':_0x2b4869,'ref':_0x62f200,'priority':_0x497d58,'weight':_0x30f6b9,'producer':{'kind':_0x4d94b0['kind'],'pid':_0x4d94b0[_0x19979a(0x268)],'host':_0x4d94b0[_0x19979a(_0x954860._0x4bac24)]},'createdAt':_0x54b7ca,...typeof _0x1b977c===_0x19979a(0x272)?{'env':_0x1b977c}:{},..._0x3392a2?{'source':_0x3392a2}:{},..._0x35afd7?{'ci':_0x35afd7}:{}};}__name(parseQueueTicket,_0x213977(0x1cf));function parseTicketCi(_0x353f32){const _0x1e0759={_0x94b101:0x272,_0x2b5fc4:0x26b,_0x2bb627:0x272,_0x22c919:0x272},_0x16ec02=_0x213977;if(!isRecord(_0x353f32))return null;const _0x3774c4=parseCiProvider(_0x353f32['provider']);if(_0x3774c4===null)return null;const {repo:_0x5f81c,branch:_0x1ff404,sha:_0x896f39,pr:_0x55997d,checkId:_0xaa9f3}=_0x353f32;for(const _0x435f6f of[_0x5f81c,_0x1ff404,_0x896f39,_0xaa9f3]){if(_0x435f6f!==void 0x0&&typeof _0x435f6f!==_0x16ec02(_0x1e0759._0x94b101))return null;}if(_0x55997d!==void 0x0&&(typeof _0x55997d!==_0x16ec02(_0x1e0759._0x2b5fc4)||!Number['isInteger'](_0x55997d)))return null;return{'provider':_0x3774c4,...typeof _0x5f81c===_0x16ec02(_0x1e0759._0x2bb627)?{'repo':_0x5f81c}:{},...typeof _0x1ff404===_0x16ec02(_0x1e0759._0x22c919)?{'branch':_0x1ff404}:{},...typeof _0x896f39==='string'?{'sha':_0x896f39}:{},...typeof _0x55997d===_0x16ec02(0x26b)?{'pr':_0x55997d}:{},...typeof _0xaa9f3==='string'?{'checkId':_0xaa9f3}:{}};}__name(parseTicketCi,_0x213977(0x25e));var BUNDLE_SCHEMA_VERSION=0x1,BUNDLE_MANIFEST_FILE=_0x213977(0x246),BUNDLE_UPLOAD_PATH='/api/box/bundles',BOX_URL_ENV='UNOTEST_BOX_URL',BOX_TOKEN_ENV='UNOTEST_BOX_TOKEN',BUNDLE_ID_ENV=_0x213977(0x227),SCHEDULES_FINGERPRINT_ENV=_0x213977(0x245);function parseGitInfo(_0x27888c){const _0x266ac6={_0x518449:0x284},_0x4a9b05=_0x213977;if(!isRecord(_0x27888c))return null;const {repo:_0x345274,branch:_0x45018f,sha:_0x22f8c6,dirty:_0x3d6149}=_0x27888c;if(typeof _0x3d6149!==_0x4a9b05(_0x266ac6._0x518449))return null;for(const _0x235c27 of[_0x345274,_0x45018f,_0x22f8c6]){if(_0x235c27!==void 0x0&&typeof _0x235c27!==_0x4a9b05(0x272))return null;}return{'dirty':_0x3d6149,...typeof _0x345274===_0x4a9b05(0x272)?{'repo':_0x345274}:{},...typeof _0x45018f==='string'?{'branch':_0x45018f}:{},...typeof _0x22f8c6===_0x4a9b05(0x272)?{'sha':_0x22f8c6}:{}};}__name(parseGitInfo,_0x213977(0x288));function parseBundleManifest(_0x12a19a){const _0x3e1f53={_0x4a7a94:0x1b0,_0x1b3b5e:0x26b,_0x46dc90:0x184,_0x3e21ae:0x272},_0x52f6ff=_0x213977;if(!isRecord(_0x12a19a))return null;const {schemaVersion:_0x2e57d5,bundleId:_0x9050ea,sha256:_0x13bc28,createdAt:_0x371cc9,webVersion:_0x5eafba,author:_0x1ce3bb,git:_0x57b2f5,fileCount:_0x32f704,byteSize:_0x51cdaf,declaredVariables:_0x493537,schedulesFingerprint:_0x3ab806}=_0x12a19a;if(_0x2e57d5!==BUNDLE_SCHEMA_VERSION)return null;if(typeof _0x9050ea!==_0x52f6ff(0x272)||_0x9050ea[_0x52f6ff(_0x3e1f53._0x4a7a94)]===0x0)return null;if(_0x13bc28!==void 0x0&&!/^[0-9a-f]{64}$/[_0x52f6ff(0x1e4)](String(_0x13bc28)))return null;if(typeof _0x5eafba!==_0x52f6ff(0x272)||_0x5eafba[_0x52f6ff(0x1b0)]===0x0)return null;if(typeof _0x371cc9!==_0x52f6ff(_0x3e1f53._0x1b3b5e)||!Number[_0x52f6ff(_0x3e1f53._0x46dc90)](_0x371cc9))return null;if(typeof _0x32f704!=='number'||!Number[_0x52f6ff(0x1d0)](_0x32f704))return null;if(typeof _0x51cdaf!==_0x52f6ff(0x26b)||!Number['isInteger'](_0x51cdaf))return null;if(_0x1ce3bb!==void 0x0&&typeof _0x1ce3bb!==_0x52f6ff(_0x3e1f53._0x3e21ae))return null;let _0x4ae332=null;if(_0x57b2f5!==void 0x0){_0x4ae332=parseGitInfo(_0x57b2f5);if(_0x4ae332===null)return null;}const _0x519b94=Array['isArray'](_0x493537)?_0x493537['filter'](_0x2a471f=>typeof _0x2a471f===_0x52f6ff(0x272)):[],_0x323bfb=typeof _0x3ab806===_0x52f6ff(_0x3e1f53._0x3e21ae)&&/^[0-9a-f]{64}$/[_0x52f6ff(0x1e4)](_0x3ab806)?_0x3ab806:void 0x0;return{'schemaVersion':BUNDLE_SCHEMA_VERSION,'bundleId':_0x9050ea,...typeof _0x13bc28==='string'?{'sha256':_0x13bc28}:{},'createdAt':_0x371cc9,'webVersion':_0x5eafba,'fileCount':_0x32f704,'byteSize':_0x51cdaf,...typeof _0x1ce3bb==='string'?{'author':_0x1ce3bb}:{},..._0x4ae332?{'git':_0x4ae332}:{},..._0x519b94[_0x52f6ff(0x1b0)]>0x0?{'declaredVariables':_0x519b94}:{},..._0x323bfb!==void 0x0?{'schedulesFingerprint':_0x323bfb}:{}};}__name(parseBundleManifest,'parseBundleManifest');function describeBundle(_0x399ffb){const _0x56706d={_0x4fc1ff:0x1b1,_0x1b1da9:0x1f0},_0x5b3ca4=_0x213977,_0x191a3b=_0x399ffb[_0x5b3ca4(_0x56706d._0x4fc1ff)];if(!_0x191a3b||_0x191a3b[_0x5b3ca4(_0x56706d._0x1b1da9)]===void 0x0&&_0x191a3b['sha']===void 0x0)return _0x399ffb['bundleId'];const _0x34c36b=_0x191a3b[_0x5b3ca4(0x1e6)]?_0x191a3b[_0x5b3ca4(0x1e6)][_0x5b3ca4(0x1da)](0x0,0x7):'?',_0x55e695=_0x191a3b[_0x5b3ca4(0x1f0)]??'?';return _0x55e695+'@'+_0x34c36b+(_0x191a3b[_0x5b3ca4(0x28a)]?_0x5b3ca4(0x249):'');}__name(describeBundle,'describeBundle');var UPLOAD_ERROR_CODES=[_0x213977(0x18f),_0x213977(0x26e),'malformed','id-mismatch',_0x213977(0x25f),_0x213977(0x28f),_0x213977(0x1af)];function parseBundleUploadResponse(_0x309550){const _0x5e34eb={_0x53a841:0x218,_0x342707:0x273,_0x2df39b:0x21e,_0x37d12e:0x1b0,_0x532407:0x198},_0x427136=_0x213977;if(!isRecord(_0x309550))return null;if(isRecord(_0x309550['error'])){const {code:_0x350eb6,message:_0x2d387f}=_0x309550['error'];if(!UPLOAD_ERROR_CODES[_0x427136(_0x5e34eb._0x53a841)](_0x350eb6))return null;if(typeof _0x2d387f!=='string')return null;return{'error':{'code':_0x350eb6,'message':_0x2d387f}};}const {status:_0x672ccd,bundleId:_0x3291d7}=_0x309550;if(_0x672ccd!==_0x427136(_0x5e34eb._0x342707)&&_0x672ccd!==_0x427136(_0x5e34eb._0x2df39b))return null;if(typeof _0x3291d7!==_0x427136(0x272)||_0x3291d7[_0x427136(_0x5e34eb._0x37d12e)]===0x0)return null;const _0x20e78b=parseVariableGaps(_0x309550[_0x427136(_0x5e34eb._0x532407)]);return _0x20e78b===null?{'status':_0x672ccd,'bundleId':_0x3291d7}:{'status':_0x672ccd,'bundleId':_0x3291d7,'variableGaps':_0x20e78b};}__name(parseBundleUploadResponse,'parseBundleUploadResponse');function parseVariableGaps(_0x5c3cd7){const _0x4e3d78={_0x4ee6b3:0x272,_0x2a57d9:0x1d5},_0x160a55=_0x213977;if(!Array[_0x160a55(0x1d5)](_0x5c3cd7))return null;const _0x5d4e5a=[];for(const _0x42f952 of _0x5c3cd7){if(!isRecord(_0x42f952))continue;const {project:_0x2b17f4,environment:_0xf7a31e,missing:_0x52ad35}=_0x42f952;if(typeof _0x2b17f4!==_0x160a55(0x272)||typeof _0xf7a31e!==_0x160a55(_0x4e3d78._0x4ee6b3))continue;if(!Array[_0x160a55(_0x4e3d78._0x2a57d9)](_0x52ad35))continue;const _0x48c512=_0x52ad35['filter'](_0x168a42=>typeof _0x168a42===_0x160a55(0x272));if(_0x48c512[_0x160a55(0x1b0)]>0x0)_0x5d4e5a['push']({'project':_0x2b17f4,'environment':_0xf7a31e,'missing':_0x48c512});}return _0x5d4e5a[_0x160a55(0x1b0)]>0x0?_0x5d4e5a:null;}__name(parseVariableGaps,_0x213977(0x180));var WORKSPACE_SCHEMA_VERSION=0x1,WORKSPACE_FILE=_0x213977(0x172);function stringList(_0x29aefd){const _0x23c5aa={_0x3fd135:0x1d5},_0x5080d4=_0x213977;if(!Array[_0x5080d4(_0x23c5aa._0x3fd135)](_0x29aefd))return null;if(_0x29aefd['some'](_0x25dbbf=>typeof _0x25dbbf!=='string'))return null;return _0x29aefd;}__name(stringList,_0x213977(0x23e));function parseBundle(_0x483090){const _0x5b5d9d={_0x12af29:0x1b0,_0x3fcd06:0x272,_0x16aeac:0x26b,_0x50e8e1:0x184,_0x174d78:0x272},_0x59f42c=_0x213977;if(!isRecord(_0x483090))return null;const {bundleId:_0x339da9,label:_0x217c8c,branch:_0x2048ca,sha:_0x4cb796,dirty:_0x360e82,author:_0x96f600,createdAt:_0x3d8934,webVersion:_0x5dc05e}=_0x483090;if(typeof _0x339da9!=='string'||_0x339da9[_0x59f42c(_0x5b5d9d._0x12af29)]===0x0)return null;if(typeof _0x217c8c!==_0x59f42c(0x272)||typeof _0x5dc05e!==_0x59f42c(_0x5b5d9d._0x3fcd06))return null;if(typeof _0x360e82!=='boolean')return null;if(typeof _0x3d8934!==_0x59f42c(_0x5b5d9d._0x16aeac)||!Number[_0x59f42c(_0x5b5d9d._0x50e8e1)](_0x3d8934))return null;for(const _0x4213bd of[_0x2048ca,_0x4cb796,_0x96f600]){if(_0x4213bd!==void 0x0&&typeof _0x4213bd!==_0x59f42c(_0x5b5d9d._0x3fcd06))return null;}return{'bundleId':_0x339da9,'label':_0x217c8c,'dirty':_0x360e82,'createdAt':_0x3d8934,'webVersion':_0x5dc05e,...typeof _0x2048ca==='string'?{'branch':_0x2048ca}:{},...typeof _0x4cb796===_0x59f42c(_0x5b5d9d._0x3fcd06)?{'sha':_0x4cb796}:{},...typeof _0x96f600===_0x59f42c(_0x5b5d9d._0x174d78)?{'author':_0x96f600}:{}};}__name(parseBundle,'parseBundle');function parseWorkspaceFile(_0x3c4cd0){const _0x3d467f={_0x42cbf1:0x1de,_0x21387d:0x272,_0x13f81c:0x272},_0x11a509=_0x213977;if(!isRecord(_0x3c4cd0))return null;if(_0x3c4cd0[_0x11a509(_0x3d467f._0x42cbf1)]!==WORKSPACE_SCHEMA_VERSION)return null;const {workspace:_0x5f2ca4,environment:_0x3b8cd6,allowSwitch:_0x5079b3,currentBundleId:_0x33dbcf,switchedBy:_0xcd53f3,switchedAt:_0xbe873b,bundles:_0x4ba9bf,variables:_0x1d36b0,secrets:_0x2fa699,switchPath:_0x4959cb}=_0x3c4cd0;if(typeof _0x5f2ca4!==_0x11a509(0x272)||typeof _0x3b8cd6!=='string')return null;if(typeof _0x5079b3!=='boolean')return null;if(!Array[_0x11a509(0x1d5)](_0x4ba9bf))return null;const _0x30be41=[];for(const _0x52f10f of _0x4ba9bf){const _0x52b9ea=parseBundle(_0x52f10f);if(!_0x52b9ea)return null;_0x30be41['push'](_0x52b9ea);}const _0x5cf0e5=stringList(_0x1d36b0),_0x12302e=stringList(_0x2fa699);if(!_0x5cf0e5||!_0x12302e)return null;for(const _0x1ceb50 of[_0x33dbcf,_0xcd53f3,_0x4959cb]){if(_0x1ceb50!==void 0x0&&typeof _0x1ceb50!==_0x11a509(_0x3d467f._0x21387d))return null;}if(_0xbe873b!==void 0x0&&typeof _0xbe873b!==_0x11a509(0x26b))return null;return{'schemaVersion':WORKSPACE_SCHEMA_VERSION,'workspace':_0x5f2ca4,'environment':_0x3b8cd6,'allowSwitch':_0x5079b3,'bundles':_0x30be41,'variables':_0x5cf0e5,'secrets':_0x12302e,...typeof _0x33dbcf===_0x11a509(0x272)?{'currentBundleId':_0x33dbcf}:{},...typeof _0xcd53f3==='string'?{'switchedBy':_0xcd53f3}:{},...typeof _0xbe873b===_0x11a509(0x26b)?{'switchedAt':_0xbe873b}:{},...typeof _0x4959cb===_0x11a509(_0x3d467f._0x13f81c)?{'switchPath':_0x4959cb}:{}};}__name(parseWorkspaceFile,_0x213977(0x24f));function _0x1666(_0x52b6dd,_0x182cd2){_0x52b6dd=_0x52b6dd-0x16b;const _0x411258=_0x4112();let _0x1666de=_0x411258[_0x52b6dd];if(_0x1666['lqQmgP']===undefined){var _0x2dd7a9=function(_0x242414){const _0x3392db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7a72db='',_0x519155='';for(let _0xe77c60=0x0,_0x364c0d,_0x148984,_0x23ce0b=0x0;_0x148984=_0x242414['charAt'](_0x23ce0b++);~_0x148984&&(_0x364c0d=_0xe77c60%0x4?_0x364c0d*0x40+_0x148984:_0x148984,_0xe77c60++%0x4)?_0x7a72db+=String['fromCharCode'](0xff&_0x364c0d>>(-0x2*_0xe77c60&0x6)):0x0){_0x148984=_0x3392db['indexOf'](_0x148984);}for(let _0xbf09a9=0x0,_0x2d370e=_0x7a72db['length'];_0xbf09a9<_0x2d370e;_0xbf09a9++){_0x519155+='%'+('00'+_0x7a72db['charCodeAt'](_0xbf09a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x519155);};_0x1666['QfKXhD']=_0x2dd7a9,_0x1666['QvakRK']={},_0x1666['lqQmgP']=!![];}const _0x501f1c=_0x411258[0x0],_0xcc928=_0x52b6dd+_0x501f1c,_0x304d4e=_0x1666['QvakRK'][_0xcc928];return!_0x304d4e?(_0x1666de=_0x1666['QfKXhD'](_0x1666de),_0x1666['QvakRK'][_0xcc928]=_0x1666de):_0x1666de=_0x304d4e,_0x1666de;}function scheduleTarget(_0x19f237){const _0x4295d6={_0x196809:0x1a9,_0x550087:0x1a9},_0x43db35=_0x213977;return _0x19f237[_0x43db35(_0x4295d6._0x196809)]!==void 0x0?{'kind':_0x43db35(_0x4295d6._0x550087),'name':_0x19f237[_0x43db35(0x1a9)]}:{'kind':_0x43db35(0x262),'name':_0x19f237['scenario']};}__name(scheduleTarget,_0x213977(0x287));function parseScheduleEntry(_0xc26b5){const _0x36327c={_0x211fa3:0x272,_0x20b521:0x1b0,_0x13bab7:0x1b0,_0x18db30:0x26b,_0x11c3cf:0x254},_0x3c92b7=_0x213977;if(!isRecord(_0xc26b5))return null;const {collection:_0x1b15a0,scenario:_0x218046,cron:_0x31acbf,env:_0x128b43,prepare:_0x4035b5,workers:_0x6a98e,source:_0x2d894c}=_0xc26b5,_0xea9582=typeof _0x1b15a0===_0x3c92b7(_0x36327c._0x211fa3)&&_0x1b15a0[_0x3c92b7(_0x36327c._0x20b521)]>0x0?_0x218046===void 0x0?{'collection':_0x1b15a0}:null:typeof _0x218046===_0x3c92b7(_0x36327c._0x211fa3)&&_0x218046[_0x3c92b7(_0x36327c._0x13bab7)]>0x0&&_0x1b15a0===void 0x0?{'scenario':_0x218046}:null;if(_0xea9582===null)return null;if(typeof _0x31acbf!=='string'||_0x31acbf['trim']()[_0x3c92b7(0x1b0)]===0x0)return null;if(_0x128b43!==void 0x0&&typeof _0x128b43!==_0x3c92b7(0x272))return null;if(_0x4035b5!==void 0x0&&typeof _0x4035b5!==_0x3c92b7(0x272))return null;const _0x55777b='collection'in _0xea9582&&typeof _0x6a98e===_0x3c92b7(_0x36327c._0x18db30)&&Number[_0x3c92b7(0x1d0)](_0x6a98e)&&_0x6a98e>=0x1?_0x6a98e:void 0x0,_0x530e1c=_0x2d894c===_0x3c92b7(_0x36327c._0x11c3cf)||_0x2d894c===_0x3c92b7(0x1e0)?_0x2d894c:void 0x0;return{..._0xea9582,'cron':_0x31acbf,..._0x128b43!==void 0x0?{'env':_0x128b43}:{},..._0x4035b5!==void 0x0?{'prepare':_0x4035b5}:{},..._0x55777b!==void 0x0?{'workers':_0x55777b}:{},..._0x530e1c!==void 0x0?{'source':_0x530e1c}:{}};}__name(parseScheduleEntry,'parseScheduleEntry');function parseSchedulesDoc(_0x478add){const _0xfc5623={_0x5a3741:0x274,_0x5c15f4:0x283,_0x1114f3:0x1e9,_0x67eef2:0x243},_0x302921=_0x213977;if(_0x478add===null||_0x478add===void 0x0)return{'entries':[]};if(!isRecord(_0x478add))return{'error':_0x302921(0x24d)};const _0x43c7b4=_0x478add['schedules']??[];if(!Array['isArray'](_0x43c7b4))return{'error':'`schedules:`\x20must\x20be\x20an\x20array'};const _0x2df6fc=[],_0xae3d60=new Set();for(const [_0x4251b6,_0x3e4ce9]of _0x43c7b4[_0x302921(_0xfc5623._0x5a3741)]()){const _0x15e644=parseScheduleEntry(_0x3e4ce9);if(!_0x15e644)return{'error':_0x302921(0x297)+_0x4251b6+']\x20is\x20not\x20a\x20valid\x20entry\x20—\x20it\x20needs\x20exactly\x20one\x20of\x20`collection:`\x20/\x20`scenario:`\x20plus\x20a\x20`cron:`\x20string'};const _0x387ced=scheduleTarget(_0x15e644),_0x37280c=_0x387ced[_0x302921(_0xfc5623._0x5c15f4)]+':'+_0x387ced[_0x302921(_0xfc5623._0x1114f3)];if(_0xae3d60[_0x302921(_0xfc5623._0x67eef2)](_0x37280c))return{'error':'schedules['+_0x4251b6+_0x302921(0x28e)+_0x387ced['kind']+'\x20\x22'+_0x387ced['name']+_0x302921(0x1e1)};_0xae3d60[_0x302921(0x263)](_0x37280c),_0x2df6fc[_0x302921(0x1e5)](_0x15e644);}return{'entries':_0x2df6fc};}__name(parseSchedulesDoc,_0x213977(0x213));function mergeSchedules(_0x3b5b58,_0x391f93){const _0x53d2af={_0x169e0e:0x1b4,_0x3d5bb9:0x16f},_0xa90228={_0x6ea9ef:0x243},_0x398a2b=_0x213977,_0x20ed6b=new Set(_0x391f93[_0x398a2b(0x16f)](_0x1e3e45=>{const _0x57af8e=scheduleTarget(_0x1e3e45);return _0x57af8e['kind']+':'+_0x57af8e['name'];})),_0x579415=_0x3b5b58[_0x398a2b(_0x53d2af._0x169e0e)](_0x2603a4=>{const _0x30f9b8=_0x398a2b,_0x2715f8=scheduleTarget(_0x2603a4);return!_0x20ed6b[_0x30f9b8(_0xa90228._0x6ea9ef)](_0x2715f8[_0x30f9b8(0x283)]+':'+_0x2715f8['name']);});return[..._0x579415[_0x398a2b(0x16f)](_0x6b7a5=>({..._0x6b7a5,'source':_0x398a2b(0x254)})),..._0x391f93[_0x398a2b(_0x53d2af._0x3d5bb9)](_0x3dcc87=>({..._0x3dcc87,'source':_0x398a2b(0x1e0)}))];}__name(mergeSchedules,_0x213977(0x252));function canonicalScheduleSet(_0x1b85cb){const _0x44489a={_0x222144:0x1e9,_0x4d8611:0x283},_0x57cc5e={_0x576ec1:0x283,_0x5b9c5d:0x1e9,_0xe970f4:0x1fe,_0x1703a1:0x1d8,_0x3b472e:0x1fb},_0x451d1b=_0x213977,_0x1d38f1=_0x1b85cb[_0x451d1b(0x16f)](_0x3476a9=>{const _0x7b550=_0x451d1b,_0x4eadf5=scheduleTarget(_0x3476a9);return{'kind':_0x4eadf5[_0x7b550(_0x57cc5e._0x576ec1)],'name':_0x4eadf5[_0x7b550(_0x57cc5e._0x5b9c5d)],'cron':_0x3476a9[_0x7b550(_0x57cc5e._0xe970f4)],..._0x3476a9['env']!==void 0x0?{'env':_0x3476a9[_0x7b550(_0x57cc5e._0x1703a1)]}:{},..._0x3476a9[_0x7b550(0x1fb)]!==void 0x0?{'prepare':_0x3476a9[_0x7b550(_0x57cc5e._0x3b472e)]}:{},..._0x3476a9[_0x7b550(0x1ea)]!==void 0x0?{'workers':_0x3476a9[_0x7b550(0x1ea)]}:{}};})[_0x451d1b(0x25c)]((_0x251bb5,_0x478162)=>{const _0x155b52=_0x451d1b,_0x1f035e=_0x251bb5[_0x155b52(0x283)]+':'+_0x251bb5[_0x155b52(_0x44489a._0x222144)],_0x1b3d55=_0x478162[_0x155b52(_0x44489a._0x4d8611)]+':'+_0x478162[_0x155b52(_0x44489a._0x222144)];return _0x1f035e<_0x1b3d55?-0x1:_0x1f035e>_0x1b3d55?0x1:0x0;});return JSON['stringify'](_0x1d38f1);}__name(canonicalScheduleSet,_0x213977(0x183));function parseSchedulesJson(_0x1570ae){const _0x40c431={_0x209f2f:0x24a,_0x25daf2:0x1d5},_0x272d08=_0x213977;let _0x1fb39b;try{_0x1fb39b=JSON[_0x272d08(_0x40c431._0x209f2f)](_0x1570ae);}catch{return null;}if(!Array[_0x272d08(_0x40c431._0x25daf2)](_0x1fb39b))return null;const _0x5627f7=[];for(const _0x354a87 of _0x1fb39b){const _0x6b87d=parseScheduleEntry(_0x354a87);if(_0x6b87d)_0x5627f7['push'](_0x6b87d);}return _0x5627f7;}__name(parseSchedulesJson,_0x213977(0x22d));var FREQ_FIELDS={'m5':{'minutes':![],'hours':![],'days':![]},'m15':{'minutes':![],'hours':![],'days':![]},'h1':{'minutes':!![],'hours':![],'days':![]},'h2':{'minutes':!![],'hours':![],'days':![]},'h4':{'minutes':!![],'hours':![],'days':![]},'h6':{'minutes':!![],'hours':![],'days':![]},'h12':{'minutes':!![],'hours':![],'days':![]},'daily':{'minutes':!![],'hours':!![],'days':![]},'weekly':{'minutes':!![],'hours':!![],'days':!![]}},HOUR_STEP={'h2':0x2,'h4':0x4,'h6':0x6,'h12':0xc};function cronFromSpec(_0x3a070e){const _0x3dd4a3={_0xb07703:0x196,_0x3f2b6d:0x21c,_0xfc4f59:0x1d6,_0x1e6d81:0x258},_0x5ae977=_0x213977,_0xb5b4=list(_0x3a070e[_0x5ae977(_0x3dd4a3._0xb07703)]);switch(_0x3a070e[_0x5ae977(0x1b2)]){case'm5':return _0x5ae977(0x201);case'm15':return _0x5ae977(_0x3dd4a3._0x3f2b6d);case'h1':return _0xb5b4+'\x20*\x20*\x20*\x20*';case'h2':case'h4':case'h6':case'h12':return _0xb5b4+'\x20*/'+HOUR_STEP[_0x3a070e['freq']]+_0x5ae977(0x1d6);case'daily':return _0xb5b4+'\x20'+list(_0x3a070e['hours'])+_0x5ae977(_0x3dd4a3._0xfc4f59);case'weekly':return _0xb5b4+'\x20'+list(_0x3a070e[_0x5ae977(0x20d)])+_0x5ae977(0x248)+list(_0x3a070e[_0x5ae977(_0x3dd4a3._0x1e6d81)]);}}__name(cronFromSpec,_0x213977(0x16b));function specFromCron(_0xc830dd){const _0x128b15={_0x1f5863:0x18c,_0x38de27:0x19e},_0x3fd63a=_0x213977,_0x4908c6=_0xc830dd['trim']()[_0x3fd63a(_0x128b15._0x1f5863)](/\s+/);if(_0x4908c6[_0x3fd63a(0x1b0)]!==0x5)return null;const [_0x9d5942,_0x2b26a5,_0x33bc59,_0x3eb79d,_0x1be6d9]=_0x4908c6;if(_0x33bc59!=='*'||_0x3eb79d!=='*')return null;if(_0x2b26a5==='*'&&_0x1be6d9==='*'){if(_0x9d5942===_0x3fd63a(0x203))return spec('m5');if(_0x9d5942===_0x3fd63a(_0x128b15._0x38de27))return spec(_0x3fd63a(0x1ba));const _0x2f0f9e=numbers(_0x9d5942);return _0x2f0f9e&&spec('h1',_0x2f0f9e);}const _0x263452=numbers(_0x9d5942);if(!_0x263452)return null;const _0x4d39b4=/^\*\/(\d+)$/[_0x3fd63a(0x293)](_0x2b26a5);if(_0x4d39b4&&_0x1be6d9==='*'){const _0x42a7e7=Object['keys'](HOUR_STEP)[_0x3fd63a(0x197)](_0x2101a2=>HOUR_STEP[_0x2101a2]===Number(_0x4d39b4[0x1]));return _0x42a7e7?spec(_0x42a7e7,_0x263452):null;}const _0x43e777=numbers(_0x2b26a5);if(!_0x43e777)return null;if(_0x1be6d9==='*')return spec(_0x3fd63a(0x223),_0x263452,_0x43e777);const _0x3ecfa6=numbers(_0x1be6d9);return _0x3ecfa6&&spec(_0x3fd63a(0x206),_0x263452,_0x43e777,_0x3ecfa6);}__name(specFromCron,_0x213977(0x237));function describeCron(_0x312b1e){const _0x47830c=specFromCron(_0x312b1e);return _0x47830c?describeSpec(_0x47830c):_0x312b1e;}__name(describeCron,_0x213977(0x266));function describeSpec(_0x3679a4){const _0x3c6829={_0x565be5:0x28b,_0x270ecf:0x190,_0xb6c9eb:0x27d,_0x1be3c3:0x223,_0x1af36a:0x242,_0x4367a0:0x16f,_0x5dd387:0x178},_0x17dee7=_0x213977;switch(_0x3679a4['freq']){case'm5':return _0x17dee7(_0x3c6829._0x565be5);case'm15':return _0x17dee7(0x27c);case'h1':return _0x17dee7(_0x3c6829._0x270ecf)+atMinutes(_0x3679a4[_0x17dee7(0x196)]);case'h2':case'h4':case'h6':case _0x17dee7(_0x3c6829._0xb6c9eb):return'every\x20'+HOUR_STEP[_0x3679a4['freq']]+'h'+atMinutes(_0x3679a4[_0x17dee7(0x196)]);case _0x17dee7(_0x3c6829._0x1be3c3):return _0x17dee7(_0x3c6829._0x1af36a)+times(_0x3679a4);case _0x17dee7(0x206):return _0x3679a4[_0x17dee7(0x258)][_0x17dee7(_0x3c6829._0x4367a0)](_0x2c75ea=>DAY_SHORT[_0x2c75ea]??String(_0x2c75ea))[_0x17dee7(_0x3c6829._0x5dd387)](',\x20')+_0x17dee7(0x298)+times(_0x3679a4);}}__name(describeSpec,'describeSpec');function nextTickFromSpec(_0x180f9e,_0x193d67){const _0x40048f={_0x6c2550:0x1a0},_0x19989c=_0x213977,_0x21c2a3=new Date(_0x193d67);_0x21c2a3['setSeconds'](0x0,0x0);for(let _0x31fab6=0x0;_0x31fab6<0x8*0x18*0x3c;_0x31fab6++){_0x21c2a3[_0x19989c(_0x40048f._0x6c2550)](_0x21c2a3[_0x19989c(0x1f3)]()+0x1);if(specMatches(_0x180f9e,_0x21c2a3))return _0x21c2a3[_0x19989c(0x1d1)]();}return _0x21c2a3[_0x19989c(0x1d1)]();}__name(nextTickFromSpec,'nextTickFromSpec');function specMatches(_0x4af7f4,_0xbbe4e0){const _0x463ec3={_0x3e4f42:0x1b2,_0x10d833:0x20d,_0x2c92c0:0x218,_0x6b7854:0x20d},_0x71d909=_0x213977,_0xaad971=_0xbbe4e0['getMinutes'](),_0x5b53fc=_0xbbe4e0[_0x71d909(0x16c)]();switch(_0x4af7f4['freq']){case'm5':return _0xaad971%0x5===0x0;case _0x71d909(0x1ba):return _0xaad971%0xf===0x0;case'h1':return _0x4af7f4[_0x71d909(0x196)][_0x71d909(0x218)](_0xaad971);case'h2':case'h4':case'h6':case'h12':return _0x4af7f4[_0x71d909(0x196)][_0x71d909(0x218)](_0xaad971)&&_0x5b53fc%(HOUR_STEP[_0x4af7f4[_0x71d909(_0x463ec3._0x3e4f42)]]??0x1)===0x0;case _0x71d909(0x223):return _0x4af7f4['minutes'][_0x71d909(0x218)](_0xaad971)&&_0x4af7f4[_0x71d909(_0x463ec3._0x10d833)][_0x71d909(0x218)](_0x5b53fc);case _0x71d909(0x206):return _0x4af7f4['minutes'][_0x71d909(_0x463ec3._0x2c92c0)](_0xaad971)&&_0x4af7f4[_0x71d909(_0x463ec3._0x6b7854)][_0x71d909(_0x463ec3._0x2c92c0)](_0x5b53fc)&&_0x4af7f4['days']['includes'](_0xbbe4e0['getDay']());}}__name(specMatches,_0x213977(0x1f5));function formatNextTick(_0x1ef535,_0x144c40){const _0x485e60={_0x454f74:0x16c,_0x53ab4e:0x1c4},_0x15f988=_0x213977,_0x71bf05=new Date(_0x1ef535),_0xe3be10=new Date(_0x144c40),_0x18c937=pad(_0x71bf05[_0x15f988(_0x485e60._0x454f74)]())+':'+pad(_0x71bf05[_0x15f988(0x1f3)]()),_0x531dc0=Math[_0x15f988(0x256)]((startOfDay(_0x71bf05)-startOfDay(_0xe3be10))/(0x18*0x3c*0x3c*0x3e8));if(_0x531dc0===0x0)return _0x15f988(0x231)+_0x18c937;if(_0x531dc0===0x1)return'tomorrow\x20'+_0x18c937;return DAY_SHORT[_0x71bf05[_0x15f988(_0x485e60._0x53ab4e)]()]+'\x20'+_0x18c937;}__name(formatNextTick,_0x213977(0x21b));function startOfDay(_0x389c65){const _0x4ce9b9=_0x213977,_0x2be8a6=new Date(_0x389c65);return _0x2be8a6[_0x4ce9b9(0x181)](0x0,0x0,0x0,0x0),_0x2be8a6['getTime']();}__name(startOfDay,_0x213977(0x1ec));var DAY_SHORT=['Sun',_0x213977(0x27a),_0x213977(0x259),'Wed',_0x213977(0x26c),'Fri',_0x213977(0x22b)],WEEK_CHIP_ORDER=[0x1,0x2,0x3,0x4,0x5,0x6,0x0];function spec(_0x536b45,_0x20c6b7=[0x0],_0x94fae0=[0x3],_0x50ebcf=[0x1]){return{'freq':_0x536b45,'minutes':_0x20c6b7,'hours':_0x94fae0,'days':_0x50ebcf};}__name(spec,'spec');function list(_0x28f732){const _0x98b880={_0x2bdb63:0x178},_0x1b0334=_0x213977;return[..._0x28f732]['sort']((_0x2ddc90,_0x3856c1)=>_0x2ddc90-_0x3856c1)[_0x1b0334(_0x98b880._0x2bdb63)](',');}__name(list,_0x213977(0x236));function numbers(_0x1686b7){const _0x2a87d9={_0x356024:0x1e4},_0x1d6691=_0x213977;if(!/^\d+(,\d+)*$/[_0x1d6691(_0x2a87d9._0x356024)](_0x1686b7))return null;return _0x1686b7['split'](',')[_0x1d6691(0x16f)](Number);}__name(numbers,_0x213977(0x267));var pad=__name(_0x2a32ff=>String(_0x2a32ff)[_0x213977(0x179)](0x2,'0'),_0x213977(0x241));function atMinutes(_0x18f65f){const _0x313cd5={_0x21b9c2:0x298,_0x4b3f3b:0x178},_0x5f5523=_0x213977;if(_0x18f65f['length']===0x1&&_0x18f65f[0x0]===0x0)return'';return _0x5f5523(_0x313cd5._0x21b9c2)+[..._0x18f65f][_0x5f5523(0x25c)]((_0x21477b,_0x6da08a)=>_0x21477b-_0x6da08a)[_0x5f5523(0x16f)](_0x1fc1d7=>':'+pad(_0x1fc1d7))[_0x5f5523(_0x313cd5._0x4b3f3b)](',\x20');}__name(atMinutes,'atMinutes');function times(_0x2ff806){const _0x156764={_0x2a11b6:0x20d,_0x109018:0x25c},_0x1eaaba=_0x213977,_0x5d1102=[..._0x2ff806[_0x1eaaba(_0x156764._0x2a11b6)]][_0x1eaaba(_0x156764._0x109018)]((_0x50199d,_0x381bb2)=>_0x50199d-_0x381bb2)[_0x1eaaba(0x204)](_0x82c876=>[..._0x2ff806[_0x1eaaba(0x196)]]['sort']((_0x54987d,_0x3eebc1)=>_0x54987d-_0x3eebc1)[_0x1eaaba(0x16f)](_0xace782=>pad(_0x82c876)+':'+pad(_0xace782))),_0x577044=_0x5d1102['slice'](0x0,0x4),_0x58096a=_0x5d1102['length']-_0x577044['length'];return _0x577044[_0x1eaaba(0x178)](',\x20')+(_0x58096a>0x0?'\x20+'+_0x58096a:'');}__name(times,'times');var BLOBS_DIR=_0x213977(0x1ff),GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,'InvalidBlobHashError');}constructor(_0x1a1128){const _0x3dd0b2={_0x1f8a50:0x1f2},_0xad0c4a=_0x213977;super(_0xad0c4a(0x26d)+_0x1a1128),this['name']=_0xad0c4a(_0x3dd0b2._0x1f8a50);}};function blobPathFor(_0x2705fd,_0xdd0cd2,_0x1035cb,_0x4a2d62=0x0){return _0x2705fd+'/'+blobRelPathFor(_0xdd0cd2,_0x1035cb,_0x4a2d62);}__name(blobPathFor,_0x213977(0x225));function blobRelSegmentsFor(_0x2117b2,_0x4c8e62,_0x5d6f6f=0x0){const _0x4e22fd={_0x30546b:0x1e4,_0x17a085:0x1da},_0x6f8be8=_0x213977;if(!HASH_RE[_0x6f8be8(_0x4e22fd._0x30546b)](_0x2117b2))throw new InvalidBlobHashError(_0x2117b2);const _0x50e8c5=_0x5d6f6f>0x0?''+GENERATION_SEP+_0x5d6f6f:'';return[BLOBS_DIR,_0x2117b2[_0x6f8be8(_0x4e22fd._0x17a085)](0x0,0x2),_0x2117b2[_0x6f8be8(_0x4e22fd._0x17a085)](0x2,0x4),''+_0x2117b2+_0x50e8c5+'.'+_0x4c8e62];}__name(blobRelSegmentsFor,_0x213977(0x18b));function _0x4112(){const _0xe98ed2=['AxnbCNjHEq','icOGkIaQ','y29TCgXLDgvK','zw52','yxbWlxnLCNzLCJPLCNjVCG','C2XPy2u','vu5pvevtvf9kvurhrv9srvrssuvt','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','C3bSAxrmAw5LCW','C2nOzw1HvMvYC2LVBG','refuqujbu0vFvvjm','zMLSzq','iIdIGjqGB25LihnJAgvKDwXLihbLCIb0yxjNzxq','lNzPzxDLCI5SB2nR','vvrd','DgvZDa','ChvZAa','C2HH','lMPZB25S','C3rKzxjYlMXVzW','BMfTzq','D29YA2vYCW','vu5pvevtvf9erujvr19esvi','C3rHCNrpzKrHEq','yMXVyNnsB290rM9Y','BwfSzM9YBwvK','AxnfEhrLCM5HBfzHCK5HBwu','yNjHBMnO','DgvZDerPCKzVCG','sw52ywXPzejSB2jiyxnOrxjYB3i','z2v0twLUDxrLCW','C3rHCNrZv2L0Aa','C3bLy01HDgnOzxm','iokaLcbWAwnRigeGzgLMzMvYzw50ig5HBwuGB3iGzwrPDcb0AguGzxHPC3rPBMCGDMfSDwuU','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','BxvZDcbUB3qGyMuGzw1WDhK','mtjKr2vkug8','vu5pvevtvf9kvurhrv9usu1ft1vux01t','ChjLCgfYzq','BxvZDcbIzsbHihn0CMLUzW','vu5pvevtvf9rvuvvrv9mruftrq','y3jVBG','x2jSB2jZ','vu5pvevtvf9erujvr19ive1mx01bwf9cwvrfuW','kI81icOGkIaQicO','zhvYyxrPB25nCW','kI81','zMXHDe1HCa','ig11C3qGyMuGvvbqrvjFu05bs0uGkguUzY4Gqvbqx0jbu0vFvvjmksbZBYbHihnJzw5HCMLVignHBIbYzwzLCMvUy2uGAxqGyNKGBMfTzs4','D2vLA2X5','zNjLzxPL','C291CMnL','zMLUzeLUzgv4','vu5pvevtvf9tte9xx01p','AxnszwnVCMq','CNvUBMvY','Ag91CNm','vu5pvevtvf9kvurhrv9dtefvrevFqKLo','ywn0AxzLrw52tMfTzq','zhvWBgLJyxrL','y3j5ChrV','iYaTls0G','CgfYC2vty2HLzhvSzxneB2m','ChjVAMvJDfj1BKrPCKzVCG','CNvUC0rPCKzVCG','zxjYB3i','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','Aw5JBhvKzxm','vu5pvevtvf9erujvr19quKvwsuvxx0jzvevt','lNzPzxDLCI5SB2C','zM9YBwf0tMv4DfrPy2S','kI8XnsaQicOGkIaQ','zM9SzfnJzw5HCMLVuNvU','zxHPC3rZ','zw52rMLSzuzVCG','Dg9mB3DLCKnHC2u','Dw5RBM93BI1IDw5KBgu','lMrLyNvN','zgfPBhK','y2XP','yMXVyLbHDgHgB3i','C2vJCMv0CW','vu5pvevtvf9cvu5etevFsuq','l2HLywX0Aa','x3nJzw5HCMLVCW','zgvZy3jPyMvuAwnRzxrdAq','u2f0','iI4G','CgfYC2vty2HLzhvSzxnkC29U','CMvXDwLYzvj1BKrPCKzVCG','ChjVDMLKzxi','lY5Kzwj1z2DLCG','Dg9KyxKG','DMfSAwrHDgvtzwDTzw50tMfTzq','CMvNzxG','C3rHCNrLzef0','Dw5VDgvZDc8UC2vJCMv0CW','BgLZDa','C3bLy0zYB21dCM9U','y29TBwfUzhmUANnVBMW','vu5pvevtvf9kvurhrv9vuKW','C3rHDhvZ','C2vYAwfSAxPLrw52vMfSDwu','lNf1zxvL','tK9Fq09mt1i','C3rYAw5NtgLZDa','yMXVyLjLBfbHDgHgB3i','yxbW','CgfK','zgfPBhKGyxqG','AgfZ','C2vJCMv0C0nVBNrLBNq','vu5pvevtvf9tq0HfrfvmrvnFrKLor0vsufjjtLq','yNvUzgXLlMPZB24','ic0Tlq','icOGkIa','icH3AxaP','CgfYC2u','lMPZB24','vu5pvevtvf9dqunirv9esvi','zxHWzwn0zwqGysbTyxbWAw5NihDPDgGGysbGC2nOzwr1BgvZoMaGyxjYyxK','AxnbC3nPz25Tzw50tgLUzq','CgfYC2vxB3jRC3bHy2vgAwXL','zw52tgf5zxjgAwXLC0zVCG','Axntzwn0Aw9UrgL2AwrLCG','BwvYz2vty2HLzhvSzxm','yxj0AwzHy3rZuM9VDezYB20','y29UzMLN','C2vJCMv0C0zPBgvgB3i','CM91BMq','C2vJCMv0','zgf5CW','vhvL','x2rHEs5QC29UBa','ztjL','C29YDa','ufiGiW','CgfYC2vuAwnRzxrdAq','BwLUlxzLCNnPB24','lNnLy3jLDhm','B2jQzwn0','C2nLBMfYAw8','ywrK','CgfYC2vdAvj1BLjLCxvLC3q','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','zgvZy3jPyMvdCM9U','BNvTyMvYCW','CgLK','vu5pvevtvf9erujvr19nqvHFqLLurvm','vu5pvevtvf9kvurhrv9nt0rfta','BNvTyMvY','vgH1','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','Dg9VlwXHCMDL','x2HLBhbLCNm','AxngywLSAw5Nu3rHDhvZ','yxbWlxnLCNzLCJPYzxvZzwq','C3rYAw5N','y3jLyxrLza','zw50CMLLCW','lMvUDG','igfSCMvHzhKGzxHPC3rZigLUia','ywjVCNrLza','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','Aw5KzxHpzG','tw9U','vu5pvevtvf9orvrxt1jl','zxzLCNKGmtuGBwLU','AdeY','ntm4mdmYsuzvzwjY','vu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuW','vw5ZDxbWB3j0zwrsDw5lAw5KrxjYB3i','vu5pvevtvf9kvurhrv9mt0DFtevwruW','uNvUBMvY','A2LUza','yM9VBgvHBG','BxvZDcbUB3qGyMuGiI4Iig9YiciUlIi','x2XHDgvZDc5QC29U','C2nOzwr1BgvuyxjNzxq','CgfYC2vhAxrjBMzV','zxHWzwn0lwzHAwW','zgLYDhK','zxzLCNKGnsbTAw4','mtjKsg54s2m','vu5pvevtvf9kvurhrv9wt1rf','xsbYzxbLyxrZia','C2nVCguTBwLZBwf0y2G','AxnszwDLEeXPDgvYywW','CMvZzxj2zwrvBMrLCNnJB3jL','mJG3mZGWmu5iugnjvq','zxHLyW','AxnrDwv1zurPCK5HBwu','BxvZDcbUB3qGy29UDgfPBIbCic8GoIaQid8GiIa8id4GFcbVCIbJB250CM9SignOyxjHy3rLCNm','z2v0uMfUzg9TvMfSDwvZ','C2nOzwr1BgvZwW','igf0ia','vu5pvevtvf9rvuvvrv9hte9cquXFreLs','CMfUAW','AxnsDw5ZrgLYtMfTzq','CMvWBgfJzq','AxnsDw5UzxjdB25MAwDlzxK','y3jVBKzYB21tCgvJ','z2v0sg91CNm','C2nLBMfYAw9szwzgCM9TrMLSzu5HBwu','CMfUzg9T','BwfW','C2fUAxrPEMvsDw5jzfnLz21LBNq','C291CMnLCY5QC29U','lNDVCMTZCgfJzs5QC29U','C2HHCMreAxjgB3i','vu5pvevtvf9dt05tt0Xf','rK9sq0vFq09mt1i','C3rKB3v0lMXVzW','Bgf5zxjZrM9Y','AM9PBG','CgfKu3rHCNq','AxnbBM5VDgf0Aw9UtgLUzq','zMXVB3i','nJi3nJGWDLrWANfN','mtq1mJi2ngX2wLLJrG','Aw50zxjHy3rPDMu','zw52q29UDgvUDa','CgfYC2vwyxjPywjSzuDHChm','C2v0sg91CNm','C29Tzq','y2fUB25Py2fSu2nOzwr1Bgvtzxq','AxngAw5PDgu','lM11Dgv4','vu5pvevtvf9mt0nbteu','z2v0vvrdrNvSBfLLyxi','C2vJCMv0C0XHEwvYrMLSzxngB3i','igLZigfSC28GC2v0igLUihvUB3rLC3qVlNnLy3jLDhmG4OcuihrOzsbZzwnYzxqGDMfSDwuGC2HHzg93CYb0AgLZig9Uzs4','vu5pvevtvf9erujvrW','yMXVyLjLBfnLz21LBNrZrM9Y','C3bSAxq','mZC3nJa0mgH5BuDuBW','zw52s2v5CW','Dw5HDxrOB3jPEMvK','Ag91CMX5','CgfYC2vdAvj1BLjLC3bVBNnL','vu5pvevtvf9kvurhrv9ut0TftG','Ag9ZDa','CNvUswrtDgfYDgvKqxq','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','BwLUDxrLCW','zMLUza','DMfYAwfIBgvhyxbZ','CxvLDwvK','vu5pvevtvf9erujvr19lruvqx0nbteXt','zMfPBfn0CMvHAW','yxv0Ag9YAw5N','DgvTCgXHDgu','kI8Xnq','vu5pvevtvf9iruferuq','C2v0twLUDxrLCW','vu5pvevtvf9kvurhrv9quKvbtujmrq','zgvMAw5LuhjVCgvYDhK','CgXHBKfKzfzHCMLHyMXL','Dw5VDgvZDc8Uzw52','vu5pvevtvf9kvurhrv9quK9wsurfuG','vu5pvevtvf9qt1bvuf9huKfdrv9nuW','ChjVAMvJDfj1BNnsB290','CgfYC2vdAvbYB3zPzgvY','y29SBgvJDgLVBG','zw5KC1DPDgG','mJeZotKXnwLWqK11va','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','vu5pvevtvf9kvurhrv9dquXmx1rjtuvpvvrFtvm','CMvTB3zLrw52vMfY','C3rVCMfNzq','BgvUz3rO','z2L0','zNjLCq','CgfYC2vbChbtzxj2zxjfDMvUDa','zMLSDgvY','DMLLD2vY','DgLJA2v0CW','otqWmJy4n0vtBw1MDG','y3jLyxrLzef0','AgvHCNrIzwf0','Bte1','CNvUrgLYrM9Y','vu5pvevtvf9kvurhrv9nt0rf','vu5pvevtvf9kvurhrv9ts0Lqx1bsruzmsuDiva','z2L0BgfI','y2fUBM90igXVywqGCNvUBMvYigfKyxb0zxiGiG','Dg9tDhjPBMC','BwfPBNrLBMfUy2u','vu5pvevtvf9kvurhrv9bq0nfu1nFve9lru4','BM93','z2v0rgf5','AxnbC3nPz25Tzw50t2y','CMvJzw50','Aw52ywXPzc1Uyw1L','CMvNzxHmAxrLCMfS','zMfPBgvK','yNvUzgXLswq','yxnZAwDUBwvUDevUDhjPzxm','DhjPBq','zgvSzxrLu2HHzg93v2fYBMLUzW','BwnW','CgfYC2vrDwv1zvrPy2TLDa','AxnjBNrLz2vY','z2v0vgLTzq','DMfSAwrHDgvgC1nHzMvoyw1L','z2v0vvrdrgf0zq','CNvUBMLUzW'];_0x4112=function(){return _0xe98ed2;};return _0x4112();}function blobRelPathFor(_0xf0338f,_0x5b61a9,_0x5b807c=0x0){return blobRelSegmentsFor(_0xf0338f,_0x5b61a9,_0x5b807c)['join']('/');}__name(blobRelPathFor,_0x213977(0x23f));function blobsRootFor(_0x312fb8){return _0x312fb8+'/'+BLOBS_DIR;}__name(blobsRootFor,_0x213977(0x1ed));var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x5bd7bb,_0x1724b4){const _0x11949d={_0x4c69db:0x272,_0xdbe5db:0x1cc,_0x2628ed:0x291,_0x1b1281:0x1e4},_0x82aa95=_0x213977;if(typeof _0x5bd7bb!==_0x82aa95(_0x11949d._0x4c69db))return _0x82aa95(0x1fc);const _0x126085=_0x5bd7bb[_0x82aa95(_0x11949d._0xdbe5db)]();if(_0x126085[_0x82aa95(0x1b0)]===0x0)return _0x82aa95(0x1f8);if(_0x126085==='.'||_0x126085==='..')return _0x82aa95(0x285);if(_0x126085['startsWith']('.'))return'must\x20not\x20start\x20with\x20\x27.\x27';if(_0x1724b4?.[_0x82aa95(_0x11949d._0x2628ed)]&&_0x126085[_0x82aa95(0x1f4)]('_'))return'must\x20not\x20start\x20with\x20\x27_\x27\x20(reserved)';if(FS_UNSAFE_NAME_RE[_0x82aa95(_0x11949d._0x1b1281)](_0x126085))return _0x82aa95(0x295);return null;}__name(validateFsSafeName,_0x213977(0x1d2));var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0x4dbe37){return validateFsSafeName(_0x4dbe37);}__name(validateCollectionName,'validateCollectionName');var RUN_MANIFEST_FILE='manifest.json',RUN_SOURCES_FILE=_0x213977(0x171),UnsupportedRunKindError=class extends Error{static{__name(this,'UnsupportedRunKindError');}constructor(_0x2bb172,_0x3eb57a){const _0x109aab=_0x213977;super('runner\x20\x22'+_0x3eb57a+'\x22\x20does\x20not\x20support\x20run\x20kind\x20\x22'+_0x2bb172+'\x22'),this[_0x109aab(0x1e9)]=_0x109aab(0x280);}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0x213977(0x195));}constructor(_0x46ec42,_0x4a2088){const _0x1bf430={_0x161418:0x22c,_0x37d8cd:0x195},_0x4fa57f=_0x213977;super(_0x4fa57f(0x1bf)+_0x46ec42+_0x4fa57f(_0x1bf430._0x161418)+_0x4a2088),this[_0x4fa57f(0x1e9)]=_0x4fa57f(_0x1bf430._0x37d8cd);}},RunnerNotConfiguredError=class extends Error{static{__name(this,_0x213977(0x217));}constructor(_0x148c62){const _0x61b13a={_0x7f23eb:0x217},_0x2ffab7=_0x213977;super(_0x148c62),this['name']=_0x2ffab7(_0x61b13a._0x7f23eb);}},EXPECT_FAIL_ANNOTATION=_0x213977(0x289),ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x495ae2){const _0x34eae2={_0x46432d:0x1e4},_0x14527=_0x213977;return ANNOTATION_RE[_0x14527(_0x34eae2._0x46432d)](_0x495ae2);}__name(isAnnotationLine,_0x213977(0x17a));function parseScenarioAnnotations(_0x16debd){const _0x24ef19={_0x19de45:0x18c,_0x2a8b8a:0x243},_0x49f073=_0x213977,_0x530fe1=new Set();for(const _0x58f111 of _0x16debd[_0x49f073(_0x24ef19._0x19de45)](/\r?\n/)){const _0x4cfde0=_0x58f111['trim']();if(_0x4cfde0==='')continue;if(!_0x4cfde0['startsWith']('//'))break;const _0x3ebb9a=_0x4cfde0['match'](ANNOTATION_RE);if(_0x3ebb9a)_0x530fe1[_0x49f073(0x263)](_0x3ebb9a[0x1]);}return{'expectFail':_0x530fe1[_0x49f073(_0x24ef19._0x2a8b8a)](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,'parseScenarioAnnotations');var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0x504212){return validateFsSafeName(_0x504212,{'reservedUnderscore':!![]});}__name(validateSegmentName,_0x213977(0x232));var TERMINAL_WS_EVENT='terminal',RUNNER_CONFIG_KEYS=new Set(['UNOTEST_BROWSER',_0x213977(0x19f),_0x213977(0x20a),'UNOTEST_DEFAULT_TIMEOUT_MS',_0x213977(0x27f),_0x213977(0x1a6),_0x213977(0x186),'UNOTEST_TIMEZONE','UNOTEST_LOG_LEVEL',_0x213977(0x18a),_0x213977(0x1eb),_0x213977(0x269),_0x213977(0x219),_0x213977(0x200),_0x213977(0x19a),_0x213977(0x27b),_0x213977(0x174),_0x213977(0x24c),_0x213977(0x23d),_0x213977(0x175),_0x213977(0x1df)]);function isRunnerConfigKey(_0x1059b4){const _0x20998b=_0x213977;return RUNNER_CONFIG_KEYS[_0x20998b(0x243)](_0x1059b4);}__name(isRunnerConfigKey,_0x213977(0x29d));function categorizeVariable(_0x453cef){const _0x41df63={_0x5a84a4:0x226},_0x2f36ca=_0x213977;if(_0x453cef[_0x2f36ca(0x208)]===_0x2f36ca(_0x41df63._0x5a84a4))return _0x2f36ca(0x257);return isRunnerConfigKey(_0x453cef['name'])?'runner':_0x2f36ca(0x240);}__name(categorizeVariable,'categorizeVariable');function isExternalVarName(_0x10ebff){const _0x5f263b={_0x3fbeac:0x1e4},_0xc8dc5b=_0x213977;return/^[A-Z][A-Z0-9_]*$/[_0xc8dc5b(_0x5f263b._0x3fbeac)](_0x10ebff);}__name(isExternalVarName,_0x213977(0x1ef));var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/;function*assignmentEntries(_0x5af273){const _0x4dbc8d={_0x43803e:0x1f4,_0x5bf941:0x279,_0x2e6d15:0x1da},_0x5c16a9=_0x213977;for(const _0x5492ea of _0x5af273['split'](/\r?\n/)){const _0x128387=_0x5492ea[_0x5c16a9(0x1cc)]();if(_0x128387===''||_0x128387[_0x5c16a9(_0x4dbc8d._0x43803e)]('#'))continue;const _0x1a8f42=_0x128387[_0x5c16a9(_0x4dbc8d._0x5bf941)]('=');if(_0x1a8f42<=0x0)continue;const _0x149945=_0x128387[_0x5c16a9(_0x4dbc8d._0x2e6d15)](0x0,_0x1a8f42)['trim']();if(!ENV_KEY_RE[_0x5c16a9(0x1e4)](_0x149945))continue;yield[_0x149945,_0x128387[_0x5c16a9(0x1da)](_0x1a8f42+0x1)['trim']()];}}__name(assignmentEntries,_0x213977(0x1cb));function parseEnvContent(_0x5c390f){const _0x10b6c5={_0x357e43:0x1b0,_0xcf45b4:0x1b0},_0x134a34=_0x213977,_0x1ac3e5={};for(const [_0x4b5042,_0x2f08a2]of assignmentEntries(_0x5c390f)){let _0x24ca02=_0x2f08a2;if(_0x24ca02[_0x134a34(_0x10b6c5._0x357e43)]>=0x2){const _0x5de090=_0x24ca02[0x0],_0x1c6816=_0x24ca02[_0x24ca02[_0x134a34(_0x10b6c5._0xcf45b4)]-0x1];(_0x5de090==='\x22'||_0x5de090==='\x27')&&_0x5de090===_0x1c6816&&(_0x24ca02=_0x24ca02['slice'](0x1,-0x1));}_0x1ac3e5[_0x4b5042]=_0x24ca02;}return _0x1ac3e5;}__name(parseEnvContent,'parseEnvContent');function serializeEnvValue(_0x13570f){const _0x52d1ea=_0x213977;if(_0x13570f==='')return'';if(/[\s#"'=\\]|^[`]/['test'](_0x13570f)||/[\n\r]/['test'](_0x13570f)){const _0x30976c=_0x13570f['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')['replace'](/\n/g,'\x5cn')[_0x52d1ea(0x29c)](/\r/g,'\x5cr');return'\x22'+_0x30976c+'\x22';}return _0x13570f;}__name(serializeEnvValue,_0x213977(0x23b));function envKeys(_0x3f8c1f){const _0x4fbfdc=new Set();for(const [_0x5f273b]of assignmentEntries(_0x3f8c1f))_0x4fbfdc['add'](_0x5f273b);return _0x4fbfdc;}__name(envKeys,_0x213977(0x18e));function isSectionDivider(_0x644c95){const _0x3c22dd={_0x2584ff:0x1cc},_0x1342ea=_0x213977,_0x3d04c1=_0x644c95[_0x1342ea(_0x3c22dd._0x2584ff)]();return _0x3d04c1[_0x1342ea(0x1f4)]('#')&&/---/[_0x1342ea(0x1e4)](_0x3d04c1);}__name(isSectionDivider,_0x213977(0x251));function isAssignmentLine(_0x208b26){const _0x13f91e={_0x51092b:0x1f4,_0x2b8463:0x1cc},_0x4b46ec=_0x213977,_0x51744e=_0x208b26['trim']();if(_0x51744e===''||_0x51744e[_0x4b46ec(_0x13f91e._0x51092b)]('#'))return![];const _0x5707bb=_0x51744e[_0x4b46ec(0x279)]('=');return _0x5707bb>0x0&&ENV_KEY_RE[_0x4b46ec(0x1e4)](_0x51744e[_0x4b46ec(0x1da)](0x0,_0x5707bb)[_0x4b46ec(_0x13f91e._0x2b8463)]());}__name(isAssignmentLine,_0x213977(0x24e));function isAssignmentOf(_0x4b63a2,_0xcc60e7){const _0x22ffea={_0x4ecfc3:0x1cc,_0x37526a:0x1cc},_0x269fce=_0x213977,_0x34b063=_0x4b63a2[_0x269fce(_0x22ffea._0x4ecfc3)]();if(_0x34b063===''||_0x34b063[_0x269fce(0x1f4)]('#'))return![];const _0x749710=_0x34b063[_0x269fce(0x279)]('=');if(_0x749710<=0x0)return![];return _0x34b063[_0x269fce(0x1da)](0x0,_0x749710)[_0x269fce(_0x22ffea._0x37526a)]()===_0xcc60e7;}__name(isAssignmentOf,_0x213977(0x1c5));function splitLines(_0x1af126){const _0x978003={_0x29bf1c:0x1aa,_0x23e85c:0x1da},_0x12d0be=_0x213977,_0x35692d=_0x1af126[_0x12d0be(_0x978003._0x29bf1c)]('\x0a'),_0x34490b=_0x35692d?_0x1af126[_0x12d0be(_0x978003._0x23e85c)](0x0,-0x1):_0x1af126;return{'lines':_0x34490b===''?[]:_0x34490b['split']('\x0a'),'trailingNewline':_0x35692d};}__name(splitLines,_0x213977(0x1dd));function joinLines(_0x5052db,_0x592983){const _0x51efae=_0x5052db['join']('\x0a');return _0x592983||_0x51efae===''?_0x51efae+'\x0a':_0x51efae;}__name(joinLines,'joinLines');function insertEnvVar(_0x41093e,_0x381320,_0x90c42,_0x130cc6){const _0x34ce1e={_0x4e298b:0x209,_0x590fb8:0x1b0,_0x2d218d:0x212,_0x4f5403:0x247},_0x182c9=_0x213977,_0x12eb8f=_0x381320+'='+serializeEnvValue(_0x90c42),{lines:_0x6465d4,trailingNewline:_0x5c26ca}=splitLines(_0x41093e);if(_0x130cc6){const _0x538a2b=new RegExp('\x5cb'+_0x130cc6[_0x182c9(0x220)]()+'\x5cb'),_0x3ef5a0=_0x6465d4[_0x182c9(_0x34ce1e._0x4e298b)](_0x570b5a=>isSectionDivider(_0x570b5a)&&_0x538a2b[_0x182c9(0x1e4)](_0x570b5a[_0x182c9(0x220)]()));if(_0x3ef5a0!==-0x1){let _0x5d51a7=_0x6465d4['length'];for(let _0x4a7bd9=_0x3ef5a0+0x1;_0x4a7bd9<_0x6465d4[_0x182c9(_0x34ce1e._0x590fb8)];_0x4a7bd9++){if(isSectionDivider(_0x6465d4[_0x4a7bd9])){_0x5d51a7=_0x4a7bd9;break;}}let _0x55c2f7=-0x1,_0x356668=-0x1;for(let _0xa84ea0=_0x3ef5a0+0x1;_0xa84ea0<_0x5d51a7;_0xa84ea0++){if(_0x6465d4[_0xa84ea0][_0x182c9(0x1cc)]()!=='')_0x356668=_0xa84ea0;if(isAssignmentLine(_0x6465d4[_0xa84ea0]))_0x55c2f7=_0xa84ea0;}const _0xd9665b=_0x55c2f7>=0x0?_0x55c2f7:_0x356668,_0x2ee9bb=_0xd9665b>=0x0?_0xd9665b+0x1:_0x3ef5a0+0x1;return _0x6465d4['splice'](_0x2ee9bb,0x0,_0x12eb8f),joinLines(_0x6465d4,_0x5c26ca||_0x6465d4[_0x182c9(_0x34ce1e._0x590fb8)]>0x0);}if(_0x6465d4[_0x182c9(0x1b0)]>0x0)_0x6465d4['push']('');return _0x6465d4[_0x182c9(0x1e5)](_0x182c9(_0x34ce1e._0x2d218d)+_0x130cc6+_0x182c9(_0x34ce1e._0x4f5403),_0x12eb8f),joinLines(_0x6465d4,!![]);}return _0x6465d4[_0x182c9(0x1e5)](_0x12eb8f),joinLines(_0x6465d4,!![]);}__name(insertEnvVar,'insertEnvVar');function removeEnvVar(_0x2d0ed2,_0x483674){const _0x3ddb75={_0x2f19ae:0x1b0},_0x1934bb=_0x213977,{lines:_0x224c00,trailingNewline:_0x5d44df}=splitLines(_0x2d0ed2),_0x599d8=_0x224c00[_0x1934bb(0x1b4)](_0x181f18=>!isAssignmentOf(_0x181f18,_0x483674)),_0x51487d=_0x599d8[_0x1934bb(_0x3ddb75._0x2f19ae)]!==_0x224c00[_0x1934bb(0x1b0)];return{'content':joinLines(_0x599d8,_0x5d44df),'removed':_0x51487d};}__name(removeEnvVar,_0x213977(0x1ae));var SECTION_BY_KIND={'app':'App','runner':_0x213977(0x282),'secret':void 0x0};function planAddVariable(_0x818a6b){const _0x391e82={_0xd373fb:0x243,_0x3c30ac:0x1d8,_0x1cd6f1:0x210,_0x22b8c2:0x1f6},_0x4ddb83=_0x213977,{name:_0x57b04f,kind:_0x3540d4}=_0x818a6b;if(_0x3540d4===_0x4ddb83(0x20c)){if(!isRunnerConfigKey(_0x57b04f))return{'ok':![],'code':'unknown-runner-key','message':_0x57b04f+'\x20is\x20not\x20a\x20known\x20runner\x20setting\x20—\x20choose\x20one\x20from\x20the\x20runner-config\x20list.'};}else{if(!isExternalVarName(_0x57b04f))return{'ok':![],'code':_0x4ddb83(0x1c7),'message':_0x57b04f+_0x4ddb83(0x205)};}const _0x4eb275=envKeys(_0x818a6b[_0x4ddb83(0x17f)])[_0x4ddb83(0x243)](_0x57b04f),_0x1eb189=envKeys(_0x818a6b[_0x4ddb83(0x244)])[_0x4ddb83(_0x391e82._0xd373fb)](_0x57b04f),_0x3d36bc=_0x3540d4===_0x4ddb83(0x257)?_0x4ddb83(0x226):_0x4ddb83(_0x391e82._0x3c30ac),_0x144a5f=_0x3d36bc===_0x4ddb83(0x226)?_0x1eb189:_0x4eb275,_0x1b941e=_0x3d36bc==='secrets'?'unotest/.secrets':_0x4ddb83(0x1a4);if(_0x144a5f)return{'ok':![],'code':_0x4ddb83(_0x391e82._0x1cd6f1),'message':_0x57b04f+_0x4ddb83(0x276)+_0x1b941e+_0x4ddb83(_0x391e82._0x22b8c2)};const _0x3093e0=[];return _0x3540d4==='secret'&&_0x4eb275&&_0x3093e0['push'](_0x57b04f+_0x4ddb83(0x265)),_0x3540d4!=='secret'&&_0x1eb189&&_0x3093e0[_0x4ddb83(0x1e5)](_0x57b04f+_0x4ddb83(0x189)),{'ok':!![],'target':_0x3d36bc,'sectionLabel':SECTION_BY_KIND[_0x3540d4],'warnings':_0x3093e0};}__name(planAddVariable,_0x213977(0x1a3));function deleteShadowWarning(_0x3bd041,_0x2a8103,_0x291e5f){if(_0x291e5f!==void 0x0&&_0x291e5f!==_0x2a8103)return[_0x3bd041+'\x20is\x20also\x20set\x20in\x20your\x20shell\x20environment\x20—\x20it\x20will\x20keep\x20resolving\x20from\x20there\x20(the\x20environment\x20wins\x20over\x20the\x20file).'];return[];}__name(deleteShadowWarning,_0x213977(0x1cd));var TERMINAL_RUNTIME_STATES=[_0x213977(0x1d7),_0x213977(0x1c9),_0x213977(0x277)];function isTerminalRuntimeState(_0x57d069){const _0x41de16=_0x213977;return TERMINAL_RUNTIME_STATES[_0x41de16(0x218)](_0x57d069);}__name(isTerminalRuntimeState,'isTerminalRuntimeState');var JUDGE_ROUTES={'judge':'/judge','health':_0x213977(0x228)},JUDGE_ENV={'mode':_0x213977(0x1bc),'url':_0x213977(0x239),'token':_0x213977(0x192),'requestTimeoutMs':_0x213977(0x1fa),'preamble':_0x213977(0x1a1),'provider':_0x213977(0x1a5),'model':_0x213977(0x26a),'callTimeoutMs':_0x213977(0x1ad),'retries':_0x213977(0x1db),'vote':_0x213977(0x28d),'accessToken':_0x213977(0x1c2),'claudeBin':_0x213977(0x20e),'host':'UNOTEST_JUDGE_HOST','port':'UNOTEST_JUDGE_PORT','logLevel':_0x213977(0x281),'skipPreflight':_0x213977(0x1bd)};export{ARTIFACTS_ROOT_ENV,BLOBS_DIR,BOX_TOKEN_ENV,BOX_URL_ENV,BUNDLE_ID_ENV,BUNDLE_MANIFEST_FILE,BUNDLE_SCHEMA_VERSION,BUNDLE_UPLOAD_PATH,CI_RUN_PATH,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,DAY_SHORT,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,FREQ_FIELDS,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,JUDGE_ENV,JUDGE_ROUTES,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,QUEUE_DISABLED_ENV,QUEUE_GLOBAL_DIR_ENV,QUEUE_GLOBAL_SLOTS_ENV,QUEUE_LEASE_ENV,QUEUE_MUTEX_FILE,QUEUE_PRIORITIES,QUEUE_RUNNING_DIR,QUEUE_SCHEMA_VERSION,QUEUE_SLOTS_DIR,QUEUE_SUBDIR,QUEUE_TICKETS_DIR,RUNNER_CONFIG_KEYS,RUNS_SUBDIR,RUNTIME_FILE,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SCHEDULES_FILE,SCHEDULES_FINGERPRINT_ENV,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,WEEK_CHIP_ORDER,WORKSPACE_FILE,WORKSPACE_SCHEMA_VERSION,activeEnvName,artifactsRootFrom,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,canonicalScheduleSet,categorizeVariable,compareQueueTicketNames,cronFromSpec,debugDirFor,debuggerFileFor,deleteShadowWarning,describeBundle,describeCron,describeSpec,describeTicketCi,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,formatNextTick,insertEnvVar,isAnnotationLine,isExternalVarName,isFailingStatus,isQueueDirName,isRecord,isRegexLiteral,isRunnerConfigKey,isRunsDirName,isTerminalRuntimeState,makeQueueTicketName,makeRunId,mergeSchedules,nextTickFromSpec,parseAppServerEvent,parseBundleManifest,parseBundleUploadResponse,parseCiProvider,parseCiRunRequest,parseCiRunResponse,parseEnvContent,parseQueueTicket,parseQueueTicketName,parseScenarioAnnotations,parseScheduleEntry,parseSchedulesDoc,parseSchedulesJson,parseWorkspaceFile,planAddVariable,projectQueueRoot,projectRunDirFor,projectRunsRoot,queueDirFor,queuePriorityFromRank,queuePriorityRank,regexLiteral,removeEnvVar,requireRunDirFor,runDirFor,runIdStartedAt,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,scheduleTarget,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,specFromCron,testDirFor,validateCollectionName,validateSegmentName};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unotest/protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "Cross-runner protocol for the @unotest ecosystem: shared TypeScript types, path constants, the IRunnerAdapter contract that lets @unotest/viewer drive @unotest/web, @unotest/mobile (and future runners) through the same surface. Pure types + pure functions only — zero runtime deps, browser-safe.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|