@sponsio/sdk 0.1.0-alpha.3 → 0.2.0-alpha.10
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/bin/sponsio.cjs +11 -0
- package/contracts/benchmark/agentdojo.yaml +551 -0
- package/contracts/benchmark/odcv_bench.yaml +393 -0
- package/contracts/benchmark/redcode_exec.yaml +488 -0
- package/contracts/benchmark/swebench.yaml +176 -0
- package/contracts/benchmark/tau2_bench.yaml +984 -0
- package/contracts/capability/credentials.yaml +8 -8
- package/contracts/capability/database.yaml +6 -6
- package/contracts/capability/destructive.yaml +213 -0
- package/contracts/capability/factual-claims.yaml +79 -0
- package/contracts/capability/filesystem-strict.yaml +4 -4
- package/contracts/capability/filesystem.yaml +9 -9
- package/contracts/capability/host-config-integrity.yaml +318 -0
- package/contracts/capability/self-modify.yaml +260 -9
- package/contracts/capability/shell.yaml +43 -41
- package/contracts/capability/subagent.yaml +5 -5
- package/contracts/incident/claude-code-secret-bypass.yaml +57 -26
- package/contracts/incident/cursor-railway-wipe.yaml +63 -7
- package/contracts/incident/mcp-composition.yaml +12 -12
- package/contracts/incident/openclaw.yaml +47 -92
- package/contracts/incident/subagent-escape.yaml +4 -4
- package/contracts/premium/.gitkeep +5 -6
- package/dist/cli/check.d.ts +2 -0
- package/dist/cli/check.d.ts.map +1 -0
- package/dist/cli/check.js +283 -0
- package/dist/cli/check.js.map +1 -0
- package/dist/cli/cli.d.ts +25 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +491 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/config.d.ts +88 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +243 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/demo.d.ts +12 -0
- package/dist/cli/demo.d.ts.map +1 -0
- package/dist/cli/demo.js +350 -0
- package/dist/cli/demo.js.map +1 -0
- package/dist/cli/doctor.d.ts +11 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +201 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/eval.d.ts +2 -0
- package/dist/cli/eval.d.ts.map +1 -0
- package/dist/cli/eval.js +361 -0
- package/dist/cli/eval.js.map +1 -0
- package/dist/cli/explain.d.ts +2 -0
- package/dist/cli/explain.d.ts.map +1 -0
- package/dist/cli/explain.js +266 -0
- package/dist/cli/explain.js.map +1 -0
- package/dist/cli/export-sessions.d.ts +2 -0
- package/dist/cli/export-sessions.d.ts.map +1 -0
- package/dist/cli/export-sessions.js +182 -0
- package/dist/cli/export-sessions.js.map +1 -0
- package/dist/cli/export.d.ts +2 -0
- package/dist/cli/export.d.ts.map +1 -0
- package/dist/cli/export.js +222 -0
- package/dist/cli/export.js.map +1 -0
- package/dist/cli/extractors/common.d.ts +27 -0
- package/dist/cli/extractors/common.d.ts.map +1 -0
- package/dist/cli/extractors/common.js +107 -0
- package/dist/cli/extractors/common.js.map +1 -0
- package/dist/cli/extractors/generic.d.ts +37 -0
- package/dist/cli/extractors/generic.d.ts.map +1 -0
- package/dist/cli/extractors/generic.js +185 -0
- package/dist/cli/extractors/generic.js.map +1 -0
- package/dist/cli/extractors/langchain.d.ts +18 -0
- package/dist/cli/extractors/langchain.d.ts.map +1 -0
- package/dist/cli/extractors/langchain.js +86 -0
- package/dist/cli/extractors/langchain.js.map +1 -0
- package/dist/cli/extractors/vercel.d.ts +17 -0
- package/dist/cli/extractors/vercel.d.ts.map +1 -0
- package/dist/cli/extractors/vercel.js +46 -0
- package/dist/cli/extractors/vercel.js.map +1 -0
- package/dist/cli/index.d.ts +38 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +146 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +177 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/mode.d.ts +2 -0
- package/dist/cli/mode.d.ts.map +1 -0
- package/dist/cli/mode.js +71 -0
- package/dist/cli/mode.js.map +1 -0
- package/dist/cli/onboard.d.ts +88 -0
- package/dist/cli/onboard.d.ts.map +1 -0
- package/dist/cli/onboard.js +758 -0
- package/dist/cli/onboard.js.map +1 -0
- package/dist/cli/otlp.d.ts +27 -0
- package/dist/cli/otlp.d.ts.map +1 -0
- package/dist/cli/otlp.js +79 -0
- package/dist/cli/otlp.js.map +1 -0
- package/dist/cli/package.json +1 -0
- package/dist/cli/packs.d.ts +16 -0
- package/dist/cli/packs.d.ts.map +1 -0
- package/dist/cli/packs.js +190 -0
- package/dist/cli/packs.js.map +1 -0
- package/dist/cli/patterns.d.ts +16 -0
- package/dist/cli/patterns.d.ts.map +1 -0
- package/dist/cli/patterns.js +136 -0
- package/dist/cli/patterns.js.map +1 -0
- package/dist/cli/prompt.d.ts +2 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +54 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/replay.d.ts +2 -0
- package/dist/cli/replay.d.ts.map +1 -0
- package/dist/cli/replay.js +196 -0
- package/dist/cli/replay.js.map +1 -0
- package/dist/cli/report.d.ts +57 -0
- package/dist/cli/report.d.ts.map +1 -0
- package/dist/cli/report.js +298 -0
- package/dist/cli/report.js.map +1 -0
- package/dist/cli/scan.d.ts +2 -0
- package/dist/cli/scan.d.ts.map +1 -0
- package/dist/cli/scan.js +172 -0
- package/dist/cli/scan.js.map +1 -0
- package/dist/cli/skill.d.ts +15 -0
- package/dist/cli/skill.d.ts.map +1 -0
- package/dist/cli/skill.js +131 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tokens.d.ts +31 -0
- package/dist/cli/tokens.d.ts.map +1 -0
- package/dist/cli/tokens.js +73 -0
- package/dist/cli/tokens.js.map +1 -0
- package/dist/cli/types.d.ts +46 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +3 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/validate.d.ts +19 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +205 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/cli/zod.d.ts +36 -0
- package/dist/cli/zod.d.ts.map +1 -0
- package/dist/cli/zod.js +226 -0
- package/dist/cli/zod.js.map +1 -0
- package/dist/cloud/client.d.ts +76 -0
- package/dist/cloud/client.d.ts.map +1 -0
- package/dist/cloud/client.js +204 -0
- package/dist/cloud/client.js.map +1 -0
- package/dist/cloud/evidence.d.ts +108 -0
- package/dist/cloud/evidence.d.ts.map +1 -0
- package/dist/cloud/evidence.js +184 -0
- package/dist/cloud/evidence.js.map +1 -0
- package/dist/cloud/privacy.d.ts +67 -0
- package/dist/cloud/privacy.d.ts.map +1 -0
- package/dist/cloud/privacy.js +170 -0
- package/dist/cloud/privacy.js.map +1 -0
- package/dist/cloud/view-model.d.ts +49 -0
- package/dist/cloud/view-model.d.ts.map +1 -0
- package/dist/cloud/view-model.js +172 -0
- package/dist/cloud/view-model.js.map +1 -0
- package/dist/contract.d.ts +13 -13
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +21 -21
- package/dist/contract.js.map +1 -1
- package/dist/core/config-loader.d.ts +1 -1
- package/dist/core/config-loader.d.ts.map +1 -1
- package/dist/core/config-loader.js +116 -26
- package/dist/core/config-loader.js.map +1 -1
- package/dist/core/evaluator.d.ts +11 -1
- package/dist/core/evaluator.d.ts.map +1 -1
- package/dist/core/evaluator.js +275 -13
- package/dist/core/evaluator.js.map +1 -1
- package/dist/core/formula.d.ts +76 -17
- package/dist/core/formula.d.ts.map +1 -1
- package/dist/core/formula.js +95 -1
- package/dist/core/formula.js.map +1 -1
- package/dist/core/grounding.d.ts +86 -3
- package/dist/core/grounding.d.ts.map +1 -1
- package/dist/core/grounding.js +485 -143
- package/dist/core/grounding.js.map +1 -1
- package/dist/core/nl-parser.d.ts +2 -2
- package/dist/core/nl-parser.d.ts.map +1 -1
- package/dist/core/nl-parser.js +690 -42
- package/dist/core/nl-parser.js.map +1 -1
- package/dist/core/pack-loader.d.ts.map +1 -1
- package/dist/core/pack-loader.js +14 -2
- package/dist/core/pack-loader.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +30 -1
- package/dist/core/parser.js.map +1 -1
- package/dist/core/pattern-factory.d.ts +4 -4
- package/dist/core/pattern-factory.d.ts.map +1 -1
- package/dist/core/pattern-factory.js +59 -4
- package/dist/core/pattern-factory.js.map +1 -1
- package/dist/core/patterns.d.ts +196 -5
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +400 -13
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/session-log.d.ts.map +1 -1
- package/dist/core/session-log.js +20 -1
- package/dist/core/session-log.js.map +1 -1
- package/dist/core/spans.d.ts +1 -1
- package/dist/core/spans.d.ts.map +1 -1
- package/dist/core/spans.js.map +1 -1
- package/dist/core/sto.d.ts +30 -66
- package/dist/core/sto.d.ts.map +1 -1
- package/dist/core/sto.js +39 -100
- package/dist/core/sto.js.map +1 -1
- package/dist/core/tool-names.d.ts +59 -0
- package/dist/core/tool-names.d.ts.map +1 -0
- package/dist/core/tool-names.js +128 -0
- package/dist/core/tool-names.js.map +1 -0
- package/dist/index.d.ts +227 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +539 -152
- package/dist/index.js.map +1 -1
- package/dist/integrations/claude-agent.d.ts +5 -0
- package/dist/integrations/claude-agent.d.ts.map +1 -1
- package/dist/integrations/claude-agent.js +42 -13
- package/dist/integrations/claude-agent.js.map +1 -1
- package/dist/integrations/google-adk.d.ts +5 -3
- package/dist/integrations/google-adk.d.ts.map +1 -1
- package/dist/integrations/google-adk.js +9 -5
- package/dist/integrations/google-adk.js.map +1 -1
- package/dist/integrations/langchain.d.ts +7 -0
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +21 -3
- package/dist/integrations/langchain.js.map +1 -1
- package/dist/integrations/openai-agents.d.ts +22 -10
- package/dist/integrations/openai-agents.d.ts.map +1 -1
- package/dist/integrations/openai-agents.js +57 -16
- package/dist/integrations/openai-agents.js.map +1 -1
- package/dist/integrations/openai.d.ts +11 -0
- package/dist/integrations/openai.d.ts.map +1 -1
- package/dist/integrations/openai.js +130 -48
- package/dist/integrations/openai.js.map +1 -1
- package/dist/integrations/vercel-ai.d.ts +20 -9
- package/dist/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/integrations/vercel-ai.js +131 -32
- package/dist/integrations/vercel-ai.js.map +1 -1
- package/dist/render/tokens.d.ts.map +1 -1
- package/dist/render/tokens.js +1 -0
- package/dist/render/tokens.js.map +1 -1
- package/package.json +41 -9
- package/prompts/onboard.md +259 -0
- package/prompts/scan.md +123 -0
- package/skills/SKILL.md +432 -0
- package/contracts/core/llm_safety.yaml +0 -130
package/dist/core/grounding.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grounding: convert
|
|
2
|
+
* Grounding: convert events into per-timestep predicate valuations.
|
|
3
3
|
*
|
|
4
4
|
* Port of sponsio/tracer/grounding.py (Det-relevant atoms).
|
|
5
5
|
*
|
|
@@ -16,19 +16,69 @@
|
|
|
16
16
|
* arg_paths_within(tool, *prefixes) — all paths in args within prefix set
|
|
17
17
|
* token_count(type) — cumulative tokens (from event.args.tokens)
|
|
18
18
|
* delegation_depth — depth of agent-to-agent delegation
|
|
19
|
+
* ctx(key, value) — external fact pushed via observe_context
|
|
20
|
+
* ctx_matches(key, pattern) — current ctx[key] matches regex
|
|
21
|
+
* llm_said(pattern) — llm_response content matches regex
|
|
22
|
+
* response_words / response_chars — response length on llm_response
|
|
23
|
+
* time_since(predicate_key) — event-clock delta since predicate last True
|
|
19
24
|
*/
|
|
20
25
|
import type { Formula } from "./formula.js";
|
|
26
|
+
/**
|
|
27
|
+
* Public event shape consumed by the grounding kernel. ``tool`` is
|
|
28
|
+
* required for the dominant ``tool_call`` path; the optional fields
|
|
29
|
+
* cover ``llm_response`` (response-length / regex content checks) and
|
|
30
|
+
* ``context_update`` (external-fact ``ctx`` atoms).
|
|
31
|
+
*/
|
|
21
32
|
export interface ToolEvent {
|
|
22
33
|
tool: string;
|
|
23
34
|
args?: Record<string, unknown>;
|
|
35
|
+
/** ``"tool_call"`` (default) | ``"llm_response"`` | ``"context_update"`` | ``"delegation"``. */
|
|
36
|
+
event_type?: string;
|
|
37
|
+
/** Free-form text — only consumed for ``llm_response`` events (regex matching, length). */
|
|
38
|
+
content?: string;
|
|
39
|
+
/** Optional event timestamp; if omitted, the grounding state's monotonic clock advances by 1. */
|
|
40
|
+
ts?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Subject of the event, for kinds whose subject is not a tool name.
|
|
43
|
+
* An ``evidence`` event puts the predicate name here.
|
|
44
|
+
*/
|
|
45
|
+
key?: string;
|
|
24
46
|
}
|
|
25
47
|
export interface GroundingState {
|
|
26
48
|
callCounts: Record<string, number>;
|
|
27
49
|
callWithCounts: Record<string, number>;
|
|
50
|
+
/** Canonical spelling of the previous tool (see core/tool-names.ts). */
|
|
28
51
|
lastTool: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Every spelling the previous call was grounded under, so a tool change
|
|
54
|
+
* zeroes all of them rather than only the raw name.
|
|
55
|
+
*/
|
|
56
|
+
lastToolAliases: string[];
|
|
29
57
|
consecutiveCounts: Record<string, number>;
|
|
30
58
|
tokenCounts: Record<string, number>;
|
|
31
59
|
delegationDepth: number;
|
|
60
|
+
/**
|
|
61
|
+
* External facts pushed by the integration via ``observeContext``.
|
|
62
|
+
* Persists across events; re-emitted as ``ctx(k, v)`` atoms each
|
|
63
|
+
* timestep so ``G(called(x) → ctx(k, v))`` fires as expected.
|
|
64
|
+
*/
|
|
65
|
+
currentCtx: Record<string, string>;
|
|
66
|
+
/**
|
|
67
|
+
* Event clock — advances by 1 per event when no explicit ``ts`` is
|
|
68
|
+
* supplied. Used as the numerator for ``time_since(key)`` and
|
|
69
|
+
* accessible to formulas via ``Var("now")``.
|
|
70
|
+
*/
|
|
71
|
+
now: number;
|
|
72
|
+
/**
|
|
73
|
+
* Per-predicate-key timestamp of the most recent False→True
|
|
74
|
+
* transition. Re-emissions of a sustained predicate (forward-
|
|
75
|
+
* propagated ``flow``/``contains``, ``ctx`` atoms held in scope)
|
|
76
|
+
* do NOT refresh this — that's what makes ``time_since(approval)``
|
|
77
|
+
* measure "since granted" rather than "since last re-emit".
|
|
78
|
+
*/
|
|
79
|
+
lastTs: Record<string, number>;
|
|
80
|
+
/** Predicates that were True at the previous event (post-emission). */
|
|
81
|
+
trueAtPrev: Set<string>;
|
|
32
82
|
}
|
|
33
83
|
export declare function newGroundingState(): GroundingState;
|
|
34
84
|
/**
|
|
@@ -36,8 +86,41 @@ export declare function newGroundingState(): GroundingState;
|
|
|
36
86
|
* These are atoms whose grounding depends on event content (arg patterns).
|
|
37
87
|
*/
|
|
38
88
|
export declare function collectContentAtoms(formulas: Formula[]): Record<string, Set<string>>;
|
|
89
|
+
export declare function pathWithin(path: string, prefix: string): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Fail at construction on a contract pattern that is not a valid regular
|
|
92
|
+
* expression. Mirrors Python, where a malformed contract raises when the
|
|
93
|
+
* guard is built. Without this an ``llm_said`` / ``ctx_matches`` pattern
|
|
94
|
+
* that never compiles silently never matches (fail-open), and an
|
|
95
|
+
* ``arg_*`` pattern throws on the first tool call instead of at startup.
|
|
96
|
+
*
|
|
97
|
+
* Patterns are stored as ``args.join("|")``; each predicate knows which
|
|
98
|
+
* tail of that string is the regex, exactly as ``groundEvent`` reads it.
|
|
99
|
+
*/
|
|
100
|
+
export declare function validateContentPatterns(atoms: Record<string, Set<string>>): void;
|
|
39
101
|
/**
|
|
40
|
-
*
|
|
102
|
+
* Read a tool argument as a number, the way a numeric cap needs it.
|
|
103
|
+
*
|
|
104
|
+
* ``"$5,000"``, ``"5,000"`` and ``"5000 USD"`` are the shapes a model
|
|
105
|
+
* writes for an amount. ``parseFloat`` read ``"5,000"`` as ``5`` and
|
|
106
|
+
* ``"$5,000"`` as nothing at all, and the evaluator reads a missing
|
|
107
|
+
* ``arg_numeric`` as ``0``, so ``argValueRange`` waved them through a cap
|
|
108
|
+
* that stopped ``5000``. The normalisation is the one ordered comparisons
|
|
109
|
+
* already use (``numericString`` in core/evaluator.ts), so both paths
|
|
110
|
+
* agree. Parity with Python ``numeric_arg`` in sponsio/tracer/grounding.py:
|
|
111
|
+
* a boolean reads as 0/1, a number as itself, anything else as undefined.
|
|
112
|
+
*/
|
|
113
|
+
export declare function numericArg(value: unknown): number | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Does a contract's target tool name the tool this event called?
|
|
116
|
+
*
|
|
117
|
+
* The target is canonicalised and looked up among every spelling the
|
|
118
|
+
* event answers to (see core/tool-names.ts), so a rule on ``issue_refund``
|
|
119
|
+
* binds ``Issue_Refund``, ``"issue_refund "`` and
|
|
120
|
+
* ``mcp__finance__issue_refund``. Parity with Python ``_tool_matches``
|
|
121
|
+
* for plain names; the ``tool:argpattern`` form is split by the pattern
|
|
122
|
+
* factories before it reaches grounding in this runtime.
|
|
41
123
|
*/
|
|
42
|
-
export declare function
|
|
124
|
+
export declare function toolMatches(targetTool: string, aliases: Iterable<string>): boolean;
|
|
125
|
+
export declare function groundEvent(event: ToolEvent, state: GroundingState, contentAtoms?: Record<string, Set<string>>): Record<string, unknown>;
|
|
43
126
|
//# sourceMappingURL=grounding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grounding.d.ts","sourceRoot":"","sources":["../../src/core/grounding.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"grounding.d.ts","sourceRoot":"","sources":["../../src/core/grounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,wEAAwE;IACxE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,uEAAuE;IACvE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAclD;AAmCD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CA0B7B;AA8CD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACjC,IAAI,CA2BN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAIlF;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,cAAc,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoXzB"}
|