@jujulego/jill 3.0.7 → 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/flat-job-plan.js +1 -1
- package/dist/flat-job-plan.js.map +1 -1
- package/dist/flat-job-tree.js +1 -1
- package/dist/flat-job-tree.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/inked.js +3863 -577
- package/dist/inked.js.map +1 -1
- package/dist/instrument.js +1 -1
- package/dist/instrument.js.map +1 -1
- package/dist/job-command-execute.ink.js +33 -8
- package/dist/job-command-execute.ink.js.map +1 -1
- package/dist/job-plan.js +2 -1
- package/dist/job-plan.js.map +1 -1
- package/dist/job-plan.json.js +2 -1
- package/dist/job-plan.json.js.map +1 -1
- package/dist/list.ink.js +6 -5
- package/dist/list.ink.js.map +1 -1
- package/dist/main.js +3156 -2892
- package/dist/main.js.map +1 -1
- package/dist/planner.service.js +2 -1
- package/dist/planner.service.js.map +1 -1
- package/dist/tree.ink.js +6 -5
- package/dist/tree.ink.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +30 -30
package/dist/instrument.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="69d627b0-a502-4990-affa-044c26cd58fb",e._sentryDebugIdIdentifier="sentry-dbid-69d627b0-a502-4990-affa-044c26cd58fb");}catch(e){}}();import { init } from '@sentry/node';
|
|
2
2
|
|
|
3
3
|
init({
|
|
4
4
|
dsn: 'https://53e6d10c16975ebd025175d9836d039b@o4508229080055808.ingest.de.sentry.io/4509876546895952',
|
package/dist/instrument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sources":["../src/instrument.ts"],"sourcesContent":["import { init } from '@sentry/node';\n\ninit({\n dsn: 'https://53e6d10c16975ebd025175d9836d039b@o4508229080055808.ingest.de.sentry.io/4509876546895952',\n sendDefaultPii: false,\n tracesSampleRate: 1.0,\n enabled: process.env.DISABLE_TRACING !== 'true',\n});\n"],"names":["init","dsn","sendDefaultPii","tracesSampleRate","enabled","process","env","DISABLE_TRACING"],"mappings":";;AAEAA,IAAAA,CAAK
|
|
1
|
+
{"version":3,"file":"instrument.js","sources":["../src/instrument.ts"],"sourcesContent":["import { init } from '@sentry/node';\n\ninit({\n dsn: 'https://53e6d10c16975ebd025175d9836d039b@o4508229080055808.ingest.de.sentry.io/4509876546895952',\n sendDefaultPii: false,\n tracesSampleRate: 1.0,\n enabled: process.env.DISABLE_TRACING !== 'true',\n});\n"],"names":["init","dsn","sendDefaultPii","tracesSampleRate","enabled","process","env","DISABLE_TRACING"],"mappings":";;AAEAA,IAAAA,CAAK;IACHC,GAAAA,EAAK,CAAA,KAAA,CAAA,CAAA,CAAA,gCAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,gBAAA,CAAA;IACLC,cAAAA,EAAgB,KAAA;IAChBC,gBAAAA,EAAkB,CAAA,CAAA,CAAA;AAClBC,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAASC,OAAAA,CAAQC,GAAG,CAACC,eAAe,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,IAAA;AAC3C,CAAA,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a620d7be-983c-46b4-86bc-2e28da10d166",e._sentryDebugIdIdentifier="sentry-dbid-a620d7be-983c-46b4-86bc-2e28da10d166");}catch(e){}}();import { r as reactExports, S as StdinContext, p as parseKeypress, n as nonAlphanumericKeys, a as reconciler, b as StdoutContext, j as jsxRuntimeExports, T as Text, B as Box, i as inked } from './inked.js';
|
|
2
2
|
import process from 'node:process';
|
|
3
3
|
import 'node:stream';
|
|
4
|
-
import 'node:events';
|
|
5
4
|
import { createHash } from 'node:crypto';
|
|
6
5
|
import { f as flatJobTree, i as isScriptWorkflow } from './flat-job-tree.js';
|
|
7
6
|
import { p as pipe$, c as collect$, m as map$, a as capitalize, W as WorkloadState, i as inject$, S as SCHEDULER, w as waitFor$, f as filter$, b as isWorkloadEnded } from './main.js';
|
|
@@ -9,8 +8,11 @@ import { S as Spinner } from './index.js';
|
|
|
9
8
|
import '@sentry/node';
|
|
10
9
|
import 'assert';
|
|
11
10
|
import 'events';
|
|
12
|
-
import 'node:
|
|
11
|
+
import 'node:child_process';
|
|
13
12
|
import 'node:fs';
|
|
13
|
+
import 'node:tty';
|
|
14
|
+
import 'node:os';
|
|
15
|
+
import 'node:events';
|
|
14
16
|
import 'module';
|
|
15
17
|
import 'node:buffer';
|
|
16
18
|
import 'yargs/helpers';
|
|
@@ -24,12 +26,11 @@ import 'node:async_hooks';
|
|
|
24
26
|
import 'url';
|
|
25
27
|
import 'node:module';
|
|
26
28
|
import 'util';
|
|
27
|
-
import 'node:child_process';
|
|
28
29
|
import 'node:stream/consumers';
|
|
29
|
-
import 'node:tty';
|
|
30
30
|
import 'yargs';
|
|
31
31
|
import 'fs/promises';
|
|
32
32
|
import 'path';
|
|
33
|
+
import 'crypto';
|
|
33
34
|
import 'typescript';
|
|
34
35
|
import 'os';
|
|
35
36
|
|
|
@@ -256,10 +257,34 @@ const UserInput = () => {
|
|
|
256
257
|
// but with option = true, so we need to take this into account here
|
|
257
258
|
// to avoid breaking changes in Ink.
|
|
258
259
|
// TODO(vadimdemedes): consider removing this in the next major version.
|
|
259
|
-
meta: keypress.meta || keypress.name === 'escape' || keypress.option
|
|
260
|
+
meta: keypress.meta || keypress.name === 'escape' || keypress.option,
|
|
261
|
+
// Kitty keyboard protocol modifiers
|
|
262
|
+
super: keypress.super ?? false,
|
|
263
|
+
hyper: keypress.hyper ?? false,
|
|
264
|
+
capsLock: keypress.capsLock ?? false,
|
|
265
|
+
numLock: keypress.numLock ?? false,
|
|
266
|
+
eventType: keypress.eventType
|
|
260
267
|
};
|
|
261
|
-
let input
|
|
262
|
-
if (
|
|
268
|
+
let input;
|
|
269
|
+
if (keypress.isKittyProtocol) {
|
|
270
|
+
// Use text-as-codepoints field for printable keys (needed when
|
|
271
|
+
// reportAllKeysAsEscapeCodes flag is enabled), suppress non-printable
|
|
272
|
+
if (keypress.isPrintable) {
|
|
273
|
+
input = keypress.text ?? keypress.name;
|
|
274
|
+
} else if (keypress.ctrl && keypress.name.length === 1) {
|
|
275
|
+
// Ctrl+letter via codepoint 1-26 form: not printable text, but
|
|
276
|
+
// the letter name must flow through so handlers (e.g. exitOnCtrlC
|
|
277
|
+
// checking `input === 'c' && key.ctrl`) still work.
|
|
278
|
+
input = keypress.name;
|
|
279
|
+
} else {
|
|
280
|
+
input = '';
|
|
281
|
+
}
|
|
282
|
+
} else if (keypress.ctrl) {
|
|
283
|
+
input = keypress.name;
|
|
284
|
+
} else {
|
|
285
|
+
input = keypress.sequence;
|
|
286
|
+
}
|
|
287
|
+
if (!keypress.isKittyProtocol && nonAlphanumericKeys.includes(keypress.name)) {
|
|
263
288
|
input = '';
|
|
264
289
|
}
|
|
265
290
|
// Strip meta if it's still remaining after `parseKeypress`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/parse-ms/index.js","../node_modules/pretty-ms/index.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","const toZeroIfInfinity = value => Number.isFinite(value) ? value : 0;\n\nfunction parseNumber(milliseconds) {\n\treturn {\n\t\tdays: Math.trunc(milliseconds / 86_400_000),\n\t\thours: Math.trunc(milliseconds / 3_600_000 % 24),\n\t\tminutes: Math.trunc(milliseconds / 60_000 % 60),\n\t\tseconds: Math.trunc(milliseconds / 1000 % 60),\n\t\tmilliseconds: Math.trunc(milliseconds % 1000),\n\t\tmicroseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1000) % 1000),\n\t\tnanoseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e6) % 1000),\n\t};\n}\n\nfunction parseBigint(milliseconds) {\n\treturn {\n\t\tdays: milliseconds / 86_400_000n,\n\t\thours: milliseconds / 3_600_000n % 24n,\n\t\tminutes: milliseconds / 60_000n % 60n,\n\t\tseconds: milliseconds / 1000n % 60n,\n\t\tmilliseconds: milliseconds % 1000n,\n\t\tmicroseconds: 0n,\n\t\tnanoseconds: 0n,\n\t};\n}\n\nexport default function parseMilliseconds(milliseconds) {\n\tswitch (typeof milliseconds) {\n\t\tcase 'number': {\n\t\t\tif (Number.isFinite(milliseconds)) {\n\t\t\t\treturn parseNumber(milliseconds);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'bigint': {\n\t\t\treturn parseBigint(milliseconds);\n\t\t}\n\n\t\t// No default\n\t}\n\n\tthrow new TypeError('Expected a finite number or bigint');\n}\n","import parseMilliseconds from 'parse-ms';\n\nconst isZero = value => value === 0 || value === 0n;\nconst pluralize = (word, count) => (count === 1 || count === 1n) ? word : `${word}s`;\n\nconst SECOND_ROUNDING_EPSILON = 0.000_000_1;\nconst ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;\n\nexport default function prettyMilliseconds(milliseconds, options) {\n\tconst isBigInt = typeof milliseconds === 'bigint';\n\tif (!isBigInt && !Number.isFinite(milliseconds)) {\n\t\tthrow new TypeError('Expected a finite number or bigint');\n\t}\n\n\toptions = {...options};\n\n\tconst sign = milliseconds < 0 ? '-' : '';\n\tmilliseconds = milliseconds < 0 ? -milliseconds : milliseconds; // Cannot use `Math.abs()` because of BigInt support.\n\n\tif (options.colonNotation) {\n\t\toptions.compact = false;\n\t\toptions.formatSubMilliseconds = false;\n\t\toptions.separateMilliseconds = false;\n\t\toptions.verbose = false;\n\t}\n\n\tif (options.compact) {\n\t\toptions.unitCount = 1;\n\t\toptions.secondsDecimalDigits = 0;\n\t\toptions.millisecondsDecimalDigits = 0;\n\t}\n\n\tlet result = [];\n\n\tconst floorDecimals = (value, decimalDigits) => {\n\t\tconst flooredInterimValue = Math.floor((value * (10 ** decimalDigits)) + SECOND_ROUNDING_EPSILON);\n\t\tconst flooredValue = Math.round(flooredInterimValue) / (10 ** decimalDigits);\n\t\treturn flooredValue.toFixed(decimalDigits);\n\t};\n\n\tconst add = (value, long, short, valueString) => {\n\t\tif (\n\t\t\t(result.length === 0 || !options.colonNotation)\n\t\t\t&& isZero(value)\n\t\t\t&& !(options.colonNotation && short === 'm')) {\n\t\t\treturn;\n\t\t}\n\n\t\tvalueString ??= String(value);\n\t\tif (options.colonNotation) {\n\t\t\tconst wholeDigits = valueString.includes('.') ? valueString.split('.')[0].length : valueString.length;\n\t\t\tconst minLength = result.length > 0 ? 2 : 1;\n\t\t\tvalueString = '0'.repeat(Math.max(0, minLength - wholeDigits)) + valueString;\n\t\t} else {\n\t\t\tvalueString += options.verbose ? ' ' + pluralize(long, value) : short;\n\t\t}\n\n\t\tresult.push(valueString);\n\t};\n\n\tconst parsed = parseMilliseconds(milliseconds);\n\tconst days = BigInt(parsed.days);\n\n\tif (options.hideYearAndDays) {\n\t\tadd((BigInt(days) * 24n) + BigInt(parsed.hours), 'hour', 'h');\n\t} else {\n\t\tif (options.hideYear) {\n\t\t\tadd(days, 'day', 'd');\n\t\t} else {\n\t\t\tadd(days / 365n, 'year', 'y');\n\t\t\tadd(days % 365n, 'day', 'd');\n\t\t}\n\n\t\tadd(Number(parsed.hours), 'hour', 'h');\n\t}\n\n\tadd(Number(parsed.minutes), 'minute', 'm');\n\n\tif (!options.hideSeconds) {\n\t\tif (\n\t\t\toptions.separateMilliseconds\n\t\t\t|| options.formatSubMilliseconds\n\t\t\t|| (!options.colonNotation && milliseconds < 1000 && !options.subSecondsAsDecimals)\n\t\t) {\n\t\t\tconst seconds = Number(parsed.seconds);\n\t\t\tconst milliseconds = Number(parsed.milliseconds);\n\t\t\tconst microseconds = Number(parsed.microseconds);\n\t\t\tconst nanoseconds = Number(parsed.nanoseconds);\n\n\t\t\tadd(seconds, 'second', 's');\n\n\t\t\tif (options.formatSubMilliseconds) {\n\t\t\t\tadd(milliseconds, 'millisecond', 'ms');\n\t\t\t\tadd(microseconds, 'microsecond', 'µs');\n\t\t\t\tadd(nanoseconds, 'nanosecond', 'ns');\n\t\t\t} else {\n\t\t\t\tconst millisecondsAndBelow\n\t\t\t\t\t= milliseconds\n\t\t\t\t\t+ (microseconds / 1000)\n\t\t\t\t\t+ (nanoseconds / 1e6);\n\n\t\t\t\tconst millisecondsDecimalDigits\n\t\t\t\t\t= typeof options.millisecondsDecimalDigits === 'number'\n\t\t\t\t\t\t? options.millisecondsDecimalDigits\n\t\t\t\t\t\t: 0;\n\n\t\t\t\tconst roundedMilliseconds = millisecondsAndBelow >= 1\n\t\t\t\t\t? Math.round(millisecondsAndBelow)\n\t\t\t\t\t: Math.ceil(millisecondsAndBelow);\n\n\t\t\t\tconst millisecondsString = millisecondsDecimalDigits\n\t\t\t\t\t? millisecondsAndBelow.toFixed(millisecondsDecimalDigits)\n\t\t\t\t\t: roundedMilliseconds;\n\n\t\t\t\tadd(\n\t\t\t\t\tNumber.parseFloat(millisecondsString),\n\t\t\t\t\t'millisecond',\n\t\t\t\t\t'ms',\n\t\t\t\t\tmillisecondsString,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst seconds = (\n\t\t\t\t(isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds)\n\t\t\t\t/ 1000\n\t\t\t) % 60;\n\t\t\tconst secondsDecimalDigits\n\t\t\t\t= typeof options.secondsDecimalDigits === 'number'\n\t\t\t\t\t? options.secondsDecimalDigits\n\t\t\t\t\t: 1;\n\t\t\tconst secondsFixed = floorDecimals(seconds, secondsDecimalDigits);\n\t\t\tconst secondsString = options.keepDecimalsOnWholeSeconds\n\t\t\t\t? secondsFixed\n\t\t\t\t: secondsFixed.replace(/\\.0+$/, '');\n\t\t\tadd(Number.parseFloat(secondsString), 'second', 's', secondsString);\n\t\t}\n\t}\n\n\tif (result.length === 0) {\n\t\treturn sign + '0' + (options.verbose ? ' milliseconds' : 'ms');\n\t}\n\n\tconst separator = options.colonNotation ? ':' : ' ';\n\tif (typeof options.unitCount === 'number') {\n\t\tresult = result.slice(0, Math.max(options.unitCount, 1));\n\t}\n\n\treturn sign + result.join(separator);\n}\n","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n home: keypress.name === 'home',\n end: keypress.name === 'end',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n };\n let input = keypress.ctrl ? keypress.name : keypress.sequence;\n if (nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor>-</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeFullSpinner } from '../components/WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeFullSpinner workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","toZeroIfInfinity","value","Number","isFinite","parseNumber","milliseconds","days","Math","trunc","hours","minutes","seconds","microseconds","nanoseconds","parseBigint","parseMilliseconds","TypeError","isZero","pluralize","word","count","SECOND_ROUNDING_EPSILON","ONE_DAY_IN_MILLISECONDS","prettyMilliseconds","options","isBigInt","sign","colonNotation","compact","formatSubMilliseconds","separateMilliseconds","verbose","unitCount","secondsDecimalDigits","millisecondsDecimalDigits","result","floorDecimals","decimalDigits","flooredInterimValue","floor","flooredValue","round","toFixed","long","short","valueString","length","String","wholeDigits","includes","split","minLength","repeat","max","push","parsed","BigInt","hideYearAndDays","hideYear","hideSeconds","subSecondsAsDecimals","millisecondsAndBelow","roundedMilliseconds","ceil","millisecondsString","parseFloat","secondsFixed","secondsString","keepDecimalsOnWholeSeconds","replace","separator","slice","join","useContext","useEffect","useFlatJobTree","workload","tree","setTree","useState","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","WorkloadState","Blocked","Ready","Starting","Box","overflow","color","paddingLeft","flexGrow","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","useMemo","map","item","running","done","failed","canceled","WorkloadTreeFullSpinner","flexDirection","level","marginLeft","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","min","firstIndex","lastIndex","effectiveScroll","useInput","_","key","upArrow","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,7]}
|
|
1
|
+
{"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/parse-ms/index.js","../node_modules/pretty-ms/index.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","const toZeroIfInfinity = value => Number.isFinite(value) ? value : 0;\n\nfunction parseNumber(milliseconds) {\n\treturn {\n\t\tdays: Math.trunc(milliseconds / 86_400_000),\n\t\thours: Math.trunc(milliseconds / 3_600_000 % 24),\n\t\tminutes: Math.trunc(milliseconds / 60_000 % 60),\n\t\tseconds: Math.trunc(milliseconds / 1000 % 60),\n\t\tmilliseconds: Math.trunc(milliseconds % 1000),\n\t\tmicroseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1000) % 1000),\n\t\tnanoseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e6) % 1000),\n\t};\n}\n\nfunction parseBigint(milliseconds) {\n\treturn {\n\t\tdays: milliseconds / 86_400_000n,\n\t\thours: milliseconds / 3_600_000n % 24n,\n\t\tminutes: milliseconds / 60_000n % 60n,\n\t\tseconds: milliseconds / 1000n % 60n,\n\t\tmilliseconds: milliseconds % 1000n,\n\t\tmicroseconds: 0n,\n\t\tnanoseconds: 0n,\n\t};\n}\n\nexport default function parseMilliseconds(milliseconds) {\n\tswitch (typeof milliseconds) {\n\t\tcase 'number': {\n\t\t\tif (Number.isFinite(milliseconds)) {\n\t\t\t\treturn parseNumber(milliseconds);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'bigint': {\n\t\t\treturn parseBigint(milliseconds);\n\t\t}\n\n\t\t// No default\n\t}\n\n\tthrow new TypeError('Expected a finite number or bigint');\n}\n","import parseMilliseconds from 'parse-ms';\n\nconst isZero = value => value === 0 || value === 0n;\nconst pluralize = (word, count) => (count === 1 || count === 1n) ? word : `${word}s`;\n\nconst SECOND_ROUNDING_EPSILON = 0.000_000_1;\nconst ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;\n\nexport default function prettyMilliseconds(milliseconds, options) {\n\tconst isBigInt = typeof milliseconds === 'bigint';\n\tif (!isBigInt && !Number.isFinite(milliseconds)) {\n\t\tthrow new TypeError('Expected a finite number or bigint');\n\t}\n\n\toptions = {...options};\n\n\tconst sign = milliseconds < 0 ? '-' : '';\n\tmilliseconds = milliseconds < 0 ? -milliseconds : milliseconds; // Cannot use `Math.abs()` because of BigInt support.\n\n\tif (options.colonNotation) {\n\t\toptions.compact = false;\n\t\toptions.formatSubMilliseconds = false;\n\t\toptions.separateMilliseconds = false;\n\t\toptions.verbose = false;\n\t}\n\n\tif (options.compact) {\n\t\toptions.unitCount = 1;\n\t\toptions.secondsDecimalDigits = 0;\n\t\toptions.millisecondsDecimalDigits = 0;\n\t}\n\n\tlet result = [];\n\n\tconst floorDecimals = (value, decimalDigits) => {\n\t\tconst flooredInterimValue = Math.floor((value * (10 ** decimalDigits)) + SECOND_ROUNDING_EPSILON);\n\t\tconst flooredValue = Math.round(flooredInterimValue) / (10 ** decimalDigits);\n\t\treturn flooredValue.toFixed(decimalDigits);\n\t};\n\n\tconst add = (value, long, short, valueString) => {\n\t\tif (\n\t\t\t(result.length === 0 || !options.colonNotation)\n\t\t\t&& isZero(value)\n\t\t\t&& !(options.colonNotation && short === 'm')) {\n\t\t\treturn;\n\t\t}\n\n\t\tvalueString ??= String(value);\n\t\tif (options.colonNotation) {\n\t\t\tconst wholeDigits = valueString.includes('.') ? valueString.split('.')[0].length : valueString.length;\n\t\t\tconst minLength = result.length > 0 ? 2 : 1;\n\t\t\tvalueString = '0'.repeat(Math.max(0, minLength - wholeDigits)) + valueString;\n\t\t} else {\n\t\t\tvalueString += options.verbose ? ' ' + pluralize(long, value) : short;\n\t\t}\n\n\t\tresult.push(valueString);\n\t};\n\n\tconst parsed = parseMilliseconds(milliseconds);\n\tconst days = BigInt(parsed.days);\n\n\tif (options.hideYearAndDays) {\n\t\tadd((BigInt(days) * 24n) + BigInt(parsed.hours), 'hour', 'h');\n\t} else {\n\t\tif (options.hideYear) {\n\t\t\tadd(days, 'day', 'd');\n\t\t} else {\n\t\t\tadd(days / 365n, 'year', 'y');\n\t\t\tadd(days % 365n, 'day', 'd');\n\t\t}\n\n\t\tadd(Number(parsed.hours), 'hour', 'h');\n\t}\n\n\tadd(Number(parsed.minutes), 'minute', 'm');\n\n\tif (!options.hideSeconds) {\n\t\tif (\n\t\t\toptions.separateMilliseconds\n\t\t\t|| options.formatSubMilliseconds\n\t\t\t|| (!options.colonNotation && milliseconds < 1000 && !options.subSecondsAsDecimals)\n\t\t) {\n\t\t\tconst seconds = Number(parsed.seconds);\n\t\t\tconst milliseconds = Number(parsed.milliseconds);\n\t\t\tconst microseconds = Number(parsed.microseconds);\n\t\t\tconst nanoseconds = Number(parsed.nanoseconds);\n\n\t\t\tadd(seconds, 'second', 's');\n\n\t\t\tif (options.formatSubMilliseconds) {\n\t\t\t\tadd(milliseconds, 'millisecond', 'ms');\n\t\t\t\tadd(microseconds, 'microsecond', 'µs');\n\t\t\t\tadd(nanoseconds, 'nanosecond', 'ns');\n\t\t\t} else {\n\t\t\t\tconst millisecondsAndBelow\n\t\t\t\t\t= milliseconds\n\t\t\t\t\t+ (microseconds / 1000)\n\t\t\t\t\t+ (nanoseconds / 1e6);\n\n\t\t\t\tconst millisecondsDecimalDigits\n\t\t\t\t\t= typeof options.millisecondsDecimalDigits === 'number'\n\t\t\t\t\t\t? options.millisecondsDecimalDigits\n\t\t\t\t\t\t: 0;\n\n\t\t\t\tconst roundedMilliseconds = millisecondsAndBelow >= 1\n\t\t\t\t\t? Math.round(millisecondsAndBelow)\n\t\t\t\t\t: Math.ceil(millisecondsAndBelow);\n\n\t\t\t\tconst millisecondsString = millisecondsDecimalDigits\n\t\t\t\t\t? millisecondsAndBelow.toFixed(millisecondsDecimalDigits)\n\t\t\t\t\t: roundedMilliseconds;\n\n\t\t\t\tadd(\n\t\t\t\t\tNumber.parseFloat(millisecondsString),\n\t\t\t\t\t'millisecond',\n\t\t\t\t\t'ms',\n\t\t\t\t\tmillisecondsString,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst seconds = (\n\t\t\t\t(isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds)\n\t\t\t\t/ 1000\n\t\t\t) % 60;\n\t\t\tconst secondsDecimalDigits\n\t\t\t\t= typeof options.secondsDecimalDigits === 'number'\n\t\t\t\t\t? options.secondsDecimalDigits\n\t\t\t\t\t: 1;\n\t\t\tconst secondsFixed = floorDecimals(seconds, secondsDecimalDigits);\n\t\t\tconst secondsString = options.keepDecimalsOnWholeSeconds\n\t\t\t\t? secondsFixed\n\t\t\t\t: secondsFixed.replace(/\\.0+$/, '');\n\t\t\tadd(Number.parseFloat(secondsString), 'second', 's', secondsString);\n\t\t}\n\t}\n\n\tif (result.length === 0) {\n\t\treturn sign + '0' + (options.verbose ? ' milliseconds' : 'ms');\n\t}\n\n\tconst separator = options.colonNotation ? ':' : ' ';\n\tif (typeof options.unitCount === 'number') {\n\t\tresult = result.slice(0, Math.max(options.unitCount, 1));\n\t}\n\n\treturn sign + result.join(separator);\n}\n","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n home: keypress.name === 'home',\n end: keypress.name === 'end',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n // Kitty keyboard protocol modifiers\n super: keypress.super ?? false,\n hyper: keypress.hyper ?? false,\n capsLock: keypress.capsLock ?? false,\n numLock: keypress.numLock ?? false,\n eventType: keypress.eventType,\n };\n let input;\n if (keypress.isKittyProtocol) {\n // Use text-as-codepoints field for printable keys (needed when\n // reportAllKeysAsEscapeCodes flag is enabled), suppress non-printable\n if (keypress.isPrintable) {\n input = keypress.text ?? keypress.name;\n }\n else if (keypress.ctrl && keypress.name.length === 1) {\n // Ctrl+letter via codepoint 1-26 form: not printable text, but\n // the letter name must flow through so handlers (e.g. exitOnCtrlC\n // checking `input === 'c' && key.ctrl`) still work.\n input = keypress.name;\n }\n else {\n input = '';\n }\n }\n else if (keypress.ctrl) {\n input = keypress.name;\n }\n else {\n input = keypress.sequence;\n }\n if (!keypress.isKittyProtocol &&\n nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor>-</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeFullSpinner } from '../components/WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeFullSpinner workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","toZeroIfInfinity","value","Number","isFinite","parseNumber","milliseconds","days","Math","trunc","hours","minutes","seconds","microseconds","nanoseconds","parseBigint","parseMilliseconds","TypeError","isZero","pluralize","word","count","SECOND_ROUNDING_EPSILON","ONE_DAY_IN_MILLISECONDS","prettyMilliseconds","options","isBigInt","sign","colonNotation","compact","formatSubMilliseconds","separateMilliseconds","verbose","unitCount","secondsDecimalDigits","millisecondsDecimalDigits","result","floorDecimals","decimalDigits","flooredInterimValue","floor","flooredValue","round","toFixed","long","short","valueString","length","String","wholeDigits","includes","split","minLength","repeat","max","push","parsed","BigInt","hideYearAndDays","hideYear","hideSeconds","subSecondsAsDecimals","millisecondsAndBelow","roundedMilliseconds","ceil","millisecondsString","parseFloat","secondsFixed","secondsString","keepDecimalsOnWholeSeconds","replace","separator","slice","join","useContext","useEffect","useFlatJobTree","workload","tree","setTree","useState","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","WorkloadState","Blocked","Ready","Starting","Box","overflow","color","paddingLeft","flexGrow","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","useMemo","map","item","running","done","failed","canceled","WorkloadTreeFullSpinner","flexDirection","level","marginLeft","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","min","firstIndex","lastIndex","effectiveScroll","useInput","_","key","upArrow","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,CAAA,CAAA;;;;AAIC,CAAA,CAAA,CAAA,CACM,QAAA,CAASA,GAAAA,CAAAA,CAAK,CAAA,CAAA,CAAGC,aAA+B,CAAA,CAAA;IACrD,MAAMC,KAAAA,CAAAA,CAAAA,CAAQ,IAAIC,GAAAA,CAAIF,aAAAA,CAAAA;IAEtB,QAAA,CAASG,WAAAA,CAAAA,CAAAA,CAAAA;QACP,GAAA,CAAA,CAAK,KAAA,CAAMC,OAAOH,KAAAA,CAAO;AACvBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAID,WAAW,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMI,KAAK,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA;IAEA,MAAA,CAAO;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACC,OAAOC,OAAO,CAAA,CAAA,CAAA,CAAID,OAAOE,GAAG,CAAC,CAAA,MAAA,CAAA,OAAA,KAAoBL,WAAAA;AAClDA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA;AACAM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAK,CAAC,CAAA,CAAA,CAAGT,aAAAA,CAAAA,CAAAA,CAAAA;YACP,GAAA,CAAA,CAAK,KAAA,CAAMI,OAAOJ,aAAAA,CAAe;AAC/BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMQ,GAAG,CAACL,GAAAA,CAAAA;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA;AACF;;ACzCA,KAAA,CAAMM,mBAAmBC,CAAAA,KAAAA,GAASC,OAAOC,QAAQ,CAACF,SAASA,KAAAA,GAAQ,CAAA;AAEnE,QAAA,CAASG,YAAYC,YAAY,CAAA,CAAA;IAChC,MAAA,CAAO;QACNC,IAAAA,EAAMC,IAAAA,CAAKC,KAAK,CAACH,YAAAA,CAAAA,CAAAA,CAAe,QAAA,CAAA;AAChCI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOF,IAAAA,CAAKC,KAAK,CAACH,YAAAA,CAAAA,CAAAA,CAAe,OAAA,CAAA,CAAA,CAAY,EAAA,CAAA;AAC7CK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAASH,IAAAA,CAAKC,KAAK,CAACH,YAAAA,CAAAA,CAAAA,CAAe,KAAA,CAAA,CAAA,CAAS,EAAA,CAAA;AAC5CM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAASJ,IAAAA,CAAKC,KAAK,CAACH,YAAAA,CAAAA,CAAAA,CAAe,IAAA,CAAA,CAAA,CAAO,EAAA,CAAA;QAC1CA,YAAAA,EAAcE,IAAAA,CAAKC,KAAK,CAACH,YAAAA,CAAAA,CAAAA,CAAe,IAAA,CAAA;AACxCO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAcL,IAAAA,CAAKC,KAAK,CAACR,gBAAAA,CAAiBK,eAAe,IAAA,CAAA,CAAA,CAAA,CAAQ,IAAA,CAAA;AACjEQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAaN,IAAAA,CAAKC,KAAK,CAACR,gBAAAA,CAAiBK,eAAe,GAAA,CAAA,GAAO,IAAA;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA;AACD;AAEA,QAAA,CAASS,YAAYT,YAAY,CAAA,CAAA;IAChC,MAAA,CAAO;AACNC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAMD,eAAe,SAAW;QAChCI,KAAAA,CAAAA,CAAOJ,YAAAA,CAAAA,CAAAA,CAAe,QAAU,GAAG,GAAG;QACtCK,OAAAA,CAAAA,CAASL,YAAAA,CAAAA,CAAAA,CAAe,MAAO,GAAG,GAAG;QACrCM,OAAAA,CAAAA,CAASN,YAAAA,CAAAA,CAAAA,CAAe,KAAK,GAAG,GAAG;AACnCA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAcA,eAAe,KAAK;AAClCO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,EAAc,EAAE;AAChBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAa;AACd,CAAA,CAAA,CAAA,CAAA,CAAA;AACD;AAEe,QAAA,CAASE,kBAAkBV,YAAY,CAAA,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,MAAA,CAAQ,OAAOA,YAAAA,CAAAA;QACd,KAAK,CAAA,MAAA,CAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBACd,IAAIH,MAAAA,CAAOC,QAAQ,CAACE,YAAAA,CAAAA,CAAAA,CAAe;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOD,WAAAA,CAAYC,YAAAA,CAAAA;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEA,KAAK,CAAA,MAAA,CAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOS,WAAAA,CAAYT,YAAAA,CAAAA;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAA,CAAIW,SAAAA,CAAU,oCAAA,CAAA;AACrB;;AC1CA,KAAA,CAAMC,SAAShB,CAAAA,KAAAA,CAAAA,CAAAA,CAASA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAKA,UAAU,EAAE;AACnD,KAAA,CAAMiB,SAAAA,GAAY,CAACC,IAAAA,EAAMC,KAAAA,CAAAA,CAAAA,CAAU,KAACA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAKA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,EAAE,GAAID,IAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAGA,IAAAA,CAAK,CAAC,CAAC;AAEpF,KAAA,CAAME,uBAAAA,GAA0B,CAAA,CAAA,OAAA;AAChC,KAAA,CAAMC,0BAA0B,GAAG,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAG,GAAG,GAAG,KAAK;AAExC,QAAA,CAASC,kBAAAA,CAAmBlB,YAAY,CAAA,CAAEmB,OAAO,CAAA,CAAA;IAC/D,MAAMC,QAAAA,CAAAA,CAAAA,CAAW,MAAA,CAAOpB,YAAAA,KAAiB,CAAA,MAAA,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAACoB,QAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAACvB,MAAAA,CAAOC,QAAQ,CAACE,YAAAA,CAAAA,CAAAA,CAAe;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAA,CAAIW,SAAAA,CAAU,oCAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA;IAEAQ,OAAAA,CAAAA,CAAAA,CAAU;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA;IAErB,KAAA,CAAME,IAAAA,CAAAA,CAAAA,CAAOrB,YAAAA,GAAe,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA;AACtCA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAeA,YAAAA,CAAAA,CAAAA,CAAe,CAAA,GAAI,CAACA,YAAAA,CAAAA,CAAAA,CAAeA;IAElD,EAAA,CAAA,CAAImB,OAAAA,CAAQG,aAAa,CAAA,CAAE;AAC1BH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQI,OAAO,CAAA,CAAA,CAAG,KAAA;AAClBJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQK,qBAAqB,CAAA,CAAA,CAAG,KAAA;AAChCL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQM,oBAAoB,CAAA,CAAA,CAAG,KAAA;AAC/BN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQO,OAAO,CAAA,CAAA,CAAG,KAAA;AACnB,CAAA,CAAA,CAAA,CAAA;IAEA,EAAA,CAAA,CAAIP,OAAAA,CAAQI,OAAO,CAAA,CAAE;AACpBJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQQ,SAAS,CAAA,CAAA,CAAG,CAAA;AACpBR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQS,oBAAoB,CAAA,CAAA,CAAG,CAAA;AAC/BT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQU,yBAAyB,CAAA,CAAA,CAAG,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIC,SAAS,CAAA,CAAE;IAEf,MAAMC,aAAAA,CAAAA,CAAAA,CAAgB,CAACnC,KAAAA,CAAAA,CAAOoC,aAAAA,CAAAA,CAAAA,CAAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,sBAAsB/B,IAAAA,CAAKgC,KAAK,CAAC,KAACtC,CAAAA,CAAAA,CAAS,MAAMoC,aAAAA,CAAAA,CAAAA,CAAkBhB,uBAAAA,CAAAA;AACzE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMmB,YAAAA,CAAAA,CAAAA,CAAejC,IAAAA,CAAKkC,KAAK,CAACH,uBAAwB,EAAA,CAAA,CAAA,CAAA,CAAMD,aAAAA;QAC9D,OAAOG,YAAAA,CAAaE,OAAO,CAACL,aAAAA,CAAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMtC,GAAAA,CAAAA,CAAAA,CAAM,CAACE,KAAAA,CAAAA,CAAO0C,IAAAA,CAAAA,CAAMC,KAAAA,CAAAA,CAAOC,WAAAA,CAAAA,CAAAA,CAAAA;QAChC,EAAA,CAAA,CACEV,CAAAA,MAAAA,CAAOW,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAACtB,QAAQG,aAAY,CAAA,CAAA,CAAA,CAAA,CAC1CV,MAAAA,CAAOhB,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACP,CAAA,CAAEuB,OAAAA,CAAQG,aAAa,CAAA,CAAA,CAAA,CAAIiB,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAE,CAAA,CAAA,CAAI;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBE,MAAAA,CAAO9C,KAAAA,CAAAA;QACvB,EAAA,CAAA,CAAIuB,OAAAA,CAAQG,aAAa,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMqB,WAAAA,CAAAA,CAAAA,CAAcH,WAAAA,CAAYI,QAAQ,CAAC,CAAA,CAAA,KAAOJ,WAAAA,CAAYK,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAACJ,MAAM,CAAA,CAAA,CAAGD,YAAYC,MAAM;AACrG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMK,SAAAA,CAAAA,CAAAA,CAAYhB,MAAAA,CAAOW,MAAM,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA;YAC1CD,WAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAIO,MAAM,CAAC7C,IAAAA,CAAK8C,GAAG,CAAC,CAAA,EAAGF,YAAYH,WAAAA,CAAAA,CAAAA,GAAgBH,WAAAA;QAClE,CAAA,CAAA,IAAA,CAAO;AACNA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAerB,QAAQO,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMb,SAAAA,CAAUyB,MAAM1C,KAAAA,CAAAA,GAAS2C,KAAAA;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOmB,IAAI,CAACT,WAAAA,CAAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,MAAMU,SAASxC,iBAAAA,CAAkBV,YAAAA,CAAAA;IACjC,KAAA,CAAMC,IAAAA,CAAAA,CAAAA,CAAOkD,MAAAA,CAAOD,MAAAA,CAAOjD,IAAI,CAAA;IAE/B,EAAA,CAAA,CAAIkB,OAAAA,CAAQiC,eAAe,CAAA,CAAE;QAC5B1D,GAAAA,CAAKyD,OAAOlD,IAAAA,CAAAA,GAAQ,GAAG,CAAA,CAAA,CAAIkD,MAAAA,CAAOD,MAAAA,CAAO9C,KAAK,CAAA,EAAG,CAAA,IAAA,CAAA,CAAA,CAAQ,GAAA,CAAA;IAC1D,CAAA,CAAA,IAAA,CAAO;QACN,EAAA,CAAA,CAAIe,OAAAA,CAAQkC,QAAQ,CAAA,CAAE;AACrB3D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIO,MAAM,CAAA,GAAA,CAAA,CAAA,CAAO,GAAA,CAAA;QAClB,CAAA,CAAA,IAAA,CAAO;YACNP,GAAAA,CAAIO,IAAAA,CAAAA,CAAAA,CAAO,IAAI,CAAA,CAAE,CAAA,IAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;YACzBP,GAAAA,CAAIO,IAAAA,CAAAA,CAAAA,CAAO,IAAI,CAAA,CAAE,CAAA,GAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIG,MAAAA,CAAOqD,MAAAA,CAAO9C,KAAK,CAAA,CAAA,CAAG,CAAA,IAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA;AAEAV,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIG,MAAAA,CAAOqD,MAAAA,CAAO7C,OAAO,CAAA,CAAA,CAAG,CAAA,MAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA;IAEtC,EAAA,CAAA,CAAI,CAACc,OAAAA,CAAQmC,WAAW,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CACCnC,OAAAA,CAAQM,oBAAoB,IACzBN,OAAAA,CAAQK,qBAAqB,CAAA,CAAA,CAAA,CAC5B,CAACL,OAAAA,CAAQG,aAAa,CAAA,CAAA,CAAA,CAAItB,YAAAA,CAAAA,CAAAA,CAAe,IAAA,IAAQ,CAACmB,OAAAA,CAAQoC,oBAAoB,CAAA,CACjF;YACD,KAAA,CAAMjD,OAAAA,CAAAA,CAAAA,CAAUT,MAAAA,CAAOqD,MAAAA,CAAO5C,OAAO,CAAA;YACrC,KAAA,CAAMN,YAAAA,CAAAA,CAAAA,CAAeH,MAAAA,CAAOqD,MAAAA,CAAOlD,YAAY,CAAA;YAC/C,KAAA,CAAMO,YAAAA,CAAAA,CAAAA,CAAeV,MAAAA,CAAOqD,MAAAA,CAAO3C,YAAY,CAAA;YAC/C,KAAA,CAAMC,WAAAA,CAAAA,CAAAA,CAAcX,MAAAA,CAAOqD,MAAAA,CAAO1C,WAAW,CAAA;AAE7Cd,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIY,SAAS,CAAA,MAAA,CAAA,CAAA,CAAU,GAAA,CAAA;YAEvB,EAAA,CAAA,CAAIa,OAAAA,CAAQK,qBAAqB,CAAA,CAAE;AAClC9B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIM,cAAc,CAAA,WAAA,CAAA,CAAA,CAAe,IAAA,CAAA;AACjCN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIa,cAAc,CAAA,WAAA,CAAA,CAAA,CAAe,IAAA,CAAA;AACjCb,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIc,aAAa,CAAA,UAAA,CAAA,CAAA,CAAc,IAAA,CAAA;YAChC,CAAA,CAAA,IAAA,CAAO;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMgD,oBAAAA,CAAAA,CAAAA,CACHxD,YAAAA,CAAAA,CAAAA,CACCO,YAAAA,CAAAA,CAAAA,CAAe,IAAA,CAAA,CAAA,CACfC,WAAAA,CAAAA,CAAAA,CAAc,GAAA;gBAElB,KAAA,CAAMqB,yBAAAA,CAAAA,CAAAA,CACH,MAAA,CAAOV,OAAAA,CAAQU,yBAAyB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAA,CAC5CV,OAAAA,CAAQU,yBAAyB,GACjC,CAAA;gBAEJ,MAAM4B,mBAAAA,CAAAA,CAAAA,CAAsBD,wBAAwB,CAAA,GACjDtD,IAAAA,CAAKkC,KAAK,CAACoB,oBAAAA,CAAAA,CAAAA,CAAAA,CACXtD,IAAAA,CAAKwD,IAAI,CAACF,oBAAAA,CAAAA;AAEb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMG,kBAAAA,CAAAA,CAAAA,CAAqB9B,yBAAAA,CAAAA,CAAAA,CACxB2B,oBAAAA,CAAqBnB,OAAO,CAACR,yBAAAA,CAAAA,CAAAA,CAAAA,CAC7B4B,mBAAAA;AAEH/D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CACCG,MAAAA,CAAO+D,UAAU,CAACD,kBAAAA,CAAAA,CAAAA,CAClB,CAAA,WAAA,GACA,CAAA,EAAA,CAAA,CAAA,CACAA,kBAAAA,CAAAA;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACD,CAAA,CAAA,IAAA,CAAO;YACN,MAAMrD,OAAAA,CAAAA,CAAAA,CAAU,CACdc,QAAAA,GAAWvB,OAAOG,YAAAA,CAAAA,CAAAA,CAAeiB,uBAAAA,CAAAA,CAAAA,CAAAA,CAA2BjB,YAAW,CAAA,CAAA,CAAA,CACtE,IAAA,GACC,EAAA;YACJ,KAAA,CAAM4B,oBAAAA,CAAAA,CAAAA,CACH,MAAA,CAAOT,OAAAA,CAAQS,oBAAoB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAA,CACvCT,OAAAA,CAAQS,oBAAoB,GAC5B,CAAA;YACJ,KAAA,CAAMiC,YAAAA,CAAAA,CAAAA,CAAe9B,cAAczB,OAAAA,CAAAA,CAASsB,oBAAAA,CAAAA;YAC5C,MAAMkC,aAAAA,CAAAA,CAAAA,CAAgB3C,QAAQ4C,0BAA0B,CAAA,CAAA,CACrDF,eACAA,YAAAA,CAAaG,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAA,CAAA;AACjCtE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIG,MAAAA,CAAO+D,UAAU,CAACE,aAAAA,CAAAA,CAAAA,CAAgB,CAAA,MAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAKA,aAAAA,CAAAA;AACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;IAEA,IAAIhC,MAAAA,CAAOW,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOpB,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOF,QAAQO,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,YAAA,IAAkB,CAAA,EAAA,CAAG,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMuC,SAAAA,CAAAA,CAAAA,CAAY9C,OAAAA,CAAQG,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA;AAChD,CAAA,CAAA,CAAA,CAAA,IAAI,MAAA,CAAOH,OAAAA,CAAQQ,SAAS,CAAA,CAAA,CAAA,CAAA,CAAK,QAAA,CAAA,CAAU;QAC1CG,MAAAA,CAAAA,CAAAA,CAASA,MAAAA,CAAOoC,KAAK,CAAC,CAAA,CAAA,CAAGhE,KAAK8C,GAAG,CAAC7B,OAAAA,CAAQQ,SAAS,CAAA,CAAE,CAAA,CAAA,CAAA;AACtD,CAAA,CAAA,CAAA,CAAA;IAEA,MAAA,CAAON,IAAAA,CAAAA,CAAAA,CAAOS,MAAAA,CAAOqC,IAAI,CAACF,SAAAA,CAAAA;AAC3B;;ACjJA,CAAA,CAAA;;GAGA,MAAM,QAAQ,CAAA,CAAA,CAAG,IAAMG,YAAAA,CAAAA,UAAU,CAAC,YAAY,CAAC;;ACkI/C,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;GAqBA,KAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAC,YAAqB,CAAA,CAAE,OAAA,CAAA,CAAA,CAAmB,CAAA,CAAE,CAAA,CAAA,CAAE;;AAE/D,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAAA,CAAC,KAAK,CAAA,CAAE,UAAU,CAAA,CAAE,oBAAoB,CAAA,CAAE,qBAAqB,CAAA,CAAC,CAAA,CAAA,CACrE,QAAQ,CAAA,CAAE;IAEXC,YAAAA,CAAAA,SAAS,CAAC,CAAA,CAAA,CAAA,CAAG;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,OAAO,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAE;YAC/B,MAAA;QACD;QAEA,UAAU,CAAC,IAAI,CAAC;AAEhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAG;YACT,UAAU,CAAC,KAAK,CAAC;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAC,QAAQ;QAAE;AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;IAElCA,YAAAA,CAAAA,SAAS,CAAC,CAAA,CAAA,CAAA,CAAG;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,OAAO,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAE;YAC/B,MAAA;QACD;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAC,IAAY,CAAA,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,QAAQ,CAAA,CAAA,CAAG,aAAa,CAAC,IAAI,CAAC;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA,CAAQ;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,EAAA,CAAI;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,KAAA,CAAO;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAQ,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,QAAA,CAAU;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,GAAA,CAAK;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ;gBAClC,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,CAAA,CAAE,QAAQ,CAAC,KAAK;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,GAAA,CAAK;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,SAAA,CAAW;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ;;;;;AAKlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,MAAM;;AAEpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAQ,CAAA,CAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;gBAClC,SAAS,CAAA,CAAE,QAAQ,CAAC;aACpB;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,KAAa;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,QAAQ,CAAC,eAAe,CAAA,CAAE;;;AAG7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,QAAQ,CAAC,WAAW,CAAA,CAAE;oBACzB,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,IAAI;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,IAAA,CAAM,EAAA,CAAA,CAAI,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;;;;AAIvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAA,CAAG,QAAQ,CAAC,IAAI;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,IAAA,CAAM;oBACN,KAAK,GAAG,CAAA,CAAE;gBACX;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,IAAA,CAAM,EAAA,CAAA,CAAI,QAAQ,CAAC,IAAI,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAA,CAAG,QAAQ,CAAC,IAAI;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,IAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAA,CAAG,QAAQ,CAAC,QAAQ;YAC1B;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CACC,CAAC,QAAQ,CAAC,eAAe,CAAA,CAAA,CAAA,CACzB,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAC1C;gBACD,KAAK,GAAG,CAAA,CAAE;YACX;;;AAIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA,CAAA,KAAA,CAAQ,CAAC,CAAA,CAAE;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAA,CAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACvB;YAEA,EAAA,CAAA,CACC,KAAK,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAClB,MAAA,CAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAA,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CACrB;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAC,KAAK,CAAA,CAAA,CAAG,IAAI;YACjB;;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,GAAG,CAAC,IAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAC,oBAAoB,CAAA,CAAE;;AAE1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAC,cAAc,CAAC,CAAA,CAAA,CAAA,CAAG;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAY,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;YACH;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAqB,CAAA,CAAE,EAAE,CAAC,CAAA,KAAA,CAAO,CAAA,CAAE,UAAU,CAAC;AAE9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAG;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAqB,CAAA,CAAE,cAAc,CAAC,CAAA,KAAA,CAAO,CAAA,CAAE,UAAU,CAAC;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAC,QAAQ;QAAE,KAAK;QAAE,oBAAoB;QAAE;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;AAClE,CAAC;;ACxQD,CAAA,CAAA;;GAGA,MAAM,SAAS,CAAA,CAAA,CAAG,IAAMD,YAAAA,CAAAA,UAAU,CAAC,aAAa,CAAC;;ACAjD,CAAA,CAAA,CAAA;AACO,QAAA,CAASE,cAAAA,CAAeC,QAAmB,CAAA,CAAE7C,OAAiB,CAAA,CAAA;AACnE,CAAA,CAAA,CAAA,CAAA,MAAM,CAAC8C,IAAAA,CAAAA,CAAMC,OAAAA,CAAQ,CAAA,CAAA,CAAGC,YAAAA,CAAAA,QAAAA,CAA4B,CAAA,CAAA,CAAA,CAAMC,YAAYJ,QAAAA,CAAAA,CAAU7C,OAAAA,CAAAA,CAAAA;IAEhF2C,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAMO,UAAUC,QAAAA,CAASL,IAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIM,KAAAA,CAAAA,CAAAA,CAAQ,KAAA;QAEZ,QAAA,CAASC,MAAAA,CAAAA,CAAAA,CAAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAACD,KAAAA,CAAAA,CAAO,MAAA;YAEZ,KAAA,CAAME,OAAAA,CAAAA,CAAAA,CAAUL,YAAYJ,QAAAA,CAAAA,CAAU7C,OAAAA,CAAAA;YACtC,IAAImD,QAAAA,CAASG,aAAaJ,OAAAA,CAAAA,CAAS;gBACjCH,OAAAA,CAAQO,OAAAA,CAAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAEAF,KAAAA,GAAQ,KAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMG,GAAAA,CAAAA,CAAAA,CAAMC,IAAAA,CAAAA,CAAMV,IAAAA,CAAAA,CAChBW,IAAAA,CAAK,CAAC,EAAEZ,QAAQ,CAAA,CAAE,GAAKA,QAAAA,CAASa,MAAM,CAACC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA;gBAC/CP,KAAAA,GAAQ,IAAA;gBACRQ,cAAAA,CAAeP,MAAAA,CAAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAQ,QAAAA,CAASvG,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QAGX,OAAO,CAAA,CAAA,CAAA,CAAA;YACL8F,KAAAA,GAAQ,KAAA;AACRG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAI7F,WAAW,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG;AAACoF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA;AAAM9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA;AAAS6C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAE5B,OAAOC,IAAAA;AACT;AAEA,CAAA,CAAA,CAAA;AACA,QAAA,CAASK,SAASL,IAAuB,CAAA,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,MAAMgB,OAAOC,UAAAA,CAAW,QAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,KAAK,KAAA,CAAM,CAAA,CAAElB,QAAQ,CAAA,CAAE,CAAA,EAAA,CAAIC,IAAAA,CAAM;QAC/BgB,IAAAA,CAAKT,MAAM,CAACR,QAAAA,CAASmB,EAAE,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA;IAEA,OAAOF,IAAAA,CAAKG,MAAM,CAAC,KAAA,CAAA;AACrB;;ACjDe,QAAA,CAASC,kBAAAA,CAAAA,CAAAA,CAAAA;IACvB,KAAA,CAAM,CAAA,CAACC,GAAG,CAAA,CAAC,GAAGC,OAAAA;AACd,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAACC,IAAI,EAAEC,YAAY,CAAA,CAAC,GAAGH,GAAAA;IAE7B,IAAIC,OAAAA,CAAQG,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,OAAA,CAAA,CAAS;QACjC,MAAA,CAAOF,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,KAAA;AACjB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAOG,OAAAA,CAAQL,GAAAA,CAAIM,UAAU,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA;QACzBD,OAAAA,CAAQL,GAAAA,CAAIO,gBAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;QAC5BP,GAAAA,CAAIQ,UAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,GAAA,CAAA;AACnBL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CACjBA,YAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CACjBD,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,IAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CACTF,GAAAA,CAAIS,iBAAiB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,SAAA,CAAA,QAAA,CAAA;AAC/B;;AClBA,KAAA,CAAMC,cAAc,CAACX,kBAAAA,CAAAA,CAAAA;AAEd,KAAA,CAAMY,OAAAA,CAAAA,CAAAA,CAAUD,WAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA;AACpC,KAAA,CAAME,KAAAA,CAAAA,CAAAA,CAAQF,WAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA;;ACAzC,CAAA,CAAA,CAAA;AACO,QAAA,CAASG,aAAa,CAAA,CAAEnC,QAAQ,CAAA,CAAEoC,aAAa,CAAA,CAAE,CAAA,CAAA,CAAGC,IAAAA,CAAAA,CAAyB,CAAA,CAAA;AAClF,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAIC,iBAAiBtC,QAAAA,CAAAA,CAAAA,CAAW;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEuC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI;;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;8BACVI,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;oBAAKE,IAAI,EAAA,IAAA;AAAG1C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,QAAAA,CAAS2C;;AAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA;gBAASP,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAiBG,iBAAAA,CAAAA,IAAA,CAAAK,0BAAA,CAAA,CAAA;;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBAAI5C,QAAAA,CAAS6C,SAAS,CAACC;;;;;AAGvG,CAAA,CAAA,CAAA,CAAA;IAEA,GAAA,CAAIA,IAAAA,CAAAA,CAAAA,CAAO9C,SAAS+C,KAAK;IAEzB,IAAI/C,QAAAA,CAASgD,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,OAAA,CAAA,CAAS;AAC7BF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAOG,UAAAA,CAAWH,IAAAA,CAAAA;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOL,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI;AAAIS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA;;AAC3B;;ACdA,CAAA,CAAA,CAAA;AACO,QAAA,CAASI,eAAAA,CAAgB,CAAA,CAAElD,QAAQ,EAAwB,CAAA,CAAA;;AAEhE,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACmD,KAAAA,CAAAA,CAAOC,QAAAA,CAAS,CAAA,CAAA,CAAGjD,YAAAA,CAAAA,QAAAA,CAASH,SAASmD,KAAK,EAAA,CAAA;IAEjDrD,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMhF,GAAAA,CAAAA,CAAAA,CAAMkF,QAAAA,CAASa,MAAM,CAACC,SAAS,CAACsC,QAAAA,CAAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOtI,IAAID,WAAW;IACxB,CAAA,CAAA,CAAG;AAACmF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASa,KAAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;IAGpB,MAAMwC,GAAAA,CAAAA,CAAAA,CAAMrD,QAAAA,CAASgD,IAAI,KAAK,CAAA,KAAA,CAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMM,IAAAA,CAAAA,CAAAA,CAAOtD,QAAAA,CAASuD,QAAQ,CAAA,CAAA,CAAGxH,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,IAAA;IAE7C,OAAQoH,KAAAA,CAAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKK,cAAcC,OAAO;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKD,cAAcE,KAAK;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKF,cAAcG,QAAQ;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEpB,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAKsB,KAAAA,EAAM,CAAA,IAAA,CAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,KAAA;;kCACpBrB,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAa2B,KAAAA,EAAM,CAAA,IAAA,CAAA;4BAAOG,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;;;AAKpF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKoB,cAAcU,OAAO;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE3B,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAK2B,QAAAA,EAAUd,GAAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAZ,iBAAAA,CAAAA,GAAA,CAAC2B,OAAAA,EAAAA,CAAAA,CAAAA;;kCAEH3B,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAagC,QAAAA,EAAUd,GAAAA;4BAAKY,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;;;AAKtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKoB,cAAca,SAAS;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE9B,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAK2B,QAAAA,EAAUd,GAAAA;wBAAKS,KAAAA,EAAM,CAAA,IAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAArB,iBAAAA,CAAAA,GAAA,CAAC2B,OAAAA,CAAAA,CAAAA;4BAAQpB,IAAAA,CAAAA,CAAK,CAAA,KAAA;;;kCAEhBP,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAa2B,KAAAA,EAAM,CAAA,IAAA,CAAA;4BAAOK,QAAAA,EAAUd,GAAAA;4BAAKY,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;;;AAKnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKoB,cAAcc,SAAS;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE/B,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAKsB,KAAAA,EAAM,CAAA,KAAA,CAAA;AAAUS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA;;kCACtB9B,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAagC,QAAAA,EAAUd,GAAAA;4BAAKY,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;kCAEhFK,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGS,UAAAA,EAAY,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAjC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;AAAKsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOT,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;gCAAOoB,kBAAAA,CAAGnB,IAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAK3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKE,cAAckB,MAAM;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEnC,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAKsB,KAAAA,EAAM,CAAA,GAAA,CAAA;AAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA;;kCACpB9B,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAagC,QAAAA,EAAUd,GAAAA;4BAAKY,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;kCAEhFK,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGS,UAAAA,EAAY,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAjC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;AAAKsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOT,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;gCAAOoB,kBAAAA,CAAGnB,IAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAK3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKE,cAAcmB,QAAQ;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEpC,iBAAAA,CAAAA,IAAA,CAACqB,GAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA;;kCACZpB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAK2B,QAAQ,EAAA,IAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA;;kCACf1B,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGC,QAAAA,EAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAvB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA;4BAAagC,QAAQ,EAAA,IAAA;4BAACF,IAAAA,EAAK,CAAA,QAAA,CAAA;4BAAWjE,QAAAA,EAAUA,QAAAA;4BAAUoC,aAAa,CAAA,CAAA;;;kCAE1EK,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA;wBAAGS,UAAAA,EAAY,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAjC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;AAAKsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOT,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;gCAAOoB,kBAAAA,CAAGnB,IAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAI7D,CAAA,CAAA,CAAA,CAAA;AACF;;AC9FA,CAAA,CAAA,CAAA;AACO,QAAA,CAASsB,gBAAgBC,SAA+B,CAAA,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACC,KAAAA,CAAAA,CAAOC,QAAAA,CAAS,CAAA,CAAA,CAAG5E,YAAAA,CAAAA,QAAAA,CAAS,CAAA,CAAA,CAAA,CAAM6E,YAAAA,CAAaH,SAAAA,CAAAA,CAAAA;IAEtD/E,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIS,KAAAA,CAAAA,CAAAA,CAAQ,KAAA;QAEZ,QAAA,CAAS0E,OAAAA,CAAAA,CAAAA,CAAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAAC1E,KAAAA,CAAAA,CAAO,MAAA;AAEZwE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASC,YAAAA,CAAaH,SAAAA,CAAAA,CAAAA;YACtBtE,KAAAA,GAAQ,KAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEA,MAAMG,GAAAA,CAAAA,CAAAA,CAAMC,KAAAA,CAAMkE,SAAAA,EAChBjE,GAAAA,CAAAA,CAAK,CAACsE,MAAQA,GAAAA,CAAIrE,MAAM,CAACC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA;gBACjCP,KAAAA,GAAQ,IAAA;gBACRQ,cAAAA,CAAekE,OAAAA,CAAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAjE,QAAAA,CAASvG,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QAGX,OAAO,CAAA,CAAA,CAAA,CAAA;YACL8F,KAAAA,GAAQ,KAAA;AACRG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAI7F,WAAW,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG;AAACgK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEd,OAAOC,KAAAA;AACT;AAEA,CAAA,CAAA,CAAA;AACA,QAAA,CAASE,aAAaH,SAA+B,CAAA,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,KAAAA,CAAAA,CAAAA,CAAwB;QAC5B,CAACtB,aAAAA,CAAcE,KAAK,GAAG,CAAA;QACvB,CAACF,aAAAA,CAAcC,OAAO,GAAG,CAAA;QACzB,CAACD,aAAAA,CAAcG,QAAQ,GAAG,CAAA;QAC1B,CAACH,aAAAA,CAAcU,OAAO,GAAG,CAAA;QACzB,CAACV,aAAAA,CAAcc,SAAS,GAAG,CAAA;QAC3B,CAACd,aAAAA,CAAckB,MAAM,GAAG,CAAA;QACxB,CAAClB,aAAAA,CAAca,SAAS,GAAG,CAAA;QAC3B,CAACb,aAAAA,CAAcmB,QAAQ,CAAA,CAAA,CAAG;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,GAAA,CAAA,CAAK,KAAA,CAAM3E,YAAY6E,SAAAA,CAAW;QAChC,IAAI7E,QAAAA,CAASgD,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAA,CAAA,CAAU;AAC9B8B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAK,CAAC9E,QAAAA,CAASmD,KAAK,CAAA,CAAA,CAAG,IAAI,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA;IAEA,OAAO2B,KAAAA;AACT;;AC/CA,CAAA,CAAA,CAAA;AACO,QAAA,CAASK,iBAAAA,CAAkB,CAAA,CAAElF,IAAI,EAAE,CAAA,CAAA,CAAGoC,IAAAA,EAA8B,CAAA,CAAA;IACzE,MAAMwC,SAAAA,CAAAA,CAAAA,CAAYO,YAAAA,CAAAA,OAAAA,CAAQ,IAAMnF,IAAAA,CAAKoF,GAAG,CAAC,CAACC,IAAAA,CAAAA,CAAAA,CAASA,IAAAA,CAAKtF,QAAQ,CAAA,CAAA,CAAG;AAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzE,CAAA,CAAA,CAAA,CAAA,MAAM6E,QAAQF,eAAAA,CAAgBC,SAAAA,CAAAA;;AAG9B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMU,UAAUT,KAAK,CAACtB,aAAAA,CAAcU,OAAO,CAAC,CAAA,CAAA,CAAGY,KAAK,CAACtB,aAAAA,CAAcG,QAAQ,CAAC,CAAA,CAAA,CAAGmB,KAAK,CAACtB,aAAAA,CAAca,SAAS,CAAC;AAC7G,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMmB,IAAAA,CAAAA,CAAAA,CAAOV,KAAK,CAACtB,aAAAA,CAAcc,SAAS,CAAC;AAC3C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMmB,MAAAA,CAAAA,CAAAA,CAASX,KAAK,CAACtB,aAAAA,CAAckB,MAAM,CAAC;AAC1C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMgB,QAAAA,CAAAA,CAAAA,CAAWZ,KAAK,CAACtB,aAAAA,CAAcmB,QAAQ,CAAC;AAE9C,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEpC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI;;AACTkD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAU,CAAA,kBACXhD,iBAAAA,CAAAA,IAAA,CAAAK,0BAAA,CAAA,CAAA;;kCAAEH,iBAAAA,CAAAA,GAAA,CAAC2B,OAAAA,CAAAA,CAAAA;wBAAQpB,IAAAA,CAAAA,CAAK,CAAA,IAAA;;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;kCAACP,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAKE,IAAI,EAAA,IAAA;AAAG6C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA;;AAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA;;;YAEtDA,OAAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAKC,OAAO,CAAA,IAAM,CAAA,CAAA,CAAA,CAAA;AAC5BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAO,mBACRjD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;gBAAKsB,KAAAA,EAAM,CAAA,KAAA,CAAA;;AAAUS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAe;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAGiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA;;;YAE/CD,OAAAA,CAAAA,CAAAA,CAAUC,IAAAA,CAAAA,CAAAA,CAAO,CAAA,IAAKC,MAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA;AACrCA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,mBACVlD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;gBAAKsB,KAAAA,EAAM,CAAA,GAAA,CAAA;;AAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAa;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAGkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA;;;AAE7CF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAUC,IAAAA,CAAAA,CAAAA,CAAOC,MAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAKC,QAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA;AAChDA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAW,mBACZnD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;gBAAK2B,QAAQ,EAAA,IAAA;;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAIuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA;;;;;AAIrC;;AChCA,CAAA,CAAA,CAAA;AACO,QAAA,CAASC,uBAAAA,CAAwB,CAAA,CAAE3F,QAAQ,CAAA,CAAE7C,OAAO,EAAgC,CAAA,CAAA;IACzF,KAAA,CAAM8C,IAAAA,CAAAA,CAAAA,CAAOF,eAAeC,QAAAA,CAAAA,CAAU7C,OAAAA,CAAAA;;IAGtC,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEoF,iBAAAA,CAAAA,IAAA,CAAAK,iBAAAA,CAAAA,QAAA,CAAA,CAAA;;0BACEH,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;gBAAIgC,aAAAA,EAAc,CAAA,MAAA,CAAA;0BACf3F,IAAAA,CAAKoF,GAAG,CAAC,CAAC,CAAA,CAAErF,QAAQ,CAAA,CAAE6F,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAC7BpD,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;AAAsBkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAYD,KAAAA,CAAAA,CAAAA,CAAQ,CAAA;wBAAGrB,UAAAA,EAAY,CAAA;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA/B,iBAAAA,CAAAA,GAAA,CAACS,eAAAA,CAAAA,CAAAA;4BAAgBlD,QAAAA,CAAAA,CAAUA;;AADnBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASmB,EAAE,CAAA;;0BAKzBsB,iBAAAA,CAAAA,GAAA,CAAC0C,iBAAAA,CAAAA,CAAAA;gBAAkBlF,IAAAA,CAAAA,CAAMA;;;;AAG/B;;ACpBO,QAAA,CAAS8F,mBAAAA,CAAAA,CAAAA,CAAAA;IACd,MAAM,CAAA,CAAEC,MAAM,CAAA,CAAE,CAAA,CAAA,CAAGC,SAAAA,CAAAA,CAAAA;AACnB,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACC,UAAAA,CAAAA,CAAYC,aAAAA,CAAc,CAAA,CAAA,CAAGhG,qBAAAA,CAAS;QAC3CiG,OAAAA,CAAAA,CAASJ,MAAAA,CAAOI,OAAO,IAAIC,QAAAA;QAC3BC,IAAAA,CAAAA,CAAMN,MAAAA,CAAOM,IAAI,CAAA,CAAA,CAAA,CAAID;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEAvG,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA;QACR,KAAA,CAAMyG,gBAAAA,CAAAA,CAAAA,CAAmB,CAAA,CAAA,CAAA,CAAMJ,aAAAA,CAAc;gBAC3CC,OAAAA,CAAAA,CAASJ,MAAAA,CAAOI,OAAO,IAAIC,QAAAA;gBAC3BC,IAAAA,CAAAA,CAAMN,MAAAA,CAAOM,IAAI,CAAA,CAAA,CAAA,CAAID;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEAL,MAAAA,CAAOQ,EAAE,CAAC,CAAA,MAAA,CAAA,CAAA,CAAUD,gBAAAA,CAAAA;QAEpB,OAAO,CAAA,CAAA,CAAA,CAAA;YACLP,MAAAA,CAAOtF,GAAG,CAAC,CAAA,MAAA,CAAA,CAAA,CAAU6F,gBAAAA,CAAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG;AAACP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEX,OAAOE,UAAAA;AACT;;AChBA,CAAA,CAAA,CAAA;AACO,QAAA,CAASO,6BAAAA,CAA8B,CAAA,CAAEzG,QAAQ,CAAA,CAAE7C,OAAO,EAAsC,CAAA,CAAA;IACrG,KAAA,CAAM8C,IAAAA,CAAAA,CAAAA,CAAOF,eAAeC,QAAAA,CAAAA,CAAU7C,OAAAA,CAAAA;;AAGtC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,EAAEmJ,IAAAA,CAAAA,CAAMI,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAGX,mBAAAA,CAAAA,CAAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACY,MAAAA,CAAAA,CAAQC,SAAAA,CAAU,CAAA,CAAA,CAAGzG,YAAAA,CAAAA,QAAAA,CAAS,CAAA,CAAA;AAErC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM0G,UAAUlL,IAAAA,CAAKmL,GAAG,CAACJ,QAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAGzG,KAAK/B,MAAM,CAAA;IAClD,MAAM6I,UAAAA,CAAAA,CAAAA,CAAapL,KAAK8C,GAAG,CAAC,GAAGwB,IAAAA,CAAK/B,MAAM,CAAA,CAAA,CAAGyI,MAAAA,CAAAA,CAAAA,CAASE,OAAAA,CAAAA;AACtD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMG,YAAYrL,IAAAA,CAAKmL,GAAG,CAAC7G,IAAAA,CAAK/B,MAAM,CAAA,CAAE6I,UAAAA,CAAAA,CAAAA,CAAaF,OAAAA,CAAAA;IACrD,MAAMI,eAAAA,CAAAA,CAAAA,CAAkBhH,IAAAA,CAAK/B,MAAM,GAAG8I,SAAAA;AAEtCE,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAS,CAACC,CAAAA,CAAAA,CAAGC,GAAAA,CAAAA,CAAAA,CAAAA;QACX,EAAA,CAAA,CAAIA,GAAAA,CAAIC,OAAO,CAAA,CAAE;AACfT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUjL,KAAKmL,GAAG,CAAC7G,KAAK/B,MAAM,CAAA,CAAA,CAAG2I,SAASI,eAAAA,CAAAA,CAAAA,CAAkB,CAAA,CAAA,CAAA;QAC9D,CAAA,CAAA,IAAA,CAAO;AACLL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUjL,IAAAA,CAAK8C,GAAG,CAAC,CAAA,CAAA,CAAGwI,eAAAA,CAAAA,CAAAA,CAAkB,CAAA,CAAA,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAGA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMtH,KAAAA,CAAAA,CAAAA,CAAQM,IAAAA,CAAKN,KAAK,CAACoH,UAAAA,CAAAA,CAAYC,SAAAA,CAAAA;IAErC,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEzE,iBAAAA,CAAAA,IAAA,CAAAK,iBAAAA,CAAAA,QAAA,CAAA,CAAA;;0BACEH,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;gBAAIgC,aAAAA,EAAc,CAAA,MAAA,CAAA;0BACfjG,KAAAA,CAAM0F,GAAG,CAAC,CAAC,CAAA,CAAErF,QAAQ,CAAA,CAAE6F,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAC9BpD,iBAAAA,CAAAA,GAAA,CAACmB,GAAAA,CAAAA,CAAAA;AAAsBkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAYD,KAAAA,CAAAA,CAAAA,CAAQ,CAAA;wBAAGrB,UAAAA,EAAY,CAAA;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA/B,iBAAAA,CAAAA,GAAA,CAACS,eAAAA,CAAAA,CAAAA;4BAAgBlD,QAAAA,CAAAA,CAAUA;;AADnBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASmB,EAAE,CAAA;;0BAKzBoB,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA;;kCACCC,iBAAAA,CAAAA,GAAA,CAAC0C,iBAAAA,CAAAA,CAAAA;wBAAkBlF,IAAAA,CAAAA,CAAMA;;oBACtByG,QAAAA,GAAWzG,IAAAA,CAAK/B,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAMuE,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA;wBAAKsB,KAAAA,EAAM,CAAA,IAAA,CAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,QAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAA;;;;;;AAI1D;;AC1CA,CAAA,CAAA,CAAA;AACO,QAAA,CAASwD,mBAAAA,CAAoB,CAAA,CAAEtH,QAAQ,CAAA,CAAE7C,OAAO,EAA4B,CAAA,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMoK,KAAAA,CAAAA,CAAAA,CAAQC,QAAAA,CAAAA,CAAAA;IAEd,EAAA,CAAA,CAAID,KAAAA,CAAME,kBAAkB,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOhF,iBAAAA,CAAAA,GAAA,CAACgE,6BAAAA,CAAAA,CAAAA;YAA8BzG,QAAAA,EAAUA,QAAAA;YAAU7C,OAAAA,CAAAA,CAASA;;IACrE,CAAA,CAAA,IAAA,CAAO;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOsF,iBAAAA,CAAAA,GAAA,CAACkD,uBAAAA,CAAAA,CAAAA;YAAwB3F,QAAAA,EAAUA,QAAAA;YAAU7C,OAAAA,CAAAA,CAASA;;AAC/D,CAAA,CAAA,CAAA,CAAA;AACF;;ACLO,KAAA,CAAMuK,uBAAuBC,KAAAA,CAAM,KAAA,CAAA,QAAA,CAAA,CAAiB,EAAEC,GAAG,CAAA,CAAEzK,OAAO,CAAA,CAAmB,CAAA,CAAA;IAC1F,MAAM0K,SAAAA,CAAAA,CAAAA,CAAY,MAAMC,MAAAA,CAAAA,CAAQC,SAAAA,CAAAA;AAEhC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAMtF,iBAAAA,CAAAA,GAAA,CAAC6E,mBAAAA,CAAAA,CAAAA;QAAoBtH,QAAAA,EAAU4H,GAAAA;QAAKzK,OAAAA,CAAAA,CAASA;;AACnD0K,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUG,QAAQ,CAACJ,GAAAA,CAAAA;AAEnB,CAAA,CAAA,CAAA,CAAA,MAAMK,UAAU,KAAA,CAAMC,OAAAA,CAAAA,CAASvH,IAAAA,EAAMiH,GAAAA,CAAI/G,MAAM,CAAA,CAAEsH,MAAAA,CAAAA,CAAQC,eAAAA,CAAAA,CAAAA,CAAAA;AACzD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAM3F,iBAAAA,CAAAA,GAAA,CAACkD,uBAAAA,CAAAA,CAAAA;QAAwB3F,QAAAA,EAAU4H,GAAAA;QAAKzK,OAAAA,CAAAA,CAASA;;IAEvD,IAAI8K,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYzE,aAAAA,CAAcc,SAAS,CAAA,CAAE;AACvC/C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQ8G,QAAQ,CAAA,CAAA,CAAG,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;","x_google_ignoreList":[0,1,2,3,4,5,7]}
|
package/dist/job-plan.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="808a36e8-c17f-4a5e-ac07-d83cea54dec8",e._sentryDebugIdIdentifier="sentry-dbid-808a36e8-c17f-4a5e-ac07-d83cea54dec8");}catch(e){}}();import { e as chalk, a as capitalize } from './main.js';
|
|
2
2
|
import { f as flatJobPlan } from './flat-job-plan.js';
|
|
3
3
|
import { i as isScriptWorkflow } from './flat-job-tree.js';
|
|
4
4
|
import '@sentry/node';
|
|
@@ -26,6 +26,7 @@ import 'node:tty';
|
|
|
26
26
|
import 'yargs';
|
|
27
27
|
import 'fs/promises';
|
|
28
28
|
import 'path';
|
|
29
|
+
import 'crypto';
|
|
29
30
|
import 'module';
|
|
30
31
|
import 'typescript';
|
|
31
32
|
import 'os';
|
package/dist/job-plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-plan.js","sources":["../src/components/workload-name.ts","../src/components/job-plan.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\nexport function workloadName(workload: Workload$): string {\n if (isScriptWorkflow(workload)) {\n return `Run ${chalk.bold(workload.script)} script in ${workload.workspace.name}`;\n }\n\n let label = workload.label;\n\n if (workload.type !== 'spawn') {\n label = capitalize(label);\n }\n\n return label;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { workloadName } from './workload-name.js';\n\nexport function jobPlan(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n\n const idLength = Math.ceil(Math.log10(plan.length));\n const branchLength = plan.reduce((max, item) => Math.max(item.branch.length, max), 0) + 1 + idLength;\n const hasDependencies = plan.some((item) => item.dependsOn.length > 0);\n\n if (hasDependencies) {\n const labelLength = plan.reduce((max, item) => Math.max(workloadName(item.workload).length, max), 0);\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} ${'Job'.padEnd(labelLength, ' ')} Depends on\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n const label = workloadName(item.workload).padEnd(labelLength, ' ');\n const deps = item.dependsOn.map((id) => '#' + id).join(', ');\n\n stream.write(`${branch} ${label} ${deps}\\n`);\n }\n } else {\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} Job\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n\n stream.write(`${branch} ${workloadName(item.workload)}\\n`);\n }\n }\n}\n\n"],"names":["workloadName","workload","isScriptWorkflow","chalk","bold","script","workspace","name","label","type","capitalize","jobPlan","job","stream","process","stdout","plan","flatJobPlan","idLength","Math","ceil","log10","length","branchLength","reduce","max","item","branch","hasDependencies","some","dependsOn","labelLength","write","padEnd","id","toString","padStart","deps","map","join"],"mappings":"
|
|
1
|
+
{"version":3,"file":"job-plan.js","sources":["../src/components/workload-name.ts","../src/components/job-plan.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\nexport function workloadName(workload: Workload$): string {\n if (isScriptWorkflow(workload)) {\n return `Run ${chalk.bold(workload.script)} script in ${workload.workspace.name}`;\n }\n\n let label = workload.label;\n\n if (workload.type !== 'spawn') {\n label = capitalize(label);\n }\n\n return label;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { workloadName } from './workload-name.js';\n\nexport function jobPlan(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n\n const idLength = Math.ceil(Math.log10(plan.length));\n const branchLength = plan.reduce((max, item) => Math.max(item.branch.length, max), 0) + 1 + idLength;\n const hasDependencies = plan.some((item) => item.dependsOn.length > 0);\n\n if (hasDependencies) {\n const labelLength = plan.reduce((max, item) => Math.max(workloadName(item.workload).length, max), 0);\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} ${'Job'.padEnd(labelLength, ' ')} Depends on\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n const label = workloadName(item.workload).padEnd(labelLength, ' ');\n const deps = item.dependsOn.map((id) => '#' + id).join(', ');\n\n stream.write(`${branch} ${label} ${deps}\\n`);\n }\n } else {\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} Job\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n\n stream.write(`${branch} ${workloadName(item.workload)}\\n`);\n }\n }\n}\n\n"],"names":["workloadName","workload","isScriptWorkflow","chalk","bold","script","workspace","name","label","type","capitalize","jobPlan","job","stream","process","stdout","plan","flatJobPlan","idLength","Math","ceil","log10","length","branchLength","reduce","max","item","branch","hasDependencies","some","dependsOn","labelLength","write","padEnd","id","toString","padStart","deps","map","join"],"mappings":"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"}
|
package/dist/job-plan.json.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="525eed31-0950-4e5c-8a91-3679b90b93c0",e._sentryDebugIdIdentifier="sentry-dbid-525eed31-0950-4e5c-8a91-3679b90b93c0");}catch(e){}}();import { j as slugify, k as printJson } from './main.js';
|
|
2
2
|
import { f as flatJobPlan } from './flat-job-plan.js';
|
|
3
3
|
import { i as isScriptWorkflow } from './flat-job-tree.js';
|
|
4
4
|
import '@sentry/node';
|
|
@@ -26,6 +26,7 @@ import 'node:tty';
|
|
|
26
26
|
import 'yargs';
|
|
27
27
|
import 'fs/promises';
|
|
28
28
|
import 'path';
|
|
29
|
+
import 'crypto';
|
|
29
30
|
import 'module';
|
|
30
31
|
import 'typescript';
|
|
31
32
|
import 'os';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-plan.json.js","sources":["../src/components/job-plan.json.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport slugify from 'slugify';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { printJson } from '../utils/json.js';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport type { Writable } from '../utils/types.js';\n\nexport function jobPlanJson(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n const output: PlanItemDto[] = [];\n\n for (const item of plan) {\n const dto: Writable<PlanItemDto> = {\n id: item.workload.id,\n label: item.workload.label,\n type: item.workload.type,\n dependsOn: item.dependsOn.map((idx) => plan[idx].workload.id),\n };\n\n if (item.parent && item.parent.label !== '[hidden]') {\n dto.parentId = item.parent.id;\n }\n\n if (isScriptWorkflow(item.workload)) {\n dto.workspace = {\n name: item.workload.workspace.name,\n slug: slugify(item.workload.workspace.name),\n version: item.workload.workspace.version,\n root: item.workload.workspace.root,\n };\n }\n\n output.push(dto);\n }\n\n printJson(output, stream);\n}\n\nexport interface PlanWorkspaceDto {\n readonly name: string;\n readonly slug: string;\n readonly version: string;\n readonly root: string;\n}\n\nexport interface PlanItemDto {\n readonly id: string;\n readonly parentId?: string;\n readonly label: string;\n readonly type: string;\n readonly workspace?: PlanWorkspaceDto;\n readonly dependsOn: readonly string[];\n}\n"],"names":["jobPlanJson","job","stream","process","stdout","plan","flatJobPlan","output","item","dto","id","workload","label","type","dependsOn","map","idx","parent","parentId","isScriptWorkflow","workspace","name","slug","slugify","version","root","push","printJson"],"mappings":"
|
|
1
|
+
{"version":3,"file":"job-plan.json.js","sources":["../src/components/job-plan.json.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport slugify from 'slugify';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { printJson } from '../utils/json.js';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport type { Writable } from '../utils/types.js';\n\nexport function jobPlanJson(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n const output: PlanItemDto[] = [];\n\n for (const item of plan) {\n const dto: Writable<PlanItemDto> = {\n id: item.workload.id,\n label: item.workload.label,\n type: item.workload.type,\n dependsOn: item.dependsOn.map((idx) => plan[idx].workload.id),\n };\n\n if (item.parent && item.parent.label !== '[hidden]') {\n dto.parentId = item.parent.id;\n }\n\n if (isScriptWorkflow(item.workload)) {\n dto.workspace = {\n name: item.workload.workspace.name,\n slug: slugify(item.workload.workspace.name),\n version: item.workload.workspace.version,\n root: item.workload.workspace.root,\n };\n }\n\n output.push(dto);\n }\n\n printJson(output, stream);\n}\n\nexport interface PlanWorkspaceDto {\n readonly name: string;\n readonly slug: string;\n readonly version: string;\n readonly root: string;\n}\n\nexport interface PlanItemDto {\n readonly id: string;\n readonly parentId?: string;\n readonly label: string;\n readonly type: string;\n readonly workspace?: PlanWorkspaceDto;\n readonly dependsOn: readonly string[];\n}\n"],"names":["jobPlanJson","job","stream","process","stdout","plan","flatJobPlan","output","item","dto","id","workload","label","type","dependsOn","map","idx","parent","parentId","isScriptWorkflow","workspace","name","slug","slugify","version","root","push","printJson"],"mappings":"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"}
|