footprintjs 9.46.1 → 9.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4 -3
- package/CLAUDE.md +4 -4
- package/README.md +1 -1
- package/dist/advanced.js +95 -90
- package/dist/esm/advanced.d.ts +16 -10
- package/dist/esm/advanced.js +14 -9
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +5 -3
- package/dist/esm/lib/memory/EventLog.d.ts +1 -1
- package/dist/esm/lib/memory/EventLog.js +2 -2
- package/dist/esm/lib/memory/scrub.d.ts +3 -1
- package/dist/esm/lib/memory/scrub.js +4 -2
- package/dist/esm/lib/memory/verbs.d.ts +1 -1
- package/dist/esm/lib/memory/verbs.js +2 -2
- package/dist/esm/trace.d.ts +2 -0
- package/dist/esm/trace.js +3 -2
- package/dist/esm/write.d.ts +47 -0
- package/dist/esm/write.js +46 -0
- package/dist/index.js +5 -3
- package/dist/lib/memory/EventLog.js +2 -2
- package/dist/lib/memory/scrub.js +4 -2
- package/dist/lib/memory/verbs.js +2 -2
- package/dist/trace.js +6 -4
- package/dist/types/advanced.d.ts +16 -10
- package/dist/types/index.d.ts +4 -2
- package/dist/types/lib/memory/EventLog.d.ts +1 -1
- package/dist/types/lib/memory/scrub.d.ts +3 -1
- package/dist/types/lib/memory/verbs.d.ts +1 -1
- package/dist/types/trace.d.ts +2 -0
- package/dist/types/write.d.ts +47 -0
- package/dist/write.js +52 -0
- package/package.json +15 -1
package/AGENTS.md
CHANGED
|
@@ -10,14 +10,15 @@ This is the footprint.js library — the flowchart pattern for backend code. Sel
|
|
|
10
10
|
|
|
11
11
|
## Architecture — Library of Libraries
|
|
12
12
|
|
|
13
|
-
`package.json` `exports` has
|
|
13
|
+
`package.json` `exports` has seven doors — import from the one that owns the symbol:
|
|
14
14
|
|
|
15
15
|
| Import | What it is for |
|
|
16
16
|
|---|---|
|
|
17
17
|
| `footprintjs` | The main door: `flowChart`, `FlowChartExecutor`, `decide` / `select`, `narrative`, the built-in recorder classes, `interrupt`, and the public types |
|
|
18
18
|
| `footprintjs/recorders` | Recorder factories — `narrative()`, `metrics()`, `debug()`, `manifest()`, `adaptive()`, `milestone()`, `windowed()` — and `CompositeRecorder` |
|
|
19
|
-
| `footprintjs/trace` | Execution tracing: runtimeStageId helpers, commit-log queries (`findCommit`, `findLastWriter`, `causalChain`, `sliceForKey`, `stateAt`, `timeTravel`), the storage primitives (`KeyedStore`, `SequenceStore`, `BoundaryStateStore`), `topologyRecorder()` / `inOutRecorder()`, `HONESTY_CODES` |
|
|
20
|
-
| `footprintjs/
|
|
19
|
+
| `footprintjs/trace` | Execution tracing: the record's shapes (`CommitBundle`, `TraceEntry`, `MemoryPatch`), runtimeStageId helpers, commit-log queries (`findCommit`, `findLastWriter`, `applySmartMerge`, `causalChain`, `sliceForKey`, `stateAt`, `timeTravel`), the storage primitives (`KeyedStore`, `SequenceStore`, `BoundaryStateStore`), `topologyRecorder()` / `inOutRecorder()`, `HONESTY_CODES` |
|
|
20
|
+
| `footprintjs/write` | Writing a record yourself: the record layer the engine writes with — `SharedMemory` (the heap), `EventLog` (the log), `RecordFrame` (one step's frame) and their option types |
|
|
21
|
+
| `footprintjs/advanced` | Engine internals (`StageContext`, `FlowchartTraverser`, `ScopeFacade`, scope providers, `SCOPE_METHOD_NAMES`, `ArrayMergeMode`, the run policy and `RedactionRule`). Until 10.0.0 it also keeps the record names it handed out before 9.47.0 — import those from `trace` or `write`; the nine record internals among them (`TransactionBuffer`, `deepSmartMerge`, …, `redactPatch`) have no other door and leave the public surface at 10.0.0 |
|
|
21
22
|
| `footprintjs/detach` | Fire-and-forget child charts and their drivers |
|
|
22
23
|
| `footprintjs/zod` | Opt-in zod bridge (`defineScopeFromZod`, …) — the core never imports zod |
|
|
23
24
|
|
package/CLAUDE.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
Self-explaining flowchart engine: a fluent builder emits a static chart; one DFS pass executes it while observer channels + a commit log capture everything ("collect during traversal, never post-process"). This file maps seams and blast radius; for API description read the code/README — **trust the code** where any doc disagrees.
|
|
5
5
|
|
|
6
6
|
## Module map
|
|
7
|
-
Entry points: `footprintjs` (public API) · `/recorders` (factories) · `/trace` (commitLog queries, stores, causalChain) · `/advanced` (engine internals) · `/detach` · `/zod` (opt-in; zod never imported by core). New public symbols are wired through the barrel that OWNS them (canonical path)
|
|
7
|
+
Entry points: `footprintjs` (public API) · `/recorders` (factories) · `/trace` (the record's shapes `CommitBundle`/`TraceEntry`/`MemoryPatch`, commitLog queries, `applySmartMerge`, stores, causalChain) · `/write` (C5, 9.47.0: the record layer as the public writer — `RecordFrame`, `SharedMemory`, `EventLog` + option types; engine-free, `test/architecture/write-door.test.ts`) · `/advanced` (engine internals; until 10.0.0 also every record name it handed out before 9.47.0, as `keptUntil` second doors) · `/detach` · `/zod` (opt-in; zod never imported by core). New public symbols are wired through the barrel that OWNS them (canonical path) — do not assume `export *` chaining. A minor never drops a published name: a move keeps the old door until the next major (`test/architecture/published-doors.test.ts`).
|
|
8
8
|
|
|
9
9
|
| src/lib/ | one job |
|
|
10
10
|
|---|---|
|
|
11
11
|
| capture/ | retention policies + bounded payload summarization (leaf; shared by tracking dials AND deferred-observer capture) + `valueKinds` (the ONE classifier of value kinds: `deepEqual`'s arms and what freezing seals, 9.44.2) + the shared leaves `invokeHook` (the one recorder-hook invoker both delivery tiers use), `circular` (dev-mode cycle probe), `summarizeValue` (the narrative one-liner); `lib/devMode.ts` — the dev-mode flag — is its sibling leaf (all four moved out of scope/ and recorder/ in F0: they closed the one memory ⇄ scope ⇄ recorder module cycle) |
|
|
12
|
-
| memory/ | transactional state: SharedMemory heap, StageContext frames, `RecordFrame` (the record half of a frame, L3, C3: the address, the first-touch base, the two-tier read, the lazy buffer (private since C4: staged only through `write(path, value, verb, scrub?)`, which carries a redaction verdict's bytes), the readKeys list, and the commit through `recordCommit`; StageContext composes it), the log's scrub (`scrub.ts`, L2: `scrubPatch` / `redactPatch`, C4), TransactionBuffer staging (+ admission.ts, the admitted record's check; deltaEncoding.ts, the delta encoder's helpers), EventLog commit log — PLUS the ONE verb law (`verbs.ts`, L1: `applyVerb`, `foldRows`, `foldKey`; leaves `paths.ts` / `equality.ts` / `merge.ts`; `utils.ts` re-exports them) and trace analysis (backtrack.ts causalChain, commitLogUtils.ts) |
|
|
12
|
+
| memory/ | transactional state: SharedMemory heap, StageContext frames, `RecordFrame` (the record half of a frame, L3, C3: the address, the first-touch base, the two-tier read, the lazy buffer (private since C4: staged only through `write(path, value, verb, scrub?)`, which carries a redaction verdict's bytes), the readKeys list, and the commit through `recordCommit`; StageContext composes it; with `SharedMemory` and `EventLog` it is the public writer on `/write`, C5 — the engine writes through the same classes), the log's scrub (`scrub.ts`, L2: `scrubPatch` / `redactPatch`, C4), TransactionBuffer staging (+ admission.ts, the admitted record's check; deltaEncoding.ts, the delta encoder's helpers), EventLog commit log — PLUS the ONE verb law (`verbs.ts`, L1: `applyVerb`, `foldRows`, `foldKey`; leaves `paths.ts` / `equality.ts` / `merge.ts`; `utils.ts` re-exports them) and trace analysis (backtrack.ts causalChain, commitLogUtils.ts) |
|
|
13
13
|
| schema/ | duck-typed validation (`.safeParse/.parse` ⇒ 'parseable') |
|
|
14
14
|
| builder/ | fluent DSL → FlowChartSpec → StageNode graph; build-time StructureRecorder channel. NOT standalone: imports runner's makeRunnable (FlowChartBuilder.ts:18) |
|
|
15
15
|
| scope/ | ScopeFacade per stage (tracked get/set, $emit, frozen args/env); built-in ScopeRecorders in scope/recorders/ |
|
|
@@ -24,12 +24,12 @@ Entry points: `footprintjs` (public API) · `/recorders` (factories) · `/trace`
|
|
|
24
24
|
| observer-queue/ | pure deferred-delivery pipeline (engine imports IT, never reverse) |
|
|
25
25
|
| contract/, detach/ | I/O schema normalization (OpenAPI generation belongs to runner/RunnableChart); fire-and-forget child charts (drivers passed explicitly) |
|
|
26
26
|
|
|
27
|
-
**The fence (F0):** a file imports only its own layer or BELOW — L0 values/leaves · L1 verbs · L2 staging+commit · L3 the log as a read model + the record half of a frame (`RecordFrame`) · L4 frame+run policy+the redaction verdict (`redaction.ts`, C4) · L5 scope/recorders/hooks · L6 engine · L7 builder+executor · L8 the `src/*.ts` entry barrels. The table is DATA in `scripts/layering.config.cjs` (most specific pattern wins; an unplaced file is an error, and `memory/` has no directory default because it spans L0–L4) and has three readers, none with a copy: `.eslintrc.js` (generated `import/no-restricted-paths` zones + `import/no-cycle`, src only), `npm run check:layering` (value-level cycles at module AND file level + upward RUNTIME edges; type-only imports excluded — the set equals the compiled CJS `require` graph), `test/architecture/layering.test.ts`. Three edges are named on purpose — builder → `runner/RunnableChart.ts` (`makeRunnable`), engine → `reactive/handles.ts`, scope → `detach/spawn.ts` — plus a short `TYPE_ONLY_ALLOWANCES` list (upward imports tsc erases, which the lint rule cannot tell apart); both lists are live-checked and only shrink. A new src file under an unsplit directory inherits its layer; one under `memory/` (or an exact-path entry) must be added to LAYERS — an unplaced file fails lint and the script. Public symbols have ONE canonical door each — `test/architecture/exports.test.ts` fails on any symbol two of the
|
|
27
|
+
**The fence (F0):** a file imports only its own layer or BELOW — L0 values/leaves · L1 verbs · L2 staging+commit · L3 the log as a read model + the record half of a frame (`RecordFrame`) · L4 frame+run policy+the redaction verdict (`redaction.ts`, C4) · L5 scope/recorders/hooks · L6 engine · L7 builder+executor · L8 the `src/*.ts` entry barrels. The table is DATA in `scripts/layering.config.cjs` (most specific pattern wins; an unplaced file is an error, and `memory/` has no directory default because it spans L0–L4) and has three readers, none with a copy: `.eslintrc.js` (generated `import/no-restricted-paths` zones + `import/no-cycle`, src only), `npm run check:layering` (value-level cycles at module AND file level + upward RUNTIME edges; type-only imports excluded — the set equals the compiled CJS `require` graph), `test/architecture/layering.test.ts`. Three edges are named on purpose — builder → `runner/RunnableChart.ts` (`makeRunnable`), engine → `reactive/handles.ts`, scope → `detach/spawn.ts` — plus a short `TYPE_ONLY_ALLOWANCES` list (upward imports tsc erases, which the lint rule cannot tell apart); both lists are live-checked and only shrink. A new src file under an unsplit directory inherits its layer; one under `memory/` (or an exact-path entry) must be added to LAYERS — an unplaced file fails lint and the script. Public symbols have ONE canonical door each — `test/architecture/exports.test.ts` fails on any symbol two of the seven `package.json` doors both hand out unless it is in `SECOND_DOORS` (19 standing in three reasoned groups, plus 15 `keptUntil: '10.0.0'` old `/advanced` doors of C5's moves; an alias counts as a door).
|
|
28
28
|
|
|
29
29
|
## Core state & flow
|
|
30
30
|
- `SharedMemory` (memory/SharedMemory.ts) — address-scoped heap: the frame's record frame hands it the address (`RecordFrame · address`; the engine decides it in `runAddress.ts · runAddress` / `StageContext · useAddressOf` from the ONE L4 constant `runAddress.ts · RUN_NAMESPACE`, C2–C4); committed state is **immutable-after-swap**, COPY-ON-WRITE since 9.29.0: every write (`applyPatch` → `verbs · nextGeneration`, `setValue`/`updateValue`) copies the root + the containers on each written path and SHARES every other subtree with the previous generation, then swaps. A generation is never edited; the seed is detached once at construction. Design: docs/design/2026-10-copy-on-write-commit.md.
|
|
31
31
|
- `StageContext` (memory/StageContext.ts:29) — per-stage frame inside a run; composes `RecordFrame` (memory/RecordFrame.ts, L3, C3: the lazy TransactionBuffer, the first-touch base, the two-tier read, readKeys, the address); `commit()` → `RecordFrame · commit` (payload, then the names) → `memory/recordCommit.ts · recordCommit` (live apply → scrub → mirror → `EventLog.record`) → onCommit → `RecordFrame · release`. `runId` is readonly (the address is decided once, 9.46.0). A staged write is `StageContext · stageWrite`: `redaction.ts · decideWrite` (the verdict) → `inheritByIdentity` (an object read under a selected name keeps its rule) → `RecordFrame · write(…, scrubOf(verdict))` (its bytes) → `markStagedWrite` (the run's marks, only once the write staged; C4, 9.46.1). Each step reads the rule when it acts.
|
|
32
|
-
- `CommitBundle`/`EventLog` — one bundle per executed stage, `bundle.idx` == array position; encoding governed by `commitValues: 'full'|'delta'`.
|
|
32
|
+
- `CommitBundle`/`EventLog` — one bundle per executed stage, `bundle.idx` == array position; encoding governed by `commitValues: 'full'|'delta'`. Canonical doors: `CommitBundle` on `/trace`, `EventLog` on `/write` (C5; also `/advanced` until 10.0.0).
|
|
33
33
|
- `TraversalContext` (engine/narrative/types.ts:172) — THE per-event context (runId, runtimeStageId, parentRuntimeStageId, subflowPath, loopIteration); stamped on every FlowRecorder event.
|
|
34
34
|
- `runtimeStageId` = `[subflowPath/]stageId#executionIndex`; counter shared by reference into subflow traversers → globally unique; NOT reset on resume.
|
|
35
35
|
- Subflows get a fresh isolated ExecutionRuntime (SubflowExecutor.ts:119); inputMapper seeds, outputMapper merges back (arrays CONCAT unless `arrayMerge: Replace`).
|
package/README.md
CHANGED
|
@@ -233,7 +233,7 @@ Import one thing, ship one thing. footprintjs is built so your bundle grows only
|
|
|
233
233
|
|
|
234
234
|
- **Dual build, true ESM.** Ships CommonJS (`require`) **and** real ECMAScript Modules (`import`) with TypeScript types. The ESM build is marked `type:module` and every internal import carries an explicit `.js` extension, so it loads as true ESM under Node, Vite, Next, Deno, and Bun — no compatibility shims.
|
|
235
235
|
- **Per-file modules + `sideEffects:false`.** The dist is emitted file-by-file (never pre-bundled) and declares zero side effects, so bundlers can drop every export you don't touch.
|
|
236
|
-
- **Subpath exports.** Pull execution tracing from `footprintjs/trace`, fire-and-forget children from `footprintjs/detach`, engine internals from `footprintjs/advanced` — each is independently tree-shakeable.
|
|
236
|
+
- **Subpath exports.** Pull execution tracing from `footprintjs/trace`, write a record yourself with `footprintjs/write` (the record layer the engine writes with, and nothing of the engine), fire-and-forget children from `footprintjs/detach`, engine internals from `footprintjs/advanced` — each is independently tree-shakeable.
|
|
237
237
|
|
|
238
238
|
**Proven, not promised.** A CI smoke test bundles a minimal `import { flowChart } from 'footprintjs'` and asserts the recorder, detach, and trace layers are pruned — your flowchart core doesn't drag them in. See [`test/esm-packaging.test.ts`](test/esm-packaging.test.ts).
|
|
239
239
|
|
package/dist/advanced.js
CHANGED
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
* footprintjs/advanced — Low-level internals for custom execution engines and testing.
|
|
4
4
|
*
|
|
5
5
|
* Most users never need this. Use `footprintjs` (main) instead.
|
|
6
|
-
* This entry point exposes
|
|
7
|
-
* and other primitives that
|
|
6
|
+
* This entry point exposes the engine's frame (`StageContext`), the traverser
|
|
7
|
+
* (`FlowchartTraverser`), the scope providers and the other primitives that
|
|
8
|
+
* power the engine. The record has doors of its own: write one with
|
|
9
|
+
* `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
|
|
10
|
+
* with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
|
|
11
|
+
* The record's names this door handed out before 9.47.0 stay here until
|
|
12
|
+
* 10.0.0, the same symbols: import those from their own door (the nine record
|
|
13
|
+
* internals among them have none, and leave the public surface at 10.0.0).
|
|
8
14
|
*
|
|
9
15
|
* ```ts
|
|
10
|
-
* import {
|
|
16
|
+
* import { StageContext } from 'footprintjs/advanced';
|
|
17
|
+
* import { SharedMemory } from 'footprintjs/write';
|
|
11
18
|
* ```
|
|
12
19
|
*
|
|
13
20
|
* @module advanced
|
|
@@ -21,101 +28,99 @@
|
|
|
21
28
|
* Import via: import { ... } from 'footprint/advanced'
|
|
22
29
|
*/
|
|
23
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.
|
|
25
|
-
exports.zodToJsonSchema = exports.normalizeSchema = exports.evaluateFilter = exports.
|
|
31
|
+
exports.unwrapHandles = exports.shouldWrapWithProxy = exports.SCOPE_METHOD_NAMES = exports.joinPath = exports.isHandle = exports.createArrayProxy = exports.buildNestedPatch = exports.runPolicy = exports.DEFAULT_RUN_POLICY = exports.ExecutionRuntime = exports.registerScopeRuntime = exports.toScopeFactory = exports.resolveScopeProvider = exports.registerScopeResolver = exports.makeFactoryProvider = exports.makeClassProvider = exports.looksLikeFactory = exports.looksLikeClassCtor = exports.isSubclassOfScopeFacade = exports.attachScopeMethods = exports.ScopeFacade = exports.createProtectedScope = exports.createErrorMessage = exports.createTypedScopeFactory = exports.specToStageNode = exports.SelectorFnList = exports.DeciderList = exports.ArrayMergeMode = exports.updateValue = exports.updateNestedValue = exports.setNestedValue = exports.redactPatch = exports.pathSegments = exports.normalisePath = exports.getRunAndGlobalPaths = exports.getNestedValue = exports.deepSmartMerge = exports.applySmartMerge = exports.TransactionBuffer = exports.SharedMemory = exports.EventLog = exports.findLastWriter = exports.findCommits = exports.findCommit = exports.parseRuntimeStageId = exports.createExecutionCounter = exports.buildRuntimeStageId = exports.RedactionRule = exports.DiagnosticCollector = exports.StageContext = void 0;
|
|
32
|
+
exports.zodToJsonSchema = exports.normalizeSchema = exports.evaluateFilter = exports.SubflowExecutor = exports.StageRunner = exports.SelectorHandler = exports.seedSubflowGlobalStore = exports.RuntimeStructureManager = exports.ResumeEntry = exports.NodeResolver = exports.getInitialScopeValues = exports.extractParentScopeValues = exports.DEFAULT_MAX_ITERATIONS = exports.DeciderHandler = exports.createSubflowHandlerDeps = exports.ContinuationResolver = exports.computeNodeType = exports.ChildrenExecutor = exports.applyOutputMapping = exports.NullControlFlowNarrativeGenerator = exports.isStageNodeReturn = exports.FlowchartTraverser = exports.valueBehind = void 0;
|
|
26
33
|
var index_js_1 = require("./lib/memory/index.js");
|
|
27
|
-
Object.defineProperty(exports, "
|
|
34
|
+
Object.defineProperty(exports, "StageContext", { enumerable: true, get: function () { return index_js_1.StageContext; } });
|
|
28
35
|
var index_js_2 = require("./lib/memory/index.js");
|
|
29
|
-
Object.defineProperty(exports, "
|
|
36
|
+
Object.defineProperty(exports, "DiagnosticCollector", { enumerable: true, get: function () { return index_js_2.DiagnosticCollector; } });
|
|
30
37
|
var index_js_3 = require("./lib/memory/index.js");
|
|
31
|
-
Object.defineProperty(exports, "
|
|
38
|
+
Object.defineProperty(exports, "RedactionRule", { enumerable: true, get: function () { return index_js_3.RedactionRule; } });
|
|
39
|
+
var runtimeStageId_js_1 = require("./lib/ids/runtimeStageId.js");
|
|
40
|
+
Object.defineProperty(exports, "buildRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.buildRuntimeStageId; } });
|
|
41
|
+
Object.defineProperty(exports, "createExecutionCounter", { enumerable: true, get: function () { return runtimeStageId_js_1.createExecutionCounter; } });
|
|
42
|
+
Object.defineProperty(exports, "parseRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.parseRuntimeStageId; } });
|
|
43
|
+
var commitLogUtils_js_1 = require("./lib/memory/commitLogUtils.js");
|
|
44
|
+
Object.defineProperty(exports, "findCommit", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommit; } });
|
|
45
|
+
Object.defineProperty(exports, "findCommits", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommits; } });
|
|
46
|
+
Object.defineProperty(exports, "findLastWriter", { enumerable: true, get: function () { return commitLogUtils_js_1.findLastWriter; } });
|
|
32
47
|
var index_js_4 = require("./lib/memory/index.js");
|
|
48
|
+
Object.defineProperty(exports, "EventLog", { enumerable: true, get: function () { return index_js_4.EventLog; } });
|
|
49
|
+
Object.defineProperty(exports, "SharedMemory", { enumerable: true, get: function () { return index_js_4.SharedMemory; } });
|
|
33
50
|
Object.defineProperty(exports, "TransactionBuffer", { enumerable: true, get: function () { return index_js_4.TransactionBuffer; } });
|
|
34
51
|
var index_js_5 = require("./lib/memory/index.js");
|
|
35
|
-
Object.defineProperty(exports, "
|
|
36
|
-
|
|
37
|
-
Object.defineProperty(exports, "
|
|
38
|
-
|
|
39
|
-
Object.defineProperty(exports, "
|
|
40
|
-
Object.defineProperty(exports, "
|
|
41
|
-
Object.defineProperty(exports, "
|
|
42
|
-
Object.defineProperty(exports, "
|
|
43
|
-
Object.defineProperty(exports, "
|
|
44
|
-
Object.defineProperty(exports, "
|
|
45
|
-
|
|
46
|
-
Object.defineProperty(exports, "
|
|
47
|
-
Object.defineProperty(exports, "
|
|
48
|
-
Object.defineProperty(exports, "
|
|
49
|
-
|
|
50
|
-
Object.defineProperty(exports, "ArrayMergeMode", { enumerable: true, get: function () { return index_js_8.ArrayMergeMode; } });
|
|
51
|
-
Object.defineProperty(exports, "DeciderList", { enumerable: true, get: function () { return index_js_8.DeciderList; } });
|
|
52
|
-
Object.defineProperty(exports, "SelectorFnList", { enumerable: true, get: function () { return index_js_8.SelectorFnList; } });
|
|
53
|
-
Object.defineProperty(exports, "specToStageNode", { enumerable: true, get: function () { return index_js_8.specToStageNode; } });
|
|
52
|
+
Object.defineProperty(exports, "applySmartMerge", { enumerable: true, get: function () { return index_js_5.applySmartMerge; } });
|
|
53
|
+
Object.defineProperty(exports, "deepSmartMerge", { enumerable: true, get: function () { return index_js_5.deepSmartMerge; } });
|
|
54
|
+
Object.defineProperty(exports, "getNestedValue", { enumerable: true, get: function () { return index_js_5.getNestedValue; } });
|
|
55
|
+
Object.defineProperty(exports, "getRunAndGlobalPaths", { enumerable: true, get: function () { return index_js_5.getRunAndGlobalPaths; } });
|
|
56
|
+
Object.defineProperty(exports, "normalisePath", { enumerable: true, get: function () { return index_js_5.normalisePath; } });
|
|
57
|
+
Object.defineProperty(exports, "pathSegments", { enumerable: true, get: function () { return index_js_5.pathSegments; } });
|
|
58
|
+
Object.defineProperty(exports, "redactPatch", { enumerable: true, get: function () { return index_js_5.redactPatch; } });
|
|
59
|
+
Object.defineProperty(exports, "setNestedValue", { enumerable: true, get: function () { return index_js_5.setNestedValue; } });
|
|
60
|
+
Object.defineProperty(exports, "updateNestedValue", { enumerable: true, get: function () { return index_js_5.updateNestedValue; } });
|
|
61
|
+
Object.defineProperty(exports, "updateValue", { enumerable: true, get: function () { return index_js_5.updateValue; } });
|
|
62
|
+
var index_js_6 = require("./lib/builder/index.js");
|
|
63
|
+
Object.defineProperty(exports, "ArrayMergeMode", { enumerable: true, get: function () { return index_js_6.ArrayMergeMode; } });
|
|
64
|
+
Object.defineProperty(exports, "DeciderList", { enumerable: true, get: function () { return index_js_6.DeciderList; } });
|
|
65
|
+
Object.defineProperty(exports, "SelectorFnList", { enumerable: true, get: function () { return index_js_6.SelectorFnList; } });
|
|
66
|
+
Object.defineProperty(exports, "specToStageNode", { enumerable: true, get: function () { return index_js_6.specToStageNode; } });
|
|
54
67
|
var typedFlowChart_js_1 = require("./lib/builder/typedFlowChart.js");
|
|
55
68
|
Object.defineProperty(exports, "createTypedScopeFactory", { enumerable: true, get: function () { return typedFlowChart_js_1.createTypedScopeFactory; } });
|
|
56
|
-
var
|
|
57
|
-
Object.defineProperty(exports, "createErrorMessage", { enumerable: true, get: function () { return
|
|
58
|
-
Object.defineProperty(exports, "createProtectedScope", { enumerable: true, get: function () { return
|
|
59
|
-
Object.defineProperty(exports, "ScopeFacade", { enumerable: true, get: function () { return
|
|
60
|
-
var
|
|
61
|
-
Object.defineProperty(exports, "attachScopeMethods", { enumerable: true, get: function () { return
|
|
62
|
-
Object.defineProperty(exports, "isSubclassOfScopeFacade", { enumerable: true, get: function () { return
|
|
63
|
-
Object.defineProperty(exports, "looksLikeClassCtor", { enumerable: true, get: function () { return
|
|
64
|
-
Object.defineProperty(exports, "looksLikeFactory", { enumerable: true, get: function () { return
|
|
65
|
-
Object.defineProperty(exports, "makeClassProvider", { enumerable: true, get: function () { return
|
|
66
|
-
Object.defineProperty(exports, "makeFactoryProvider", { enumerable: true, get: function () { return
|
|
67
|
-
Object.defineProperty(exports, "registerScopeResolver", { enumerable: true, get: function () { return
|
|
68
|
-
Object.defineProperty(exports, "resolveScopeProvider", { enumerable: true, get: function () { return
|
|
69
|
-
Object.defineProperty(exports, "toScopeFactory", { enumerable: true, get: function () { return
|
|
69
|
+
var index_js_7 = require("./lib/scope/index.js");
|
|
70
|
+
Object.defineProperty(exports, "createErrorMessage", { enumerable: true, get: function () { return index_js_7.createErrorMessage; } });
|
|
71
|
+
Object.defineProperty(exports, "createProtectedScope", { enumerable: true, get: function () { return index_js_7.createProtectedScope; } });
|
|
72
|
+
Object.defineProperty(exports, "ScopeFacade", { enumerable: true, get: function () { return index_js_7.ScopeFacade; } });
|
|
73
|
+
var index_js_8 = require("./lib/scope/index.js");
|
|
74
|
+
Object.defineProperty(exports, "attachScopeMethods", { enumerable: true, get: function () { return index_js_8.attachScopeMethods; } });
|
|
75
|
+
Object.defineProperty(exports, "isSubclassOfScopeFacade", { enumerable: true, get: function () { return index_js_8.isSubclassOfScopeFacade; } });
|
|
76
|
+
Object.defineProperty(exports, "looksLikeClassCtor", { enumerable: true, get: function () { return index_js_8.looksLikeClassCtor; } });
|
|
77
|
+
Object.defineProperty(exports, "looksLikeFactory", { enumerable: true, get: function () { return index_js_8.looksLikeFactory; } });
|
|
78
|
+
Object.defineProperty(exports, "makeClassProvider", { enumerable: true, get: function () { return index_js_8.makeClassProvider; } });
|
|
79
|
+
Object.defineProperty(exports, "makeFactoryProvider", { enumerable: true, get: function () { return index_js_8.makeFactoryProvider; } });
|
|
80
|
+
Object.defineProperty(exports, "registerScopeResolver", { enumerable: true, get: function () { return index_js_8.registerScopeResolver; } });
|
|
81
|
+
Object.defineProperty(exports, "resolveScopeProvider", { enumerable: true, get: function () { return index_js_8.resolveScopeProvider; } });
|
|
82
|
+
Object.defineProperty(exports, "toScopeFactory", { enumerable: true, get: function () { return index_js_8.toScopeFactory; } });
|
|
70
83
|
var runtime_js_1 = require("./lib/scope/runtime.js");
|
|
71
84
|
Object.defineProperty(exports, "registerScopeRuntime", { enumerable: true, get: function () { return runtime_js_1.registerScopeRuntime; } });
|
|
72
|
-
var
|
|
73
|
-
Object.defineProperty(exports, "ExecutionRuntime", { enumerable: true, get: function () { return
|
|
74
|
-
var
|
|
75
|
-
Object.defineProperty(exports, "DEFAULT_RUN_POLICY", { enumerable: true, get: function () { return
|
|
76
|
-
Object.defineProperty(exports, "runPolicy", { enumerable: true, get: function () { return
|
|
77
|
-
var
|
|
78
|
-
Object.defineProperty(exports, "buildNestedPatch", { enumerable: true, get: function () { return
|
|
79
|
-
Object.defineProperty(exports, "createArrayProxy", { enumerable: true, get: function () { return
|
|
80
|
-
Object.defineProperty(exports, "isHandle", { enumerable: true, get: function () { return
|
|
81
|
-
Object.defineProperty(exports, "joinPath", { enumerable: true, get: function () { return
|
|
82
|
-
Object.defineProperty(exports, "SCOPE_METHOD_NAMES", { enumerable: true, get: function () { return
|
|
83
|
-
Object.defineProperty(exports, "shouldWrapWithProxy", { enumerable: true, get: function () { return
|
|
84
|
-
Object.defineProperty(exports, "unwrapHandles", { enumerable: true, get: function () { return
|
|
85
|
-
Object.defineProperty(exports, "valueBehind", { enumerable: true, get: function () { return
|
|
85
|
+
var index_js_9 = require("./lib/runner/index.js");
|
|
86
|
+
Object.defineProperty(exports, "ExecutionRuntime", { enumerable: true, get: function () { return index_js_9.ExecutionRuntime; } });
|
|
87
|
+
var index_js_10 = require("./lib/memory/index.js");
|
|
88
|
+
Object.defineProperty(exports, "DEFAULT_RUN_POLICY", { enumerable: true, get: function () { return index_js_10.DEFAULT_RUN_POLICY; } });
|
|
89
|
+
Object.defineProperty(exports, "runPolicy", { enumerable: true, get: function () { return index_js_10.runPolicy; } });
|
|
90
|
+
var index_js_11 = require("./lib/reactive/index.js");
|
|
91
|
+
Object.defineProperty(exports, "buildNestedPatch", { enumerable: true, get: function () { return index_js_11.buildNestedPatch; } });
|
|
92
|
+
Object.defineProperty(exports, "createArrayProxy", { enumerable: true, get: function () { return index_js_11.createArrayProxy; } });
|
|
93
|
+
Object.defineProperty(exports, "isHandle", { enumerable: true, get: function () { return index_js_11.isHandle; } });
|
|
94
|
+
Object.defineProperty(exports, "joinPath", { enumerable: true, get: function () { return index_js_11.joinPath; } });
|
|
95
|
+
Object.defineProperty(exports, "SCOPE_METHOD_NAMES", { enumerable: true, get: function () { return index_js_11.SCOPE_METHOD_NAMES; } });
|
|
96
|
+
Object.defineProperty(exports, "shouldWrapWithProxy", { enumerable: true, get: function () { return index_js_11.shouldWrapWithProxy; } });
|
|
97
|
+
Object.defineProperty(exports, "unwrapHandles", { enumerable: true, get: function () { return index_js_11.unwrapHandles; } });
|
|
98
|
+
Object.defineProperty(exports, "valueBehind", { enumerable: true, get: function () { return index_js_11.valueBehind; } });
|
|
99
|
+
var index_js_12 = require("./lib/engine/index.js");
|
|
100
|
+
Object.defineProperty(exports, "FlowchartTraverser", { enumerable: true, get: function () { return index_js_12.FlowchartTraverser; } });
|
|
101
|
+
var index_js_13 = require("./lib/engine/index.js");
|
|
102
|
+
Object.defineProperty(exports, "isStageNodeReturn", { enumerable: true, get: function () { return index_js_13.isStageNodeReturn; } });
|
|
86
103
|
var index_js_14 = require("./lib/engine/index.js");
|
|
87
|
-
Object.defineProperty(exports, "
|
|
104
|
+
Object.defineProperty(exports, "NullControlFlowNarrativeGenerator", { enumerable: true, get: function () { return index_js_14.NullControlFlowNarrativeGenerator; } });
|
|
88
105
|
var index_js_15 = require("./lib/engine/index.js");
|
|
89
|
-
Object.defineProperty(exports, "
|
|
90
|
-
|
|
91
|
-
Object.defineProperty(exports, "
|
|
92
|
-
|
|
93
|
-
Object.defineProperty(exports, "
|
|
94
|
-
Object.defineProperty(exports, "
|
|
95
|
-
Object.defineProperty(exports, "
|
|
96
|
-
Object.defineProperty(exports, "
|
|
97
|
-
Object.defineProperty(exports, "
|
|
98
|
-
Object.defineProperty(exports, "
|
|
99
|
-
Object.defineProperty(exports, "
|
|
100
|
-
Object.defineProperty(exports, "
|
|
101
|
-
Object.defineProperty(exports, "
|
|
102
|
-
Object.defineProperty(exports, "
|
|
103
|
-
Object.defineProperty(exports, "
|
|
104
|
-
Object.defineProperty(exports, "
|
|
105
|
-
|
|
106
|
-
Object.defineProperty(exports, "
|
|
107
|
-
Object.defineProperty(exports, "StageRunner", { enumerable: true, get: function () { return index_js_17.StageRunner; } });
|
|
108
|
-
Object.defineProperty(exports, "SubflowExecutor", { enumerable: true, get: function () { return index_js_17.SubflowExecutor; } });
|
|
109
|
-
var runtimeStageId_js_1 = require("./lib/ids/runtimeStageId.js");
|
|
110
|
-
Object.defineProperty(exports, "buildRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.buildRuntimeStageId; } });
|
|
111
|
-
Object.defineProperty(exports, "createExecutionCounter", { enumerable: true, get: function () { return runtimeStageId_js_1.createExecutionCounter; } });
|
|
112
|
-
Object.defineProperty(exports, "parseRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.parseRuntimeStageId; } });
|
|
113
|
-
var commitLogUtils_js_1 = require("./lib/memory/commitLogUtils.js");
|
|
114
|
-
Object.defineProperty(exports, "findCommit", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommit; } });
|
|
115
|
-
Object.defineProperty(exports, "findCommits", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommits; } });
|
|
116
|
-
Object.defineProperty(exports, "findLastWriter", { enumerable: true, get: function () { return commitLogUtils_js_1.findLastWriter; } });
|
|
117
|
-
var index_js_18 = require("./lib/decide/index.js");
|
|
118
|
-
Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: function () { return index_js_18.evaluateFilter; } });
|
|
106
|
+
Object.defineProperty(exports, "applyOutputMapping", { enumerable: true, get: function () { return index_js_15.applyOutputMapping; } });
|
|
107
|
+
Object.defineProperty(exports, "ChildrenExecutor", { enumerable: true, get: function () { return index_js_15.ChildrenExecutor; } });
|
|
108
|
+
Object.defineProperty(exports, "computeNodeType", { enumerable: true, get: function () { return index_js_15.computeNodeType; } });
|
|
109
|
+
Object.defineProperty(exports, "ContinuationResolver", { enumerable: true, get: function () { return index_js_15.ContinuationResolver; } });
|
|
110
|
+
Object.defineProperty(exports, "createSubflowHandlerDeps", { enumerable: true, get: function () { return index_js_15.createSubflowHandlerDeps; } });
|
|
111
|
+
Object.defineProperty(exports, "DeciderHandler", { enumerable: true, get: function () { return index_js_15.DeciderHandler; } });
|
|
112
|
+
Object.defineProperty(exports, "DEFAULT_MAX_ITERATIONS", { enumerable: true, get: function () { return index_js_15.DEFAULT_MAX_ITERATIONS; } });
|
|
113
|
+
Object.defineProperty(exports, "extractParentScopeValues", { enumerable: true, get: function () { return index_js_15.extractParentScopeValues; } });
|
|
114
|
+
Object.defineProperty(exports, "getInitialScopeValues", { enumerable: true, get: function () { return index_js_15.getInitialScopeValues; } });
|
|
115
|
+
Object.defineProperty(exports, "NodeResolver", { enumerable: true, get: function () { return index_js_15.NodeResolver; } });
|
|
116
|
+
Object.defineProperty(exports, "ResumeEntry", { enumerable: true, get: function () { return index_js_15.ResumeEntry; } });
|
|
117
|
+
Object.defineProperty(exports, "RuntimeStructureManager", { enumerable: true, get: function () { return index_js_15.RuntimeStructureManager; } });
|
|
118
|
+
Object.defineProperty(exports, "seedSubflowGlobalStore", { enumerable: true, get: function () { return index_js_15.seedSubflowGlobalStore; } });
|
|
119
|
+
Object.defineProperty(exports, "SelectorHandler", { enumerable: true, get: function () { return index_js_15.SelectorHandler; } });
|
|
120
|
+
Object.defineProperty(exports, "StageRunner", { enumerable: true, get: function () { return index_js_15.StageRunner; } });
|
|
121
|
+
Object.defineProperty(exports, "SubflowExecutor", { enumerable: true, get: function () { return index_js_15.SubflowExecutor; } });
|
|
122
|
+
var index_js_16 = require("./lib/decide/index.js");
|
|
123
|
+
Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: function () { return index_js_16.evaluateFilter; } });
|
|
119
124
|
// ============================================================================
|
|
120
125
|
// Contract — schema normalization (for custom tool emitters)
|
|
121
126
|
// ============================================================================
|
|
@@ -123,7 +128,7 @@ Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: functi
|
|
|
123
128
|
// (per-edge MCP descriptors) reuse the Zod→JSON-Schema conversion without
|
|
124
129
|
// importing the runner. Gate inputs with detectSchema (main barrel): a
|
|
125
130
|
// non-Zod 'parseable' schema (yup/superstruct) passes through unconverted.
|
|
126
|
-
var
|
|
127
|
-
Object.defineProperty(exports, "normalizeSchema", { enumerable: true, get: function () { return
|
|
128
|
-
Object.defineProperty(exports, "zodToJsonSchema", { enumerable: true, get: function () { return
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNIOzs7Ozs7O0dBT0c7Ozs7QUFxQkgsa0RBQXFEO0FBQTVDLHdHQUFBLFlBQVksT0FBQTtBQUNyQixrREFBcUQ7QUFBNUMsd0dBQUEsWUFBWSxPQUFBO0FBQ3JCLGtEQUFpRDtBQUF4QyxvR0FBQSxRQUFRLE9BQUE7QUFDakIsa0RBQTBEO0FBQWpELDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLGtEQUE0RDtBQUFuRCwrR0FBQSxtQkFBbUIsT0FBQTtBQUM1QixrREFBc0Q7QUFBN0MseUdBQUEsYUFBYSxPQUFBO0FBQ3RCLGtEQVcrQjtBQVY3QiwyR0FBQSxlQUFlLE9BQUE7QUFDZiwwR0FBQSxjQUFjLE9BQUE7QUFDZCwwR0FBQSxjQUFjLE9BQUE7QUFDZCxnSEFBQSxvQkFBb0IsT0FBQTtBQUNwQix5R0FBQSxhQUFhLE9BQUE7QUFDYix3R0FBQSxZQUFZLE9BQUE7QUFDWix1R0FBQSxXQUFXLE9BQUE7QUFDWCwwR0FBQSxjQUFjLE9BQUE7QUFDZCw2R0FBQSxpQkFBaUIsT0FBQTtBQUNqQix1R0FBQSxXQUFXLE9BQUE7QUF1QmIsbURBQXNHO0FBQTdGLDBHQUFBLGNBQWMsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUFFLDBHQUFBLGNBQWMsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUNyRSxxRUFBMEU7QUFBakUsNEhBQUEsdUJBQXVCLE9BQUE7QUFhaEMsaURBQTZGO0FBQXBGLDhHQUFBLGtCQUFrQixPQUFBO0FBQUUsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBRSx1R0FBQSxXQUFXLE9BQUE7QUFDOUQsa0RBVThCO0FBVDVCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGNBQWMsT0FBQTtBQUdoQixxREFBOEQ7QUFBckQsa0hBQUEsb0JBQW9CLE9BQUE7QUF3QjdCLG1EQUF5RDtBQUFoRCw2R0FBQSxnQkFBZ0IsT0FBQTtBQUd6QixtREFBc0U7QUFBN0QsK0dBQUEsa0JBQWtCLE9BQUE7QUFBRSxzR0FBQSxTQUFTLE9BQUE7QUFPdEMscURBU2lDO0FBUi9CLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHFHQUFBLFFBQVEsT0FBQTtBQUNSLHFHQUFBLFFBQVEsT0FBQTtBQUNSLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBHQUFBLGFBQWEsT0FBQTtBQUNiLHdHQUFBLFdBQVcsT0FBQTtBQVNiLG1EQUEyRDtBQUFsRCwrR0FBQSxrQkFBa0IsT0FBQTtBQUMzQixtREFBMEQ7QUFBakQsOEdBQUEsaUJBQWlCLE9BQUE7QUFtQjFCLG1EQUEwRTtBQUFqRSw4SEFBQSxpQ0FBaUMsT0FBQTtBQUkxQyxtREFpQitCO0FBaEI3QiwrR0FBQSxrQkFBa0IsT0FBQTtBQUNsQiw2R0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiw0R0FBQSxlQUFlLE9BQUE7QUFDZixpSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixxSEFBQSx3QkFBd0IsT0FBQTtBQUN4QiwyR0FBQSxjQUFjLE9BQUE7QUFDZCxtSEFBQSxzQkFBc0IsT0FBQTtBQUN0QixxSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixrSEFBQSxxQkFBcUIsT0FBQTtBQUNyQix5R0FBQSxZQUFZLE9BQUE7QUFDWix3R0FBQSxXQUFXLE9BQUE7QUFDWCxvSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixtSEFBQSxzQkFBc0IsT0FBQTtBQUN0Qiw0R0FBQSxlQUFlLE9BQUE7QUFDZix3R0FBQSxXQUFXLE9BQUE7QUFDWCw0R0FBQSxlQUFlLE9BQUE7QUFLakIsaUVBQStHO0FBQXRHLHdIQUFBLG1CQUFtQixPQUFBO0FBQUUsMkhBQUEsc0JBQXNCLE9BQUE7QUFBRSx3SEFBQSxtQkFBbUIsT0FBQTtBQUN6RSxvRUFBeUY7QUFBaEYsK0dBQUEsVUFBVSxPQUFBO0FBQUUsZ0hBQUEsV0FBVyxPQUFBO0FBQUUsbUhBQUEsY0FBYyxPQUFBO0FBVWhELG1EQUF1RDtBQUE5QywyR0FBQSxjQUFjLE9BQUE7QUFFdkIsK0VBQStFO0FBQy9FLDZEQUE2RDtBQUM3RCwrRUFBK0U7QUFDL0UsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSx1RUFBdUU7QUFDdkUsMkVBQTJFO0FBQzNFLHFEQUEyRTtBQUFsRSw0R0FBQSxlQUFlLE9BQUE7QUFBRSw0R0FBQSxlQUFlLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGZvb3RwcmludGpzL2FkdmFuY2VkIOKAlCBMb3ctbGV2ZWwgaW50ZXJuYWxzIGZvciBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMgYW5kIHRlc3RpbmcuXG4gKlxuICogTW9zdCB1c2VycyBuZXZlciBuZWVkIHRoaXMuIFVzZSBgZm9vdHByaW50anNgIChtYWluKSBpbnN0ZWFkLlxuICogVGhpcyBlbnRyeSBwb2ludCBleHBvc2VzIGBTaGFyZWRNZW1vcnlgLCBgU3RhZ2VDb250ZXh0YCwgYEZsb3djaGFydFRyYXZlcnNlcmAsXG4gKiBhbmQgb3RoZXIgcHJpbWl0aXZlcyB0aGF0IHBvd2VyIHRoZSBlbmdpbmUuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFNoYXJlZE1lbW9yeSwgU3RhZ2VDb250ZXh0IH0gZnJvbSAnZm9vdHByaW50anMvYWR2YW5jZWQnO1xuICogYGBgXG4gKlxuICogQG1vZHVsZSBhZHZhbmNlZFxuICovXG4vKipcbiAqIEZvb3RQcmludCDigJQgQWR2YW5jZWQgLyBJbnRlcm5hbCBBUElcbiAqXG4gKiBUaGVzZSBleHBvcnRzIGFyZSBmb3IgYWR2YW5jZWQgdXNlIGNhc2VzLCB0ZXN0aW5nLCBhbmQgYnVpbGRpbmdcbiAqIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcy4gTW9zdCB1c2VycyBzaG91bGQgdXNlIHRoZSBtYWluICdmb290cHJpbnQnIGVudHJ5IHBvaW50LlxuICpcbiAqIEltcG9ydCB2aWE6IGltcG9ydCB7IC4uLiB9IGZyb20gJ2Zvb3RwcmludC9hZHZhbmNlZCdcbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW1vcnkg4oCUIExvdy1sZXZlbCB0cmFuc2FjdGlvbmFsIHN0YXRlIHByaW1pdGl2ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBDb21taXRCdW5kbGUsXG4gIEZsb3dDb250cm9sVHlwZSxcbiAgRmxvd01lc3NhZ2UsXG4gIE1lbW9yeVBhdGNoLFxuICBSZWFkU3VtbWFyeU1hcmtlcixcbiAgUmVhZFRyYWNraW5nTW9kZSxcbiAgUmV0ZW50aW9uUG9saWN5LFxuICBTdGFnZVNuYXBzaG90LFxuICBUcmFjZUVudHJ5LFxuICBVbnRyYWNrZWRTb3VyY2UsXG4gIFdyaXRlU3VtbWFyeU1hcmtlcixcbiAgV3JpdGVUcmFja2luZ01vZGUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlZGFjdGlvblZlcmRpY3QgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgU2hhcmVkTWVtb3J5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBFdmVudExvZyB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1ZmZlciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBEaWFnbm9zdGljQ29sbGVjdG9yIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFJlZGFjdGlvblJ1bGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlTbWFydE1lcmdlLFxuICBkZWVwU21hcnRNZXJnZSxcbiAgZ2V0TmVzdGVkVmFsdWUsXG4gIGdldFJ1bkFuZEdsb2JhbFBhdGhzLFxuICBub3JtYWxpc2VQYXRoLFxuICBwYXRoU2VnbWVudHMsXG4gIHJlZGFjdFBhdGNoLFxuICBzZXROZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlTmVzdGVkVmFsdWUsXG4gIHVwZGF0ZVZhbHVlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCdWlsZGVyIOKAlCBUeXBlcyBhbmQgaW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgRXhlY09wdGlvbnMsXG4gIEZsb3dDaGFydE9wdGlvbnMsXG4gIEZsb3dDaGFydFNwZWMsXG4gIElMb2dnZXIsXG4gIFNjb3BlUHJvdGVjdGlvbk1vZGUsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgU2ltcGxpZmllZFBhcmFsbGVsU3BlYyxcbiAgU3RhZ2VGbixcbiAgU3RhZ2VOb2RlLFxuICBTdHJlYW1DYWxsYmFjayxcbiAgU3RyZWFtTGlmZWN5Y2xlSGFuZGxlcixcbiAgU3RyZWFtVG9rZW5IYW5kbGVyLFxuICBTdWJmbG93TW91bnRPcHRpb25zLFxuICBTdWJmbG93UmVmLFxufSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEFycmF5TWVyZ2VNb2RlLCBEZWNpZGVyTGlzdCwgU2VsZWN0b3JGbkxpc3QsIHNwZWNUb1N0YWdlTm9kZSB9IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlVHlwZWRTY29wZUZhY3RvcnkgfSBmcm9tICcuL2xpYi9idWlsZGVyL3R5cGVkRmxvd0NoYXJ0LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2NvcGUg4oCUIFByb3ZpZGVycywgcHJvdGVjdGlvbiwgcmVjb3JkZXIgb3B0aW9ucywgYW5kIGV2ZW50IHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgUHJvdmlkZXJSZXNvbHZlcixcbiAgUmVzb2x2ZU9wdGlvbnMsXG4gIFNjb3BlUHJvdmlkZXIsXG4gIFN0YWdlQ29udGV4dExpa2UsXG4gIFN0cmljdE1vZGUsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZUVycm9yTWVzc2FnZSwgY3JlYXRlUHJvdGVjdGVkU2NvcGUsIFNjb3BlRmFjYWRlIH0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXR0YWNoU2NvcGVNZXRob2RzLFxuICBpc1N1YmNsYXNzT2ZTY29wZUZhY2FkZSxcbiAgbG9va3NMaWtlQ2xhc3NDdG9yLFxuICBsb29rc0xpa2VGYWN0b3J5LFxuICBtYWtlQ2xhc3NQcm92aWRlcixcbiAgbWFrZUZhY3RvcnlQcm92aWRlcixcbiAgcmVnaXN0ZXJTY29wZVJlc29sdmVyLFxuICByZXNvbHZlU2NvcGVQcm92aWRlcixcbiAgdG9TY29wZUZhY3RvcnksXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgU2NvcGVSdW50aW1lLCBTY29wZVJ1bnRpbWVUYXJnZXQgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcbmV4cG9ydCB7IHJlZ2lzdGVyU2NvcGVSdW50aW1lIH0gZnJvbSAnLi9saWIvc2NvcGUvcnVudGltZS5qcyc7XG5cbi8vIFNjb3BlUmVjb3JkZXIgY29uZmlnL29wdGlvbiB0eXBlc1xuZXhwb3J0IHR5cGUge1xuICBBZ2dyZWdhdGVkTWV0cmljcyxcbiAgRGVidWdFbnRyeSxcbiAgRGVidWdSZWNvcmRlck9wdGlvbnMsXG4gIERlYnVnVmVyYm9zaXR5LFxuICBSZWNvcmRlckNvbnRleHQsXG4gIFN0YWdlRXZlbnQsXG4gIFN0YWdlTWV0cmljcyxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuLy8gYERlZmluZVNjb3BlT3B0aW9uc2AgKHpvZCBzY29wZSBvcHRpb25zKSBtb3ZlZCB0byAnZm9vdHByaW50anMvem9kJy5cblxuLy8gWm9kIGludGVybmFscyBtb3ZlZCB0byB0aGUgb3B0LWluIGBmb290cHJpbnRqcy96b2RgIGVudHJ5IChrZWVwcyB6b2Qg4oCUIGFuXG4vLyBvcHRpb25hbCBwZWVyIOKAlCBvdXQgb2YgdGhlIGBmb290cHJpbnRqcy9hZHZhbmNlZGAgbG9hZCBwYXRoKS4gSW1wb3J0XG4vLyBjcmVhdGVTY29wZVByb3h5RnJvbVpvZCAvIGRlZmluZVNjb3BlU2NoZW1hIC8gaXNTY29wZVNjaGVtYSAvIFpvZFNjb3BlUmVzb2x2ZXJcbi8vIGZyb20gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1bm5lciDigJQgSW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUnVudGltZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEV4ZWN1dGlvblJ1bnRpbWUgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuLyoqIFRoZSBydW4ncyBwb2xpY3kgYW4gYEV4ZWN1dGlvblJ1bnRpbWVgIGlzIGNvbnN0cnVjdGVkIHdpdGggKEY1KS4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERFRkFVTFRfUlVOX1BPTElDWSwgcnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVhY3RpdmUg4oCUIFR5cGVkU2NvcGUgaW50ZXJuYWxzIChmb3IgY3VzdG9tIHByb3h5IGltcGxlbWVudGF0aW9ucylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSZWFjdGl2ZU9wdGlvbnMsIFJlYWN0aXZlVGFyZ2V0IH0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYnVpbGROZXN0ZWRQYXRjaCxcbiAgY3JlYXRlQXJyYXlQcm94eSxcbiAgaXNIYW5kbGUsXG4gIGpvaW5QYXRoLFxuICBTQ09QRV9NRVRIT0RfTkFNRVMsXG4gIHNob3VsZFdyYXBXaXRoUHJveHksXG4gIHVud3JhcEhhbmRsZXMsXG4gIHZhbHVlQmVoaW5kLFxufSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuZ2luZSDigJQgREZTIGdyYXBoIHRyYXZlcnNhbCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBUcmF2ZXJzZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRGVjaWRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBGbG93Y2hhcnRUcmF2ZXJzZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgaXNTdGFnZU5vZGVSZXR1cm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBOYXJyYXRpdmUgaW50ZXJuYWxzXG5leHBvcnQgdHlwZSB7IElDb250cm9sRmxvd05hcnJhdGl2ZSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyYW5jaFJlc3VsdCxcbiAgQnJhbmNoUmVzdWx0cyxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIGFzIEVuZ2luZVNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgSGFuZGxlckRlcHMsXG4gIElFeGVjdXRpb25SdW50aW1lLFxuICBOb2RlUmVzdWx0VHlwZSxcbiAgUnVudGltZVN0cnVjdHVyZU1ldGFkYXRhLFxuICBTY29wZUZhY3RvcnksXG4gIFNlcmlhbGl6ZWRQaXBlbGluZU5vZGUsXG4gIFN0YWdlRnVuY3Rpb24sXG4gIFN1YmZsb3dSZXN1bHQsXG4gIFRyYXZlcnNhbFJlc3VsdCxcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IE51bGxDb250cm9sRmxvd05hcnJhdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIEhhbmRsZXJzICh0ZXN0aW5nIC8gY3VzdG9tIGVuZ2luZXMpXG5leHBvcnQgdHlwZSB7IEV4ZWN1dGVOb2RlRm4sIFF1ZXVlZFBhdXNlLCBSZXN1bWVIb3AsIFJ1blN0YWdlRm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlPdXRwdXRNYXBwaW5nLFxuICBDaGlsZHJlbkV4ZWN1dG9yLFxuICBjb21wdXRlTm9kZVR5cGUsXG4gIENvbnRpbnVhdGlvblJlc29sdmVyLFxuICBjcmVhdGVTdWJmbG93SGFuZGxlckRlcHMsXG4gIERlY2lkZXJIYW5kbGVyLFxuICBERUZBVUxUX01BWF9JVEVSQVRJT05TLFxuICBleHRyYWN0UGFyZW50U2NvcGVWYWx1ZXMsXG4gIGdldEluaXRpYWxTY29wZVZhbHVlcyxcbiAgTm9kZVJlc29sdmVyLFxuICBSZXN1bWVFbnRyeSxcbiAgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIsXG4gIHNlZWRTdWJmbG93R2xvYmFsU3RvcmUsXG4gIFNlbGVjdG9ySGFuZGxlcixcbiAgU3RhZ2VSdW5uZXIsXG4gIFN1YmZsb3dFeGVjdXRvcixcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gVHJhY2UgdXRpbGl0aWVzIOKAlCByZS1leHBvcnRlZCBoZXJlIGZvciBjb252ZW5pZW5jZS4gQ2Fub25pY2FsIHBhdGg6ICdmb290cHJpbnRqcy90cmFjZSdcbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2lkcy9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
|
|
131
|
+
var index_js_17 = require("./lib/contract/index.js");
|
|
132
|
+
Object.defineProperty(exports, "normalizeSchema", { enumerable: true, get: function () { return index_js_17.normalizeSchema; } });
|
|
133
|
+
Object.defineProperty(exports, "zodToJsonSchema", { enumerable: true, get: function () { return index_js_17.zodToJsonSchema; } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0g7Ozs7Ozs7R0FPRzs7OztBQWlCSCxrREFBcUQ7QUFBNUMsd0dBQUEsWUFBWSxPQUFBO0FBQ3JCLGtEQUE0RDtBQUFuRCwrR0FBQSxtQkFBbUIsT0FBQTtBQUM1QixrREFBc0Q7QUFBN0MseUdBQUEsYUFBYSxPQUFBO0FBZXRCLGlFQUErRztBQUF0Ryx3SEFBQSxtQkFBbUIsT0FBQTtBQUFFLDJIQUFBLHNCQUFzQixPQUFBO0FBQUUsd0hBQUEsbUJBQW1CLE9BQUE7QUFDekUsb0VBQXlGO0FBQWhGLCtHQUFBLFVBQVUsT0FBQTtBQUFFLGdIQUFBLFdBQVcsT0FBQTtBQUFFLG1IQUFBLGNBQWMsT0FBQTtBQUVoRCxrREFBa0Y7QUFBekUsb0dBQUEsUUFBUSxPQUFBO0FBQUUsd0dBQUEsWUFBWSxPQUFBO0FBQUUsNkdBQUEsaUJBQWlCLE9BQUE7QUFDbEQsa0RBVytCO0FBVjdCLDJHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGNBQWMsT0FBQTtBQUNkLGdIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHlHQUFBLGFBQWEsT0FBQTtBQUNiLHdHQUFBLFlBQVksT0FBQTtBQUNaLHVHQUFBLFdBQVcsT0FBQTtBQUNYLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDZHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHVHQUFBLFdBQVcsT0FBQTtBQXVCYixtREFBc0c7QUFBN0YsMEdBQUEsY0FBYyxPQUFBO0FBQUUsdUdBQUEsV0FBVyxPQUFBO0FBQUUsMEdBQUEsY0FBYyxPQUFBO0FBQUUsMkdBQUEsZUFBZSxPQUFBO0FBQ3JFLHFFQUEwRTtBQUFqRSw0SEFBQSx1QkFBdUIsT0FBQTtBQWFoQyxpREFBNkY7QUFBcEYsOEdBQUEsa0JBQWtCLE9BQUE7QUFBRSxnSEFBQSxvQkFBb0IsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUM5RCxpREFVOEI7QUFUNUIsOEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsOEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsK0dBQUEsbUJBQW1CLE9BQUE7QUFDbkIsaUhBQUEscUJBQXFCLE9BQUE7QUFDckIsZ0hBQUEsb0JBQW9CLE9BQUE7QUFDcEIsMEdBQUEsY0FBYyxPQUFBO0FBR2hCLHFEQUE4RDtBQUFyRCxrSEFBQSxvQkFBb0IsT0FBQTtBQXdCN0Isa0RBQXlEO0FBQWhELDRHQUFBLGdCQUFnQixPQUFBO0FBR3pCLG1EQUFzRTtBQUE3RCwrR0FBQSxrQkFBa0IsT0FBQTtBQUFFLHNHQUFBLFNBQVMsT0FBQTtBQU90QyxxREFTaUM7QUFSL0IsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIscUdBQUEsUUFBUSxPQUFBO0FBQ1IscUdBQUEsUUFBUSxPQUFBO0FBQ1IsK0dBQUEsa0JBQWtCLE9BQUE7QUFDbEIsZ0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsMEdBQUEsYUFBYSxPQUFBO0FBQ2Isd0dBQUEsV0FBVyxPQUFBO0FBU2IsbURBQTJEO0FBQWxELCtHQUFBLGtCQUFrQixPQUFBO0FBQzNCLG1EQUEwRDtBQUFqRCw4R0FBQSxpQkFBaUIsT0FBQTtBQW1CMUIsbURBQTBFO0FBQWpFLDhIQUFBLGlDQUFpQyxPQUFBO0FBSTFDLG1EQWlCK0I7QUFoQjdCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHlHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFdBQVcsT0FBQTtBQUNYLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGVBQWUsT0FBQTtBQVdqQixtREFBdUQ7QUFBOUMsMkdBQUEsY0FBYyxPQUFBO0FBRXZCLCtFQUErRTtBQUMvRSw2REFBNkQ7QUFDN0QsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsdUVBQXVFO0FBQ3ZFLDJFQUEyRTtBQUMzRSxxREFBMkU7QUFBbEUsNEdBQUEsZUFBZSxPQUFBO0FBQUUsNEdBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBmb290cHJpbnRqcy9hZHZhbmNlZCDigJQgTG93LWxldmVsIGludGVybmFscyBmb3IgY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzIGFuZCB0ZXN0aW5nLlxuICpcbiAqIE1vc3QgdXNlcnMgbmV2ZXIgbmVlZCB0aGlzLiBVc2UgYGZvb3RwcmludGpzYCAobWFpbikgaW5zdGVhZC5cbiAqIFRoaXMgZW50cnkgcG9pbnQgZXhwb3NlcyB0aGUgZW5naW5lJ3MgZnJhbWUgKGBTdGFnZUNvbnRleHRgKSwgdGhlIHRyYXZlcnNlclxuICogKGBGbG93Y2hhcnRUcmF2ZXJzZXJgKSwgdGhlIHNjb3BlIHByb3ZpZGVycyBhbmQgdGhlIG90aGVyIHByaW1pdGl2ZXMgdGhhdFxuICogcG93ZXIgdGhlIGVuZ2luZS4gVGhlIHJlY29yZCBoYXMgZG9vcnMgb2YgaXRzIG93bjogd3JpdGUgb25lIHdpdGhcbiAqIGBmb290cHJpbnRqcy93cml0ZWAgKGBTaGFyZWRNZW1vcnlgLCBgRXZlbnRMb2dgLCBgUmVjb3JkRnJhbWVgKSwgcmVhZCBvbmVcbiAqIHdpdGggYGZvb3RwcmludGpzL3RyYWNlYCAoYENvbW1pdEJ1bmRsZWAsIGBhcHBseVNtYXJ0TWVyZ2VgLCB0aGUgcmVhZGVycykuXG4gKiBUaGUgcmVjb3JkJ3MgbmFtZXMgdGhpcyBkb29yIGhhbmRlZCBvdXQgYmVmb3JlIDkuNDcuMCBzdGF5IGhlcmUgdW50aWxcbiAqIDEwLjAuMCwgdGhlIHNhbWUgc3ltYm9sczogaW1wb3J0IHRob3NlIGZyb20gdGhlaXIgb3duIGRvb3IgKHRoZSBuaW5lIHJlY29yZFxuICogaW50ZXJuYWxzIGFtb25nIHRoZW0gaGF2ZSBub25lLCBhbmQgbGVhdmUgdGhlIHB1YmxpYyBzdXJmYWNlIGF0IDEwLjAuMCkuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJztcbiAqIGltcG9ydCB7IFNoYXJlZE1lbW9yeSB9IGZyb20gJ2Zvb3RwcmludGpzL3dyaXRlJztcbiAqIGBgYFxuICpcbiAqIEBtb2R1bGUgYWR2YW5jZWRcbiAqL1xuLyoqXG4gKiBGb290UHJpbnQg4oCUIEFkdmFuY2VkIC8gSW50ZXJuYWwgQVBJXG4gKlxuICogVGhlc2UgZXhwb3J0cyBhcmUgZm9yIGFkdmFuY2VkIHVzZSBjYXNlcywgdGVzdGluZywgYW5kIGJ1aWxkaW5nXG4gKiBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMuIE1vc3QgdXNlcnMgc2hvdWxkIHVzZSB0aGUgbWFpbiAnZm9vdHByaW50JyBlbnRyeSBwb2ludC5cbiAqXG4gKiBJbXBvcnQgdmlhOiBpbXBvcnQgeyAuLi4gfSBmcm9tICdmb290cHJpbnQvYWR2YW5jZWQnXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtb3J5IOKAlCB0aGUgZW5naW5lJ3MgZnJhbWUsIGl0cyBydW4gcG9saWN5IGFuZCB0aGUgcmVkYWN0aW9uIHZlcmRpY3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBGbG93Q29udHJvbFR5cGUsXG4gIEZsb3dNZXNzYWdlLFxuICBSZWFkU3VtbWFyeU1hcmtlcixcbiAgUmVhZFRyYWNraW5nTW9kZSxcbiAgUmV0ZW50aW9uUG9saWN5LFxuICBTdGFnZVNuYXBzaG90LFxuICBXcml0ZVN1bW1hcnlNYXJrZXIsXG4gIFdyaXRlVHJhY2tpbmdNb2RlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWRhY3Rpb25WZXJkaWN0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBEaWFnbm9zdGljQ29sbGVjdG9yIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFJlZGFjdGlvblJ1bGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaGUgcmVjb3JkJ3MgbmFtZXMg4oCUIGtlcHQgaGVyZSB1bnRpbCAxMC4wLjAgKHRoZSB0cmFjZSBleHRyYWN0aW9uLCBFNilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZSByZWNvcmQgaGFzIGRvb3JzIG9mIGl0cyBvd24gc2luY2UgOS40Ny4wIChDNSk6IGl0cyBzaGFwZXMgYW5kIHJlYWRlcnMgb24gYGZvb3RwcmludGpzL3RyYWNlYFxuLy8gKGBDb21taXRCdW5kbGVgLCBgVHJhY2VFbnRyeWAsIGBNZW1vcnlQYXRjaGAsIGBVbnRyYWNrZWRTb3VyY2VgLCBgYXBwbHlTbWFydE1lcmdlYCwgdGhlXG4vLyBydW50aW1lU3RhZ2VJZCBjb2RlYywgYGZpbmRDb21taXRgIC8gYGZpbmRDb21taXRzYCAvIGBmaW5kTGFzdFdyaXRlcmAsIGBwYXRoU2VnbWVudHNgKSwgaXRzIHdyaXRlciBvblxuLy8gYGZvb3RwcmludGpzL3dyaXRlYCAoYFNoYXJlZE1lbW9yeWAsIGBFdmVudExvZ2AsIGBSZWNvcmRGcmFtZWApLiBOZXcgY29kZSBpbXBvcnRzIHRob3NlLiBBIHB1Ymxpc2hlZFxuLy8gbWlub3IgbmV2ZXIgZHJvcHMgYSBuYW1lIOKAlCBjb25zdW1lcnMgaG9sZCBjYXJldCByYW5nZXMsIHNvIGEgZHJvcHBlZCBleHBvcnQgYnJlYWtzIHRoZWlyIGZyZXNoXG4vLyBpbnN0YWxscyDigJQgc28gYC9hZHZhbmNlZGAga2VlcHMgaGFuZGluZyBvdXQgZXZlcnkgbmFtZSBpdCBoYW5kZWQgb3V0IGJlZm9yZTogdGhlIFNBTUUgc3ltYm9scyAobm9cbi8vIGZvcndhcmRlcjsgc2Vjb25kIGRvb3JzIGluIHRlc3QvYXJjaGl0ZWN0dXJlL2V4cG9ydHMudGVzdC50cyksIGFuZCB0aGUgcmVjb3JkIGludGVybmFscyB0aGF0IGhhdmUgbm9cbi8vIHB1YmxpYyBob21lLiAxMC4wLjAgcmVtb3ZlcyBhbGwgb2YgdGhlbS5cblxuZXhwb3J0IHR5cGUgeyBFeGVjdXRpb25Db3VudGVyIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGJ1aWxkUnVudGltZVN0YWdlSWQsIGNyZWF0ZUV4ZWN1dGlvbkNvdW50ZXIsIHBhcnNlUnVudGltZVN0YWdlSWQgfSBmcm9tICcuL2xpYi9pZHMvcnVudGltZVN0YWdlSWQuanMnO1xuZXhwb3J0IHsgZmluZENvbW1pdCwgZmluZENvbW1pdHMsIGZpbmRMYXN0V3JpdGVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2NvbW1pdExvZ1V0aWxzLmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tbWl0QnVuZGxlLCBNZW1vcnlQYXRjaCwgVHJhY2VFbnRyeSwgVW50cmFja2VkU291cmNlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IEV2ZW50TG9nLCBTaGFyZWRNZW1vcnksIFRyYW5zYWN0aW9uQnVmZmVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5U21hcnRNZXJnZSxcbiAgZGVlcFNtYXJ0TWVyZ2UsXG4gIGdldE5lc3RlZFZhbHVlLFxuICBnZXRSdW5BbmRHbG9iYWxQYXRocyxcbiAgbm9ybWFsaXNlUGF0aCxcbiAgcGF0aFNlZ21lbnRzLFxuICByZWRhY3RQYXRjaCxcbiAgc2V0TmVzdGVkVmFsdWUsXG4gIHVwZGF0ZU5lc3RlZFZhbHVlLFxuICB1cGRhdGVWYWx1ZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnVpbGRlciDigJQgVHlwZXMgYW5kIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIEV4ZWNPcHRpb25zLFxuICBGbG93Q2hhcnRPcHRpb25zLFxuICBGbG93Q2hhcnRTcGVjLFxuICBJTG9nZ2VyLFxuICBTY29wZVByb3RlY3Rpb25Nb2RlLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIFNpbXBsaWZpZWRQYXJhbGxlbFNwZWMsXG4gIFN0YWdlRm4sXG4gIFN0YWdlTm9kZSxcbiAgU3RyZWFtQ2FsbGJhY2ssXG4gIFN0cmVhbUxpZmVjeWNsZUhhbmRsZXIsXG4gIFN0cmVhbVRva2VuSGFuZGxlcixcbiAgU3ViZmxvd01vdW50T3B0aW9ucyxcbiAgU3ViZmxvd1JlZixcbn0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBBcnJheU1lcmdlTW9kZSwgRGVjaWRlckxpc3QsIFNlbGVjdG9yRm5MaXN0LCBzcGVjVG9TdGFnZU5vZGUgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVR5cGVkU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvYnVpbGRlci90eXBlZEZsb3dDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlIOKAlCBQcm92aWRlcnMsIHByb3RlY3Rpb24sIHJlY29yZGVyIG9wdGlvbnMsIGFuZCBldmVudCB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIFByb3ZpZGVyUmVzb2x2ZXIsXG4gIFJlc29sdmVPcHRpb25zLFxuICBTY29wZVByb3ZpZGVyLFxuICBTdGFnZUNvbnRleHRMaWtlLFxuICBTdHJpY3RNb2RlLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVFcnJvck1lc3NhZ2UsIGNyZWF0ZVByb3RlY3RlZFNjb3BlLCBTY29wZUZhY2FkZSB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGF0dGFjaFNjb3BlTWV0aG9kcyxcbiAgaXNTdWJjbGFzc09mU2NvcGVGYWNhZGUsXG4gIGxvb2tzTGlrZUNsYXNzQ3RvcixcbiAgbG9va3NMaWtlRmFjdG9yeSxcbiAgbWFrZUNsYXNzUHJvdmlkZXIsXG4gIG1ha2VGYWN0b3J5UHJvdmlkZXIsXG4gIHJlZ2lzdGVyU2NvcGVSZXNvbHZlcixcbiAgcmVzb2x2ZVNjb3BlUHJvdmlkZXIsXG4gIHRvU2NvcGVGYWN0b3J5LFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFNjb3BlUnVudGltZSwgU2NvcGVSdW50aW1lVGFyZ2V0IH0gZnJvbSAnLi9saWIvc2NvcGUvcnVudGltZS5qcyc7XG5leHBvcnQgeyByZWdpc3RlclNjb3BlUnVudGltZSB9IGZyb20gJy4vbGliL3Njb3BlL3J1bnRpbWUuanMnO1xuXG4vLyBTY29wZVJlY29yZGVyIGNvbmZpZy9vcHRpb24gdHlwZXNcbmV4cG9ydCB0eXBlIHtcbiAgQWdncmVnYXRlZE1ldHJpY3MsXG4gIERlYnVnRW50cnksXG4gIERlYnVnUmVjb3JkZXJPcHRpb25zLFxuICBEZWJ1Z1ZlcmJvc2l0eSxcbiAgUmVjb3JkZXJDb250ZXh0LFxuICBTdGFnZUV2ZW50LFxuICBTdGFnZU1ldHJpY3MsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbi8vIGBEZWZpbmVTY29wZU9wdGlvbnNgICh6b2Qgc2NvcGUgb3B0aW9ucykgbW92ZWQgdG8gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vIFpvZCBpbnRlcm5hbHMgbW92ZWQgdG8gdGhlIG9wdC1pbiBgZm9vdHByaW50anMvem9kYCBlbnRyeSAoa2VlcHMgem9kIOKAlCBhblxuLy8gb3B0aW9uYWwgcGVlciDigJQgb3V0IG9mIHRoZSBgZm9vdHByaW50anMvYWR2YW5jZWRgIGxvYWQgcGF0aCkuIEltcG9ydFxuLy8gY3JlYXRlU2NvcGVQcm94eUZyb21ab2QgLyBkZWZpbmVTY29wZVNjaGVtYSAvIGlzU2NvcGVTY2hlbWEgLyBab2RTY29wZVJlc29sdmVyXG4vLyBmcm9tICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSdW5uZXIg4oCUIEludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5leHBvcnQgeyBFeGVjdXRpb25SdW50aW1lIH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbi8qKiBUaGUgcnVuJ3MgcG9saWN5IGFuIGBFeGVjdXRpb25SdW50aW1lYCBpcyBjb25zdHJ1Y3RlZCB3aXRoIChGNSkuICovXG5leHBvcnQgdHlwZSB7IFJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBERUZBVUxUX1JVTl9QT0xJQ1ksIHJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlYWN0aXZlIOKAlCBUeXBlZFNjb3BlIGludGVybmFscyAoZm9yIGN1c3RvbSBwcm94eSBpbXBsZW1lbnRhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUmVhY3RpdmVPcHRpb25zLCBSZWFjdGl2ZVRhcmdldCB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGJ1aWxkTmVzdGVkUGF0Y2gsXG4gIGNyZWF0ZUFycmF5UHJveHksXG4gIGlzSGFuZGxlLFxuICBqb2luUGF0aCxcbiAgU0NPUEVfTUVUSE9EX05BTUVTLFxuICBzaG91bGRXcmFwV2l0aFByb3h5LFxuICB1bndyYXBIYW5kbGVzLFxuICB2YWx1ZUJlaGluZCxcbn0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFbmdpbmUg4oCUIERGUyBncmFwaCB0cmF2ZXJzYWwgaW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgVHJhdmVyc2VyT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IERlY2lkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgRmxvd2NoYXJ0VHJhdmVyc2VyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IGlzU3RhZ2VOb2RlUmV0dXJuIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gTmFycmF0aXZlIGludGVybmFsc1xuZXhwb3J0IHR5cGUgeyBJQ29udHJvbEZsb3dOYXJyYXRpdmUgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZUVudHJ5LCBDb21iaW5lZE5hcnJhdGl2ZU9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBCcmFuY2hSZXN1bHQsXG4gIEJyYW5jaFJlc3VsdHMsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSBhcyBFbmdpbmVTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIEhhbmRsZXJEZXBzLFxuICBJRXhlY3V0aW9uUnVudGltZSxcbiAgTm9kZVJlc3VsdFR5cGUsXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNZXRhZGF0YSxcbiAgU2NvcGVGYWN0b3J5LFxuICBTZXJpYWxpemVkUGlwZWxpbmVOb2RlLFxuICBTdGFnZUZ1bmN0aW9uLFxuICBTdWJmbG93UmVzdWx0LFxuICBUcmF2ZXJzYWxSZXN1bHQsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBOdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBIYW5kbGVycyAodGVzdGluZyAvIGN1c3RvbSBlbmdpbmVzKVxuZXhwb3J0IHR5cGUgeyBFeGVjdXRlTm9kZUZuLCBRdWV1ZWRQYXVzZSwgUmVzdW1lSG9wLCBSdW5TdGFnZUZuIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5T3V0cHV0TWFwcGluZyxcbiAgQ2hpbGRyZW5FeGVjdXRvcixcbiAgY29tcHV0ZU5vZGVUeXBlLFxuICBDb250aW51YXRpb25SZXNvbHZlcixcbiAgY3JlYXRlU3ViZmxvd0hhbmRsZXJEZXBzLFxuICBEZWNpZGVySGFuZGxlcixcbiAgREVGQVVMVF9NQVhfSVRFUkFUSU9OUyxcbiAgZXh0cmFjdFBhcmVudFNjb3BlVmFsdWVzLFxuICBnZXRJbml0aWFsU2NvcGVWYWx1ZXMsXG4gIE5vZGVSZXNvbHZlcixcbiAgUmVzdW1lRW50cnksXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyLFxuICBzZWVkU3ViZmxvd0dsb2JhbFN0b3JlLFxuICBTZWxlY3RvckhhbmRsZXIsXG4gIFN0YWdlUnVubmVyLFxuICBTdWJmbG93RXhlY3V0b3IsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
|
package/dist/esm/advanced.d.ts
CHANGED
|
@@ -2,11 +2,18 @@
|
|
|
2
2
|
* footprintjs/advanced — Low-level internals for custom execution engines and testing.
|
|
3
3
|
*
|
|
4
4
|
* Most users never need this. Use `footprintjs` (main) instead.
|
|
5
|
-
* This entry point exposes
|
|
6
|
-
* and other primitives that
|
|
5
|
+
* This entry point exposes the engine's frame (`StageContext`), the traverser
|
|
6
|
+
* (`FlowchartTraverser`), the scope providers and the other primitives that
|
|
7
|
+
* power the engine. The record has doors of its own: write one with
|
|
8
|
+
* `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
|
|
9
|
+
* with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
|
|
10
|
+
* The record's names this door handed out before 9.47.0 stay here until
|
|
11
|
+
* 10.0.0, the same symbols: import those from their own door (the nine record
|
|
12
|
+
* internals among them have none, and leave the public surface at 10.0.0).
|
|
7
13
|
*
|
|
8
14
|
* ```ts
|
|
9
|
-
* import {
|
|
15
|
+
* import { StageContext } from 'footprintjs/advanced';
|
|
16
|
+
* import { SharedMemory } from 'footprintjs/write';
|
|
10
17
|
* ```
|
|
11
18
|
*
|
|
12
19
|
* @module advanced
|
|
@@ -19,14 +26,16 @@
|
|
|
19
26
|
*
|
|
20
27
|
* Import via: import { ... } from 'footprint/advanced'
|
|
21
28
|
*/
|
|
22
|
-
export type {
|
|
29
|
+
export type { FlowControlType, FlowMessage, ReadSummaryMarker, ReadTrackingMode, RetentionPolicy, StageSnapshot, WriteSummaryMarker, WriteTrackingMode, } from './lib/memory/index.js';
|
|
23
30
|
export type { RedactionVerdict } from './lib/memory/index.js';
|
|
24
|
-
export { SharedMemory } from './lib/memory/index.js';
|
|
25
31
|
export { StageContext } from './lib/memory/index.js';
|
|
26
|
-
export { EventLog } from './lib/memory/index.js';
|
|
27
|
-
export { TransactionBuffer } from './lib/memory/index.js';
|
|
28
32
|
export { DiagnosticCollector } from './lib/memory/index.js';
|
|
29
33
|
export { RedactionRule } from './lib/memory/index.js';
|
|
34
|
+
export type { ExecutionCounter } from './lib/ids/runtimeStageId.js';
|
|
35
|
+
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
36
|
+
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
37
|
+
export type { CommitBundle, MemoryPatch, TraceEntry, UntrackedSource } from './lib/memory/index.js';
|
|
38
|
+
export { EventLog, SharedMemory, TransactionBuffer } from './lib/memory/index.js';
|
|
30
39
|
export { applySmartMerge, deepSmartMerge, getNestedValue, getRunAndGlobalPaths, normalisePath, pathSegments, redactPatch, setNestedValue, updateNestedValue, updateValue, } from './lib/memory/index.js';
|
|
31
40
|
export type { ExecOptions, FlowChartOptions, FlowChartSpec, ILogger, ScopeProtectionMode, SerializedPipelineStructure, SimplifiedParallelSpec, StageFn, StageNode, StreamCallback, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, SubflowRef, } from './lib/builder/index.js';
|
|
32
41
|
export { ArrayMergeMode, DeciderList, SelectorFnList, specToStageNode } from './lib/builder/index.js';
|
|
@@ -54,9 +63,6 @@ export type { BranchResult, BranchResults, SerializedPipelineStructure as Engine
|
|
|
54
63
|
export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
|
|
55
64
|
export type { ExecuteNodeFn, QueuedPause, ResumeHop, RunStageFn } from './lib/engine/index.js';
|
|
56
65
|
export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
|
|
57
|
-
export type { ExecutionCounter } from './lib/ids/runtimeStageId.js';
|
|
58
|
-
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
59
|
-
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
60
66
|
export type { FilterCondition } from './lib/decide/index.js';
|
|
61
67
|
export { evaluateFilter } from './lib/decide/index.js';
|
|
62
68
|
export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
|
package/dist/esm/advanced.js
CHANGED
|
@@ -2,11 +2,18 @@
|
|
|
2
2
|
* footprintjs/advanced — Low-level internals for custom execution engines and testing.
|
|
3
3
|
*
|
|
4
4
|
* Most users never need this. Use `footprintjs` (main) instead.
|
|
5
|
-
* This entry point exposes
|
|
6
|
-
* and other primitives that
|
|
5
|
+
* This entry point exposes the engine's frame (`StageContext`), the traverser
|
|
6
|
+
* (`FlowchartTraverser`), the scope providers and the other primitives that
|
|
7
|
+
* power the engine. The record has doors of its own: write one with
|
|
8
|
+
* `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
|
|
9
|
+
* with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
|
|
10
|
+
* The record's names this door handed out before 9.47.0 stay here until
|
|
11
|
+
* 10.0.0, the same symbols: import those from their own door (the nine record
|
|
12
|
+
* internals among them have none, and leave the public surface at 10.0.0).
|
|
7
13
|
*
|
|
8
14
|
* ```ts
|
|
9
|
-
* import {
|
|
15
|
+
* import { StageContext } from 'footprintjs/advanced';
|
|
16
|
+
* import { SharedMemory } from 'footprintjs/write';
|
|
10
17
|
* ```
|
|
11
18
|
*
|
|
12
19
|
* @module advanced
|
|
@@ -19,12 +26,12 @@
|
|
|
19
26
|
*
|
|
20
27
|
* Import via: import { ... } from 'footprint/advanced'
|
|
21
28
|
*/
|
|
22
|
-
export { SharedMemory } from './lib/memory/index.js';
|
|
23
29
|
export { StageContext } from './lib/memory/index.js';
|
|
24
|
-
export { EventLog } from './lib/memory/index.js';
|
|
25
|
-
export { TransactionBuffer } from './lib/memory/index.js';
|
|
26
30
|
export { DiagnosticCollector } from './lib/memory/index.js';
|
|
27
31
|
export { RedactionRule } from './lib/memory/index.js';
|
|
32
|
+
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
33
|
+
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
34
|
+
export { EventLog, SharedMemory, TransactionBuffer } from './lib/memory/index.js';
|
|
28
35
|
export { applySmartMerge, deepSmartMerge, getNestedValue, getRunAndGlobalPaths, normalisePath, pathSegments, redactPatch, setNestedValue, updateNestedValue, updateValue, } from './lib/memory/index.js';
|
|
29
36
|
export { ArrayMergeMode, DeciderList, SelectorFnList, specToStageNode } from './lib/builder/index.js';
|
|
30
37
|
export { createTypedScopeFactory } from './lib/builder/typedFlowChart.js';
|
|
@@ -38,8 +45,6 @@ export { FlowchartTraverser } from './lib/engine/index.js';
|
|
|
38
45
|
export { isStageNodeReturn } from './lib/engine/index.js';
|
|
39
46
|
export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
|
|
40
47
|
export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
|
|
41
|
-
export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
|
|
42
|
-
export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
|
|
43
48
|
export { evaluateFilter } from './lib/decide/index.js';
|
|
44
49
|
// ============================================================================
|
|
45
50
|
// Contract — schema normalization (for custom tool emitters)
|
|
@@ -49,4 +54,4 @@ export { evaluateFilter } from './lib/decide/index.js';
|
|
|
49
54
|
// importing the runner. Gate inputs with detectSchema (main barrel): a
|
|
50
55
|
// non-Zod 'parseable' schema (yup/superstruct) passes through unconverted.
|
|
51
56
|
export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0g7Ozs7Ozs7R0FPRztBQXFCSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLHVCQUF1QixDQUFDO0FBc0IvQixPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBd0I5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPdEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixXQUFXLEdBQ1osTUFBTSx5QkFBeUIsQ0FBQztBQVFqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQW1CMUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixXQUFXLEVBQ1gsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsV0FBVyxFQUNYLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQUkvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVV6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsK0VBQStFO0FBQy9FLDZEQUE2RDtBQUM3RCwrRUFBK0U7QUFDL0UsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSx1RUFBdUU7QUFDdkUsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGZvb3RwcmludGpzL2FkdmFuY2VkIOKAlCBMb3ctbGV2ZWwgaW50ZXJuYWxzIGZvciBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMgYW5kIHRlc3RpbmcuXG4gKlxuICogTW9zdCB1c2VycyBuZXZlciBuZWVkIHRoaXMuIFVzZSBgZm9vdHByaW50anNgIChtYWluKSBpbnN0ZWFkLlxuICogVGhpcyBlbnRyeSBwb2ludCBleHBvc2VzIGBTaGFyZWRNZW1vcnlgLCBgU3RhZ2VDb250ZXh0YCwgYEZsb3djaGFydFRyYXZlcnNlcmAsXG4gKiBhbmQgb3RoZXIgcHJpbWl0aXZlcyB0aGF0IHBvd2VyIHRoZSBlbmdpbmUuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFNoYXJlZE1lbW9yeSwgU3RhZ2VDb250ZXh0IH0gZnJvbSAnZm9vdHByaW50anMvYWR2YW5jZWQnO1xuICogYGBgXG4gKlxuICogQG1vZHVsZSBhZHZhbmNlZFxuICovXG4vKipcbiAqIEZvb3RQcmludCDigJQgQWR2YW5jZWQgLyBJbnRlcm5hbCBBUElcbiAqXG4gKiBUaGVzZSBleHBvcnRzIGFyZSBmb3IgYWR2YW5jZWQgdXNlIGNhc2VzLCB0ZXN0aW5nLCBhbmQgYnVpbGRpbmdcbiAqIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcy4gTW9zdCB1c2VycyBzaG91bGQgdXNlIHRoZSBtYWluICdmb290cHJpbnQnIGVudHJ5IHBvaW50LlxuICpcbiAqIEltcG9ydCB2aWE6IGltcG9ydCB7IC4uLiB9IGZyb20gJ2Zvb3RwcmludC9hZHZhbmNlZCdcbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW1vcnkg4oCUIExvdy1sZXZlbCB0cmFuc2FjdGlvbmFsIHN0YXRlIHByaW1pdGl2ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBDb21taXRCdW5kbGUsXG4gIEZsb3dDb250cm9sVHlwZSxcbiAgRmxvd01lc3NhZ2UsXG4gIE1lbW9yeVBhdGNoLFxuICBSZWFkU3VtbWFyeU1hcmtlcixcbiAgUmVhZFRyYWNraW5nTW9kZSxcbiAgUmV0ZW50aW9uUG9saWN5LFxuICBTdGFnZVNuYXBzaG90LFxuICBUcmFjZUVudHJ5LFxuICBVbnRyYWNrZWRTb3VyY2UsXG4gIFdyaXRlU3VtbWFyeU1hcmtlcixcbiAgV3JpdGVUcmFja2luZ01vZGUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlZGFjdGlvblZlcmRpY3QgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgU2hhcmVkTWVtb3J5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBFdmVudExvZyB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1ZmZlciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBEaWFnbm9zdGljQ29sbGVjdG9yIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFJlZGFjdGlvblJ1bGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlTbWFydE1lcmdlLFxuICBkZWVwU21hcnRNZXJnZSxcbiAgZ2V0TmVzdGVkVmFsdWUsXG4gIGdldFJ1bkFuZEdsb2JhbFBhdGhzLFxuICBub3JtYWxpc2VQYXRoLFxuICBwYXRoU2VnbWVudHMsXG4gIHJlZGFjdFBhdGNoLFxuICBzZXROZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlTmVzdGVkVmFsdWUsXG4gIHVwZGF0ZVZhbHVlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCdWlsZGVyIOKAlCBUeXBlcyBhbmQgaW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgRXhlY09wdGlvbnMsXG4gIEZsb3dDaGFydE9wdGlvbnMsXG4gIEZsb3dDaGFydFNwZWMsXG4gIElMb2dnZXIsXG4gIFNjb3BlUHJvdGVjdGlvbk1vZGUsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgU2ltcGxpZmllZFBhcmFsbGVsU3BlYyxcbiAgU3RhZ2VGbixcbiAgU3RhZ2VOb2RlLFxuICBTdHJlYW1DYWxsYmFjayxcbiAgU3RyZWFtTGlmZWN5Y2xlSGFuZGxlcixcbiAgU3RyZWFtVG9rZW5IYW5kbGVyLFxuICBTdWJmbG93TW91bnRPcHRpb25zLFxuICBTdWJmbG93UmVmLFxufSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEFycmF5TWVyZ2VNb2RlLCBEZWNpZGVyTGlzdCwgU2VsZWN0b3JGbkxpc3QsIHNwZWNUb1N0YWdlTm9kZSB9IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlVHlwZWRTY29wZUZhY3RvcnkgfSBmcm9tICcuL2xpYi9idWlsZGVyL3R5cGVkRmxvd0NoYXJ0LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2NvcGUg4oCUIFByb3ZpZGVycywgcHJvdGVjdGlvbiwgcmVjb3JkZXIgb3B0aW9ucywgYW5kIGV2ZW50IHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgUHJvdmlkZXJSZXNvbHZlcixcbiAgUmVzb2x2ZU9wdGlvbnMsXG4gIFNjb3BlUHJvdmlkZXIsXG4gIFN0YWdlQ29udGV4dExpa2UsXG4gIFN0cmljdE1vZGUsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZUVycm9yTWVzc2FnZSwgY3JlYXRlUHJvdGVjdGVkU2NvcGUsIFNjb3BlRmFjYWRlIH0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXR0YWNoU2NvcGVNZXRob2RzLFxuICBpc1N1YmNsYXNzT2ZTY29wZUZhY2FkZSxcbiAgbG9va3NMaWtlQ2xhc3NDdG9yLFxuICBsb29rc0xpa2VGYWN0b3J5LFxuICBtYWtlQ2xhc3NQcm92aWRlcixcbiAgbWFrZUZhY3RvcnlQcm92aWRlcixcbiAgcmVnaXN0ZXJTY29wZVJlc29sdmVyLFxuICByZXNvbHZlU2NvcGVQcm92aWRlcixcbiAgdG9TY29wZUZhY3RvcnksXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgU2NvcGVSdW50aW1lLCBTY29wZVJ1bnRpbWVUYXJnZXQgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcbmV4cG9ydCB7IHJlZ2lzdGVyU2NvcGVSdW50aW1lIH0gZnJvbSAnLi9saWIvc2NvcGUvcnVudGltZS5qcyc7XG5cbi8vIFNjb3BlUmVjb3JkZXIgY29uZmlnL29wdGlvbiB0eXBlc1xuZXhwb3J0IHR5cGUge1xuICBBZ2dyZWdhdGVkTWV0cmljcyxcbiAgRGVidWdFbnRyeSxcbiAgRGVidWdSZWNvcmRlck9wdGlvbnMsXG4gIERlYnVnVmVyYm9zaXR5LFxuICBSZWNvcmRlckNvbnRleHQsXG4gIFN0YWdlRXZlbnQsXG4gIFN0YWdlTWV0cmljcyxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuLy8gYERlZmluZVNjb3BlT3B0aW9uc2AgKHpvZCBzY29wZSBvcHRpb25zKSBtb3ZlZCB0byAnZm9vdHByaW50anMvem9kJy5cblxuLy8gWm9kIGludGVybmFscyBtb3ZlZCB0byB0aGUgb3B0LWluIGBmb290cHJpbnRqcy96b2RgIGVudHJ5IChrZWVwcyB6b2Qg4oCUIGFuXG4vLyBvcHRpb25hbCBwZWVyIOKAlCBvdXQgb2YgdGhlIGBmb290cHJpbnRqcy9hZHZhbmNlZGAgbG9hZCBwYXRoKS4gSW1wb3J0XG4vLyBjcmVhdGVTY29wZVByb3h5RnJvbVpvZCAvIGRlZmluZVNjb3BlU2NoZW1hIC8gaXNTY29wZVNjaGVtYSAvIFpvZFNjb3BlUmVzb2x2ZXJcbi8vIGZyb20gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJ1bm5lciDigJQgSW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUnVudGltZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEV4ZWN1dGlvblJ1bnRpbWUgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuLyoqIFRoZSBydW4ncyBwb2xpY3kgYW4gYEV4ZWN1dGlvblJ1bnRpbWVgIGlzIGNvbnN0cnVjdGVkIHdpdGggKEY1KS4gKi9cbmV4cG9ydCB0eXBlIHsgUnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERFRkFVTFRfUlVOX1BPTElDWSwgcnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVhY3RpdmUg4oCUIFR5cGVkU2NvcGUgaW50ZXJuYWxzIChmb3IgY3VzdG9tIHByb3h5IGltcGxlbWVudGF0aW9ucylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSZWFjdGl2ZU9wdGlvbnMsIFJlYWN0aXZlVGFyZ2V0IH0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYnVpbGROZXN0ZWRQYXRjaCxcbiAgY3JlYXRlQXJyYXlQcm94eSxcbiAgaXNIYW5kbGUsXG4gIGpvaW5QYXRoLFxuICBTQ09QRV9NRVRIT0RfTkFNRVMsXG4gIHNob3VsZFdyYXBXaXRoUHJveHksXG4gIHVud3JhcEhhbmRsZXMsXG4gIHZhbHVlQmVoaW5kLFxufSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuZ2luZSDigJQgREZTIGdyYXBoIHRyYXZlcnNhbCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBUcmF2ZXJzZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRGVjaWRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBGbG93Y2hhcnRUcmF2ZXJzZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgaXNTdGFnZU5vZGVSZXR1cm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBOYXJyYXRpdmUgaW50ZXJuYWxzXG5leHBvcnQgdHlwZSB7IElDb250cm9sRmxvd05hcnJhdGl2ZSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyYW5jaFJlc3VsdCxcbiAgQnJhbmNoUmVzdWx0cyxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIGFzIEVuZ2luZVNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgSGFuZGxlckRlcHMsXG4gIElFeGVjdXRpb25SdW50aW1lLFxuICBOb2RlUmVzdWx0VHlwZSxcbiAgUnVudGltZVN0cnVjdHVyZU1ldGFkYXRhLFxuICBTY29wZUZhY3RvcnksXG4gIFNlcmlhbGl6ZWRQaXBlbGluZU5vZGUsXG4gIFN0YWdlRnVuY3Rpb24sXG4gIFN1YmZsb3dSZXN1bHQsXG4gIFRyYXZlcnNhbFJlc3VsdCxcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IE51bGxDb250cm9sRmxvd05hcnJhdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIEhhbmRsZXJzICh0ZXN0aW5nIC8gY3VzdG9tIGVuZ2luZXMpXG5leHBvcnQgdHlwZSB7IEV4ZWN1dGVOb2RlRm4sIFF1ZXVlZFBhdXNlLCBSZXN1bWVIb3AsIFJ1blN0YWdlRm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXBwbHlPdXRwdXRNYXBwaW5nLFxuICBDaGlsZHJlbkV4ZWN1dG9yLFxuICBjb21wdXRlTm9kZVR5cGUsXG4gIENvbnRpbnVhdGlvblJlc29sdmVyLFxuICBjcmVhdGVTdWJmbG93SGFuZGxlckRlcHMsXG4gIERlY2lkZXJIYW5kbGVyLFxuICBERUZBVUxUX01BWF9JVEVSQVRJT05TLFxuICBleHRyYWN0UGFyZW50U2NvcGVWYWx1ZXMsXG4gIGdldEluaXRpYWxTY29wZVZhbHVlcyxcbiAgTm9kZVJlc29sdmVyLFxuICBSZXN1bWVFbnRyeSxcbiAgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIsXG4gIHNlZWRTdWJmbG93R2xvYmFsU3RvcmUsXG4gIFNlbGVjdG9ySGFuZGxlcixcbiAgU3RhZ2VSdW5uZXIsXG4gIFN1YmZsb3dFeGVjdXRvcixcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gVHJhY2UgdXRpbGl0aWVzIOKAlCByZS1leHBvcnRlZCBoZXJlIGZvciBjb252ZW5pZW5jZS4gQ2Fub25pY2FsIHBhdGg6ICdmb290cHJpbnRqcy90cmFjZSdcbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2lkcy9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSDs7Ozs7OztHQU9HO0FBaUJILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFldEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQ0wsZUFBZSxFQUNmLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osV0FBVyxFQUNYLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsV0FBVyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQWExRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0YsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxHQUNmLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUF3QjlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU90RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFdBQVcsR0FDWixNQUFNLHlCQUF5QixDQUFDO0FBUWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBbUIxRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkxRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBVS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCwrRUFBK0U7QUFDL0UsNkRBQTZEO0FBQzdELCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLHVFQUF1RTtBQUN2RSwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZm9vdHByaW50anMvYWR2YW5jZWQg4oCUIExvdy1sZXZlbCBpbnRlcm5hbHMgZm9yIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcyBhbmQgdGVzdGluZy5cbiAqXG4gKiBNb3N0IHVzZXJzIG5ldmVyIG5lZWQgdGhpcy4gVXNlIGBmb290cHJpbnRqc2AgKG1haW4pIGluc3RlYWQuXG4gKiBUaGlzIGVudHJ5IHBvaW50IGV4cG9zZXMgdGhlIGVuZ2luZSdzIGZyYW1lIChgU3RhZ2VDb250ZXh0YCksIHRoZSB0cmF2ZXJzZXJcbiAqIChgRmxvd2NoYXJ0VHJhdmVyc2VyYCksIHRoZSBzY29wZSBwcm92aWRlcnMgYW5kIHRoZSBvdGhlciBwcmltaXRpdmVzIHRoYXRcbiAqIHBvd2VyIHRoZSBlbmdpbmUuIFRoZSByZWNvcmQgaGFzIGRvb3JzIG9mIGl0cyBvd246IHdyaXRlIG9uZSB3aXRoXG4gKiBgZm9vdHByaW50anMvd3JpdGVgIChgU2hhcmVkTWVtb3J5YCwgYEV2ZW50TG9nYCwgYFJlY29yZEZyYW1lYCksIHJlYWQgb25lXG4gKiB3aXRoIGBmb290cHJpbnRqcy90cmFjZWAgKGBDb21taXRCdW5kbGVgLCBgYXBwbHlTbWFydE1lcmdlYCwgdGhlIHJlYWRlcnMpLlxuICogVGhlIHJlY29yZCdzIG5hbWVzIHRoaXMgZG9vciBoYW5kZWQgb3V0IGJlZm9yZSA5LjQ3LjAgc3RheSBoZXJlIHVudGlsXG4gKiAxMC4wLjAsIHRoZSBzYW1lIHN5bWJvbHM6IGltcG9ydCB0aG9zZSBmcm9tIHRoZWlyIG93biBkb29yICh0aGUgbmluZSByZWNvcmRcbiAqIGludGVybmFscyBhbW9uZyB0aGVtIGhhdmUgbm9uZSwgYW5kIGxlYXZlIHRoZSBwdWJsaWMgc3VyZmFjZSBhdCAxMC4wLjApLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICdmb290cHJpbnRqcy9hZHZhbmNlZCc7XG4gKiBpbXBvcnQgeyBTaGFyZWRNZW1vcnkgfSBmcm9tICdmb290cHJpbnRqcy93cml0ZSc7XG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIGFkdmFuY2VkXG4gKi9cbi8qKlxuICogRm9vdFByaW50IOKAlCBBZHZhbmNlZCAvIEludGVybmFsIEFQSVxuICpcbiAqIFRoZXNlIGV4cG9ydHMgYXJlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMsIHRlc3RpbmcsIGFuZCBidWlsZGluZ1xuICogY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzLiBNb3N0IHVzZXJzIHNob3VsZCB1c2UgdGhlIG1haW4gJ2Zvb3RwcmludCcgZW50cnkgcG9pbnQuXG4gKlxuICogSW1wb3J0IHZpYTogaW1wb3J0IHsgLi4uIH0gZnJvbSAnZm9vdHByaW50L2FkdmFuY2VkJ1xuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSDigJQgdGhlIGVuZ2luZSdzIGZyYW1lLCBpdHMgcnVuIHBvbGljeSBhbmQgdGhlIHJlZGFjdGlvbiB2ZXJkaWN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgRmxvd0NvbnRyb2xUeXBlLFxuICBGbG93TWVzc2FnZSxcbiAgUmVhZFN1bW1hcnlNYXJrZXIsXG4gIFJlYWRUcmFja2luZ01vZGUsXG4gIFJldGVudGlvblBvbGljeSxcbiAgU3RhZ2VTbmFwc2hvdCxcbiAgV3JpdGVTdW1tYXJ5TWFya2VyLFxuICBXcml0ZVRyYWNraW5nTW9kZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVkYWN0aW9uVmVyZGljdCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRGlhZ25vc3RpY0NvbGxlY3RvciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBSZWRhY3Rpb25SdWxlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIHJlY29yZCdzIG5hbWVzIOKAlCBrZXB0IGhlcmUgdW50aWwgMTAuMC4wICh0aGUgdHJhY2UgZXh0cmFjdGlvbiwgRTYpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaGUgcmVjb3JkIGhhcyBkb29ycyBvZiBpdHMgb3duIHNpbmNlIDkuNDcuMCAoQzUpOiBpdHMgc2hhcGVzIGFuZCByZWFkZXJzIG9uIGBmb290cHJpbnRqcy90cmFjZWBcbi8vIChgQ29tbWl0QnVuZGxlYCwgYFRyYWNlRW50cnlgLCBgTWVtb3J5UGF0Y2hgLCBgVW50cmFja2VkU291cmNlYCwgYGFwcGx5U21hcnRNZXJnZWAsIHRoZVxuLy8gcnVudGltZVN0YWdlSWQgY29kZWMsIGBmaW5kQ29tbWl0YCAvIGBmaW5kQ29tbWl0c2AgLyBgZmluZExhc3RXcml0ZXJgLCBgcGF0aFNlZ21lbnRzYCksIGl0cyB3cml0ZXIgb25cbi8vIGBmb290cHJpbnRqcy93cml0ZWAgKGBTaGFyZWRNZW1vcnlgLCBgRXZlbnRMb2dgLCBgUmVjb3JkRnJhbWVgKS4gTmV3IGNvZGUgaW1wb3J0cyB0aG9zZS4gQSBwdWJsaXNoZWRcbi8vIG1pbm9yIG5ldmVyIGRyb3BzIGEgbmFtZSDigJQgY29uc3VtZXJzIGhvbGQgY2FyZXQgcmFuZ2VzLCBzbyBhIGRyb3BwZWQgZXhwb3J0IGJyZWFrcyB0aGVpciBmcmVzaFxuLy8gaW5zdGFsbHMg4oCUIHNvIGAvYWR2YW5jZWRgIGtlZXBzIGhhbmRpbmcgb3V0IGV2ZXJ5IG5hbWUgaXQgaGFuZGVkIG91dCBiZWZvcmU6IHRoZSBTQU1FIHN5bWJvbHMgKG5vXG4vLyBmb3J3YXJkZXI7IHNlY29uZCBkb29ycyBpbiB0ZXN0L2FyY2hpdGVjdHVyZS9leHBvcnRzLnRlc3QudHMpLCBhbmQgdGhlIHJlY29yZCBpbnRlcm5hbHMgdGhhdCBoYXZlIG5vXG4vLyBwdWJsaWMgaG9tZS4gMTAuMC4wIHJlbW92ZXMgYWxsIG9mIHRoZW0uXG5cbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2lkcy9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5leHBvcnQgdHlwZSB7IENvbW1pdEJ1bmRsZSwgTWVtb3J5UGF0Y2gsIFRyYWNlRW50cnksIFVudHJhY2tlZFNvdXJjZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBFdmVudExvZywgU2hhcmVkTWVtb3J5LCBUcmFuc2FjdGlvbkJ1ZmZlciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseVNtYXJ0TWVyZ2UsXG4gIGRlZXBTbWFydE1lcmdlLFxuICBnZXROZXN0ZWRWYWx1ZSxcbiAgZ2V0UnVuQW5kR2xvYmFsUGF0aHMsXG4gIG5vcm1hbGlzZVBhdGgsXG4gIHBhdGhTZWdtZW50cyxcbiAgcmVkYWN0UGF0Y2gsXG4gIHNldE5lc3RlZFZhbHVlLFxuICB1cGRhdGVOZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlVmFsdWUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJ1aWxkZXIg4oCUIFR5cGVzIGFuZCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBFeGVjT3B0aW9ucyxcbiAgRmxvd0NoYXJ0T3B0aW9ucyxcbiAgRmxvd0NoYXJ0U3BlYyxcbiAgSUxvZ2dlcixcbiAgU2NvcGVQcm90ZWN0aW9uTW9kZSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBTaW1wbGlmaWVkUGFyYWxsZWxTcGVjLFxuICBTdGFnZUZuLFxuICBTdGFnZU5vZGUsXG4gIFN0cmVhbUNhbGxiYWNrLFxuICBTdHJlYW1MaWZlY3ljbGVIYW5kbGVyLFxuICBTdHJlYW1Ub2tlbkhhbmRsZXIsXG4gIFN1YmZsb3dNb3VudE9wdGlvbnMsXG4gIFN1YmZsb3dSZWYsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgQXJyYXlNZXJnZU1vZGUsIERlY2lkZXJMaXN0LCBTZWxlY3RvckZuTGlzdCwgc3BlY1RvU3RhZ2VOb2RlIH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVUeXBlZFNjb3BlRmFjdG9yeSB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY29wZSDigJQgUHJvdmlkZXJzLCBwcm90ZWN0aW9uLCByZWNvcmRlciBvcHRpb25zLCBhbmQgZXZlbnQgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBQcm92aWRlclJlc29sdmVyLFxuICBSZXNvbHZlT3B0aW9ucyxcbiAgU2NvcGVQcm92aWRlcixcbiAgU3RhZ2VDb250ZXh0TGlrZSxcbiAgU3RyaWN0TW9kZSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlRXJyb3JNZXNzYWdlLCBjcmVhdGVQcm90ZWN0ZWRTY29wZSwgU2NvcGVGYWNhZGUgfSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhdHRhY2hTY29wZU1ldGhvZHMsXG4gIGlzU3ViY2xhc3NPZlNjb3BlRmFjYWRlLFxuICBsb29rc0xpa2VDbGFzc0N0b3IsXG4gIGxvb2tzTGlrZUZhY3RvcnksXG4gIG1ha2VDbGFzc1Byb3ZpZGVyLFxuICBtYWtlRmFjdG9yeVByb3ZpZGVyLFxuICByZWdpc3RlclNjb3BlUmVzb2x2ZXIsXG4gIHJlc29sdmVTY29wZVByb3ZpZGVyLFxuICB0b1Njb3BlRmFjdG9yeSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVJ1bnRpbWUsIFNjb3BlUnVudGltZVRhcmdldCB9IGZyb20gJy4vbGliL3Njb3BlL3J1bnRpbWUuanMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJTY29wZVJ1bnRpbWUgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcblxuLy8gU2NvcGVSZWNvcmRlciBjb25maWcvb3B0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSB7XG4gIEFnZ3JlZ2F0ZWRNZXRyaWNzLFxuICBEZWJ1Z0VudHJ5LFxuICBEZWJ1Z1JlY29yZGVyT3B0aW9ucyxcbiAgRGVidWdWZXJib3NpdHksXG4gIFJlY29yZGVyQ29udGV4dCxcbiAgU3RhZ2VFdmVudCxcbiAgU3RhZ2VNZXRyaWNzLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG4vLyBgRGVmaW5lU2NvcGVPcHRpb25zYCAoem9kIHNjb3BlIG9wdGlvbnMpIG1vdmVkIHRvICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyBab2QgaW50ZXJuYWxzIG1vdmVkIHRvIHRoZSBvcHQtaW4gYGZvb3RwcmludGpzL3pvZGAgZW50cnkgKGtlZXBzIHpvZCDigJQgYW5cbi8vIG9wdGlvbmFsIHBlZXIg4oCUIG91dCBvZiB0aGUgYGZvb3RwcmludGpzL2FkdmFuY2VkYCBsb2FkIHBhdGgpLiBJbXBvcnRcbi8vIGNyZWF0ZVNjb3BlUHJveHlGcm9tWm9kIC8gZGVmaW5lU2NvcGVTY2hlbWEgLyBpc1Njb3BlU2NoZW1hIC8gWm9kU2NvcGVSZXNvbHZlclxuLy8gZnJvbSAnZm9vdHByaW50anMvem9kJy5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUnVubmVyIOKAlCBJbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSdW50aW1lU25hcHNob3QgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgRXhlY3V0aW9uUnVudGltZSB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG4vKiogVGhlIHJ1bidzIHBvbGljeSBhbiBgRXhlY3V0aW9uUnVudGltZWAgaXMgY29uc3RydWN0ZWQgd2l0aCAoRjUpLiAqL1xuZXhwb3J0IHR5cGUgeyBSdW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgREVGQVVMVF9SVU5fUE9MSUNZLCBydW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWFjdGl2ZSDigJQgVHlwZWRTY29wZSBpbnRlcm5hbHMgKGZvciBjdXN0b20gcHJveHkgaW1wbGVtZW50YXRpb25zKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJlYWN0aXZlT3B0aW9ucywgUmVhY3RpdmVUYXJnZXQgfSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBidWlsZE5lc3RlZFBhdGNoLFxuICBjcmVhdGVBcnJheVByb3h5LFxuICBpc0hhbmRsZSxcbiAgam9pblBhdGgsXG4gIFNDT1BFX01FVEhPRF9OQU1FUyxcbiAgc2hvdWxkV3JhcFdpdGhQcm94eSxcbiAgdW53cmFwSGFuZGxlcyxcbiAgdmFsdWVCZWhpbmQsXG59IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRW5naW5lIOKAlCBERlMgZ3JhcGggdHJhdmVyc2FsIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFRyYXZlcnNlck9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBEZWNpZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IEZsb3djaGFydFRyYXZlcnNlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBpc1N0YWdlTm9kZVJldHVybiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIE5hcnJhdGl2ZSBpbnRlcm5hbHNcbmV4cG9ydCB0eXBlIHsgSUNvbnRyb2xGbG93TmFycmF0aXZlIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVFbnRyeSwgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQnJhbmNoUmVzdWx0LFxuICBCcmFuY2hSZXN1bHRzLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgYXMgRW5naW5lU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBIYW5kbGVyRGVwcyxcbiAgSUV4ZWN1dGlvblJ1bnRpbWUsXG4gIE5vZGVSZXN1bHRUeXBlLFxuICBSdW50aW1lU3RydWN0dXJlTWV0YWRhdGEsXG4gIFNjb3BlRmFjdG9yeSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lTm9kZSxcbiAgU3RhZ2VGdW5jdGlvbixcbiAgU3ViZmxvd1Jlc3VsdCxcbiAgVHJhdmVyc2FsUmVzdWx0LFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gSGFuZGxlcnMgKHRlc3RpbmcgLyBjdXN0b20gZW5naW5lcylcbmV4cG9ydCB0eXBlIHsgRXhlY3V0ZU5vZGVGbiwgUXVldWVkUGF1c2UsIFJlc3VtZUhvcCwgUnVuU3RhZ2VGbiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseU91dHB1dE1hcHBpbmcsXG4gIENoaWxkcmVuRXhlY3V0b3IsXG4gIGNvbXB1dGVOb2RlVHlwZSxcbiAgQ29udGludWF0aW9uUmVzb2x2ZXIsXG4gIGNyZWF0ZVN1YmZsb3dIYW5kbGVyRGVwcyxcbiAgRGVjaWRlckhhbmRsZXIsXG4gIERFRkFVTFRfTUFYX0lURVJBVElPTlMsXG4gIGV4dHJhY3RQYXJlbnRTY29wZVZhbHVlcyxcbiAgZ2V0SW5pdGlhbFNjb3BlVmFsdWVzLFxuICBOb2RlUmVzb2x2ZXIsXG4gIFJlc3VtZUVudHJ5LFxuICBSdW50aW1lU3RydWN0dXJlTWFuYWdlcixcbiAgc2VlZFN1YmZsb3dHbG9iYWxTdG9yZSxcbiAgU2VsZWN0b3JIYW5kbGVyLFxuICBTdGFnZVJ1bm5lcixcbiAgU3ViZmxvd0V4ZWN1dG9yLFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNpZGUg4oCUIHB1cmUgZ3VhcmQgZXZhbHVhdGlvbiAoZm9yIGN1c3RvbSBhdmFpbGFiaWxpdHkvZGVjaXNpb24gZW5naW5lcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGV2YWx1YXRlRmlsdGVyIGlzIGVuZ2luZS1mcmVlOiBhIHB1cmUgZnVuY3Rpb24gb3ZlciAoZ2V0VmFsdWUsIGlzUmVkYWN0ZWQpXG4vLyBjYWxsYmFja3MgdGhhdCBldmFsdWF0ZXMgYSBXaGVyZUZpbHRlciBhbmQgcmV0dXJucyBwZXItY29uZGl0aW9uIGV2aWRlbmNlLlxuLy8gRXh0ZXJuYWwgZHJpdmVycyAoZS5nLiBoY2lmb290cHJpbnQncyBhdmFpbGFibGUoKSkgZXZhbHVhdGUgZWRnZSBndWFyZHMgd2l0aFxuLy8gaXQgb3V0c2lkZSBhbnkgcnVuIOKAlCBubyBzY29wZSwgbm8gY29tbWl0LCB3b3JrZXItc2FmZS5cbmV4cG9ydCB0eXBlIHsgRmlsdGVyQ29uZGl0aW9uIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGV2YWx1YXRlRmlsdGVyIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJhY3Qg4oCUIHNjaGVtYSBub3JtYWxpemF0aW9uIChmb3IgY3VzdG9tIHRvb2wgZW1pdHRlcnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQdXJlIGNoYXJ0LW1ldGFkYXRhIGhlbHBlcnMgYmVoaW5kIHRvTUNQVG9vbC90b09wZW5BUEkuIEN1c3RvbSBlbWl0dGVyc1xuLy8gKHBlci1lZGdlIE1DUCBkZXNjcmlwdG9ycykgcmV1c2UgdGhlIFpvZOKGkkpTT04tU2NoZW1hIGNvbnZlcnNpb24gd2l0aG91dFxuLy8gaW1wb3J0aW5nIHRoZSBydW5uZXIuIEdhdGUgaW5wdXRzIHdpdGggZGV0ZWN0U2NoZW1hIChtYWluIGJhcnJlbCk6IGFcbi8vIG5vbi1ab2QgJ3BhcnNlYWJsZScgc2NoZW1hICh5dXAvc3VwZXJzdHJ1Y3QpIHBhc3NlcyB0aHJvdWdoIHVuY29udmVydGVkLlxuZXhwb3J0IHsgbm9ybWFsaXplU2NoZW1hLCB6b2RUb0pzb25TY2hlbWEgfSBmcm9tICcuL2xpYi9jb250cmFjdC9pbmRleC5qcyc7XG4iXX0=
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
* The flowchart pattern for backend code.
|
|
5
5
|
* Build → Run → Observe.
|
|
6
6
|
*
|
|
7
|
-
* **
|
|
7
|
+
* **The common import paths:**
|
|
8
8
|
* ```ts
|
|
9
9
|
* import { flowChart, decide, narrative } from 'footprintjs'; // main — start here
|
|
10
10
|
* import { metrics, debug, manifest } from 'footprintjs/recorders'; // recorder factories
|
|
11
|
-
* import {
|
|
11
|
+
* import { stateAt, causalChain } from 'footprintjs/trace'; // read a finished run
|
|
12
|
+
* import { RecordFrame, EventLog } from 'footprintjs/write'; // write a record yourself
|
|
13
|
+
* import { StageContext } from 'footprintjs/advanced'; // engine internals
|
|
12
14
|
* ```
|
|
13
15
|
*
|
|
14
16
|
* @module
|