@openlimiter/core 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acquire/cadence.d.ts +7 -0
- package/dist/acquire/cadence.d.ts.map +1 -1
- package/dist/acquire/cadence.js +14 -5
- package/dist/acquire/cadence.js.map +1 -1
- package/dist/acquire/codex-app-server.d.ts +29 -0
- package/dist/acquire/codex-app-server.d.ts.map +1 -0
- package/dist/acquire/codex-app-server.js +218 -0
- package/dist/acquire/codex-app-server.js.map +1 -0
- package/dist/acquire/coordination.d.ts.map +1 -1
- package/dist/acquire/coordination.js +2 -0
- package/dist/acquire/coordination.js.map +1 -1
- package/dist/acquire/credentials.d.ts +22 -22
- package/dist/acquire/credentials.d.ts.map +1 -1
- package/dist/acquire/credentials.js +68 -64
- package/dist/acquire/credentials.js.map +1 -1
- package/dist/acquire/identity.d.ts +1 -1
- package/dist/acquire/identity.js +1 -1
- package/dist/acquire/index.d.ts +1 -1
- package/dist/acquire/index.d.ts.map +1 -1
- package/dist/acquire/index.js +1 -1
- package/dist/acquire/index.js.map +1 -1
- package/dist/acquire/providers.d.ts +8 -15
- package/dist/acquire/providers.d.ts.map +1 -1
- package/dist/acquire/providers.js +33 -36
- package/dist/acquire/providers.js.map +1 -1
- package/dist/acquire/runner.d.ts +14 -24
- package/dist/acquire/runner.d.ts.map +1 -1
- package/dist/acquire/runner.js +86 -171
- package/dist/acquire/runner.js.map +1 -1
- package/dist/acquire/transport.d.ts +26 -20
- package/dist/acquire/transport.d.ts.map +1 -1
- package/dist/acquire/transport.js +10 -20
- package/dist/acquire/transport.js.map +1 -1
- package/dist/acquire/windows-credential.d.ts +2 -10
- package/dist/acquire/windows-credential.d.ts.map +1 -1
- package/dist/acquire/windows-credential.js +3 -2
- package/dist/acquire/windows-credential.js.map +1 -1
- package/dist/cache.d.ts +6 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +25 -5
- package/dist/cache.js.map +1 -1
- package/dist/command-runner.d.ts +2 -0
- package/dist/command-runner.d.ts.map +1 -1
- package/dist/command-runner.js +25 -12
- package/dist/command-runner.js.map +1 -1
- package/dist/contracts/claude-presentation.json +40 -0
- package/dist/contracts/wire.d.ts.map +1 -1
- package/dist/contracts/wire.js +11 -3
- package/dist/contracts/wire.js.map +1 -1
- package/dist/data-rules.d.ts.map +1 -1
- package/dist/data-rules.js +38 -5
- package/dist/data-rules.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizer.d.ts +4 -4
- package/dist/normalizer.d.ts.map +1 -1
- package/dist/normalizer.js +7 -3
- package/dist/normalizer.js.map +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +10 -1
- package/dist/policy.js.map +1 -1
- package/dist/provider-presentation.d.ts +52 -0
- package/dist/provider-presentation.d.ts.map +1 -0
- package/dist/provider-presentation.js +241 -0
- package/dist/provider-presentation.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/windows-system-tool.d.ts +5 -0
- package/dist/windows-system-tool.d.ts.map +1 -0
- package/dist/windows-system-tool.js +58 -0
- package/dist/windows-system-tool.js.map +1 -0
- package/package.json +1 -1
- package/dist/acquire/antigravity-probe.d.ts +0 -142
- package/dist/acquire/antigravity-probe.d.ts.map +0 -1
- package/dist/acquire/antigravity-probe.js +0 -648
- package/dist/acquire/antigravity-probe.js.map +0 -1
package/dist/acquire/runner.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { ProviderCode, RawMeter } from "../types.js";
|
|
|
4
4
|
import { type AcquisitionSchedule } from "./cadence.js";
|
|
5
5
|
import { type AcquiredCredential, type AcquisitionProvider, type CredentialLookupOptions, type CredentialResult } from "./credentials.js";
|
|
6
6
|
import { type AcquisitionOutcome, type AcquisitionRequest, type AcquisitionTransport } from "./transport.js";
|
|
7
|
-
import { type AntigravityProbeOptions, type AntigravityProbeResult } from "./antigravity-probe.js";
|
|
8
7
|
export interface AcquisitionStepContext {
|
|
9
8
|
readonly credential: AcquiredCredential;
|
|
10
9
|
/** The parsed bodies of the steps already taken, oldest first. */
|
|
@@ -24,14 +23,14 @@ export type AcquisitionStepResult = AcquisitionRequest | {
|
|
|
24
23
|
/**
|
|
25
24
|
* One request in a provider's read.
|
|
26
25
|
*
|
|
27
|
-
* Most providers have exactly one.
|
|
26
|
+
* Most providers have exactly one. Code Assist has two, because the
|
|
28
27
|
* first answers with the companion project the second has to be scoped to.
|
|
29
28
|
*/
|
|
30
29
|
export type AcquisitionStep = (context: AcquisitionStepContext) => AcquisitionStepResult | null;
|
|
31
30
|
export interface AcquisitionSpec {
|
|
32
31
|
/** The provider code the resulting rows carry. */
|
|
33
32
|
readonly provider: ProviderCode;
|
|
34
|
-
/** Whose stored credential this read uses.
|
|
33
|
+
/** Whose stored credential this read uses. */
|
|
35
34
|
readonly credentialProvider: AcquisitionProvider;
|
|
36
35
|
readonly steps: readonly AcquisitionStep[];
|
|
37
36
|
/** The connector parser for this provider's response, injected by the caller. */
|
|
@@ -48,14 +47,7 @@ export interface AcquisitionSpec {
|
|
|
48
47
|
readonly enabled?: boolean;
|
|
49
48
|
/** Why it is off, in the words the row prints. */
|
|
50
49
|
readonly disabledReason?: string;
|
|
51
|
-
/**
|
|
52
|
-
* The account label these rows carry, when the credential decides it.
|
|
53
|
-
*
|
|
54
|
-
* Antigravity is the reason this exists. Reading the Gemini CLI's file is a
|
|
55
|
-
* legitimate way to reach the shared Code Assist quota, and it is not
|
|
56
|
-
* Antigravity's own login, so the rows are filed under an account that says
|
|
57
|
-
* which it was rather than under the provider's unnamed default.
|
|
58
|
-
*/
|
|
50
|
+
/** The account identity these rows carry when the credential decides it. */
|
|
59
51
|
readonly accountIdFor?: (credential: AcquiredCredential) => string | null;
|
|
60
52
|
/** The disclosure these rows carry, when the credential changes it. */
|
|
61
53
|
readonly disclosureFor?: (credential: AcquiredCredential) => string | null;
|
|
@@ -67,7 +59,7 @@ export interface AcquisitionSpec {
|
|
|
67
59
|
/** What one provider's row says after a round. */
|
|
68
60
|
export type AcquisitionStatus = "read" | "stale" | "waiting" | "not_detected" | "off";
|
|
69
61
|
export interface AcquisitionRow {
|
|
70
|
-
readonly availability?: "expired_credentials" | "access_denied" | "rate_limited";
|
|
62
|
+
readonly availability?: "expired_credentials" | "access_denied" | "quota_unavailable" | "rate_limited";
|
|
71
63
|
readonly retryAt?: string;
|
|
72
64
|
readonly provider: ProviderCode;
|
|
73
65
|
/** The account these rows were filed under, when one was decided. */
|
|
@@ -105,14 +97,6 @@ export interface AcquisitionRunOptions {
|
|
|
105
97
|
* rather than invented by a parser.
|
|
106
98
|
*/
|
|
107
99
|
readonly stamp?: (meters: readonly RawMeter[], credential: AcquiredCredential) => readonly RawMeter[];
|
|
108
|
-
readonly probeAntigravity?: (options?: AntigravityProbeOptions) => Promise<AntigravityProbeResult>;
|
|
109
|
-
/**
|
|
110
|
-
* How the Antigravity probe turns a pid into the executable path it checks
|
|
111
|
-
* against the trusted install roots. Threaded through from here rather than
|
|
112
|
-
* left to the probe's own untrusted fallback, so a caller that wants a
|
|
113
|
-
* verified reading always gets one: see `resolveAgyExecutablePath`.
|
|
114
|
-
*/
|
|
115
|
-
readonly resolveExecutablePath?: (pid: string) => Promise<string | null>;
|
|
116
100
|
}
|
|
117
101
|
/**
|
|
118
102
|
* The failure vocabulary the cache understands, from ours.
|
|
@@ -126,14 +110,20 @@ export interface AcquisitionRunOptions {
|
|
|
126
110
|
* a successful read changes anything.
|
|
127
111
|
*/
|
|
128
112
|
export declare function collectionReasonFor(outcome: AcquisitionOutcome): CollectionFailureReason;
|
|
113
|
+
/**
|
|
114
|
+
* A thrown failure as a code: a system error code or an error class name.
|
|
115
|
+
* Never the message, which can carry a path, a header or a token.
|
|
116
|
+
*/
|
|
117
|
+
export declare function errorClassOf(error: unknown): string;
|
|
129
118
|
export declare function credentialExpired(credential: AcquiredCredential, now: number): boolean;
|
|
130
119
|
/**
|
|
131
120
|
* Run every spec once, honouring the schedule.
|
|
132
121
|
*
|
|
133
|
-
* The returned schedule is the one to persist. A provider that
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
122
|
+
* The returned schedule is the one to persist. A provider that is off keeps
|
|
123
|
+
* the schedule it had. A provider whose local credential is absent, expired or
|
|
124
|
+
* unreadable loses its entry: nothing was asked of the provider, so an old
|
|
125
|
+
* outcome (yesterday's drift) must not read as today's. Every failure records
|
|
126
|
+
* its own instant, the phase it happened in and a code, never a message.
|
|
137
127
|
*/
|
|
138
128
|
export declare function runAcquisition(specs: readonly AcquisitionSpec[], options: AcquisitionRunOptions): Promise<AcquisitionRunResult>;
|
|
139
129
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAA2E,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACzH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/acquire/runner.js
CHANGED
|
@@ -19,8 +19,6 @@ import { acquireMachineLease, recordAcquisitionAvailability, withPolicyFreshness
|
|
|
19
19
|
import { ACQUISITION_OUTCOME_SENTENCE, isProviderDue, nextAttemptInstant } from "./cadence.js";
|
|
20
20
|
import { CREDENTIAL_FAILURE_SENTENCE, credentialCandidatePaths, readAcquisitionCredential } from "./credentials.js";
|
|
21
21
|
import { outcomeForStatus } from "./transport.js";
|
|
22
|
-
import { AGY_NOT_RUNNING_SENTENCE } from "./antigravity-probe.js";
|
|
23
|
-
import { isSharedCodeAssist } from "./providers.js";
|
|
24
22
|
import { acquisitionAccountId } from "./identity.js";
|
|
25
23
|
/**
|
|
26
24
|
* The failure vocabulary the cache understands, from ours.
|
|
@@ -42,6 +40,17 @@ export function collectionReasonFor(outcome) {
|
|
|
42
40
|
return "network";
|
|
43
41
|
return "remote_error";
|
|
44
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* A thrown failure as a code: a system error code or an error class name.
|
|
45
|
+
* Never the message, which can carry a path, a header or a token.
|
|
46
|
+
*/
|
|
47
|
+
export function errorClassOf(error) {
|
|
48
|
+
const code = typeof error === "object" && error !== null ? error.code : undefined;
|
|
49
|
+
if (typeof code === "string" && /^E[A-Z0-9_]{1,30}$/u.test(code))
|
|
50
|
+
return code;
|
|
51
|
+
const name = error instanceof Error ? error.name : "";
|
|
52
|
+
return /^[A-Z][A-Za-z]{0,26}Error$/u.test(name) ? name : "exception";
|
|
53
|
+
}
|
|
45
54
|
export function credentialExpired(credential, now) {
|
|
46
55
|
if (credential.expiresAtMilliseconds !== null && credential.expiresAtMilliseconds <= now)
|
|
47
56
|
return true;
|
|
@@ -66,14 +75,14 @@ async function attempt(spec, credential, options) {
|
|
|
66
75
|
return { outcome: "unauthorized", meters: [], retryAfterSeconds: null, expiredCredentials: true };
|
|
67
76
|
}
|
|
68
77
|
if (options.lease && !(await options.lease.stillOwned(at))) {
|
|
69
|
-
return { outcome: "transport", meters: [], retryAfterSeconds: null };
|
|
78
|
+
return { outcome: "transport", meters: [], retryAfterSeconds: null, phase: "request" };
|
|
70
79
|
}
|
|
71
80
|
const decided = step({ credential, previous });
|
|
72
81
|
if (decided === null) {
|
|
73
|
-
return { outcome: "drift", meters: [], retryAfterSeconds: null };
|
|
82
|
+
return { outcome: "drift", meters: [], retryAfterSeconds: null, phase: "request" };
|
|
74
83
|
}
|
|
75
84
|
if ("stop" in decided) {
|
|
76
|
-
return { outcome: decided.stop, meters: [], retryAfterSeconds: retryAfter };
|
|
85
|
+
return { outcome: decided.stop, meters: [], retryAfterSeconds: retryAfter, phase: "request" };
|
|
77
86
|
}
|
|
78
87
|
const request = decided;
|
|
79
88
|
let reply;
|
|
@@ -84,21 +93,24 @@ async function attempt(spec, credential, options) {
|
|
|
84
93
|
/* The error object is never inspected and never formatted. A transport
|
|
85
94
|
failure carries a URL and sometimes a header, and neither belongs
|
|
86
95
|
anywhere near a row a person reads. */
|
|
87
|
-
return { outcome: "transport", meters: [], retryAfterSeconds: null };
|
|
96
|
+
return { outcome: "transport", meters: [], retryAfterSeconds: null, phase: "request" };
|
|
88
97
|
}
|
|
89
98
|
retryAfter = reply.retryAfterSeconds;
|
|
99
|
+
if (reply.missingCredential === true) {
|
|
100
|
+
return { outcome: "transport", meters: [], retryAfterSeconds: null, phase: "request", missingCredential: true };
|
|
101
|
+
}
|
|
90
102
|
if (reply.status === 0) {
|
|
91
|
-
return { outcome: "too_large", meters: [], retryAfterSeconds: retryAfter };
|
|
103
|
+
return { outcome: "too_large", meters: [], retryAfterSeconds: retryAfter, phase: "request" };
|
|
92
104
|
}
|
|
93
|
-
const outcome = outcomeForStatus(reply.status);
|
|
105
|
+
const outcome = reply.outcome ?? outcomeForStatus(reply.status);
|
|
94
106
|
if (outcome !== "ok")
|
|
95
|
-
return { outcome, meters: [], retryAfterSeconds: retryAfter };
|
|
107
|
+
return { outcome, meters: [], retryAfterSeconds: retryAfter, phase: "request" };
|
|
96
108
|
let body;
|
|
97
109
|
try {
|
|
98
110
|
body = JSON.parse(reply.body);
|
|
99
111
|
}
|
|
100
112
|
catch {
|
|
101
|
-
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter };
|
|
113
|
+
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter, phase: "parse" };
|
|
102
114
|
}
|
|
103
115
|
previous.push(body);
|
|
104
116
|
}
|
|
@@ -115,20 +127,21 @@ async function attempt(spec, credential, options) {
|
|
|
115
127
|
meters = spec.parse(payload, options.now);
|
|
116
128
|
}
|
|
117
129
|
catch {
|
|
118
|
-
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter };
|
|
130
|
+
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter, phase: "parse" };
|
|
119
131
|
}
|
|
120
132
|
if (meters === null || meters.length === 0) {
|
|
121
|
-
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter };
|
|
133
|
+
return { outcome: "drift", meters: [], retryAfterSeconds: retryAfter, phase: "parse" };
|
|
122
134
|
}
|
|
123
135
|
return { outcome: "ok", meters, retryAfterSeconds: retryAfter };
|
|
124
136
|
}
|
|
125
137
|
/**
|
|
126
138
|
* Run every spec once, honouring the schedule.
|
|
127
139
|
*
|
|
128
|
-
* The returned schedule is the one to persist. A provider that
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
140
|
+
* The returned schedule is the one to persist. A provider that is off keeps
|
|
141
|
+
* the schedule it had. A provider whose local credential is absent, expired or
|
|
142
|
+
* unreadable loses its entry: nothing was asked of the provider, so an old
|
|
143
|
+
* outcome (yesterday's drift) must not read as today's. Every failure records
|
|
144
|
+
* its own instant, the phase it happened in and a code, never a message.
|
|
132
145
|
*/
|
|
133
146
|
export async function runAcquisition(specs, options) {
|
|
134
147
|
const rows = [];
|
|
@@ -142,13 +155,7 @@ export async function runAcquisition(specs, options) {
|
|
|
142
155
|
...options.lookup,
|
|
143
156
|
now: options.now
|
|
144
157
|
}));
|
|
145
|
-
const
|
|
146
|
-
const readCredential = async (provider) => {
|
|
147
|
-
const result = await credentialReader(provider);
|
|
148
|
-
if (result.ok)
|
|
149
|
-
observedCredentials.set(provider, result.credential);
|
|
150
|
-
return result;
|
|
151
|
-
};
|
|
158
|
+
const readCredential = credentialReader;
|
|
152
159
|
const revisionFor = async (spec) => {
|
|
153
160
|
const credential = await readCredential(spec.credentialProvider);
|
|
154
161
|
const files = options.readCredential && !options.lookup ? [] : credentialCandidatePaths(spec.credentialProvider, options.lookup);
|
|
@@ -162,10 +169,17 @@ export async function runAcquisition(specs, options) {
|
|
|
162
169
|
}));
|
|
163
170
|
return createHash("sha256").update(JSON.stringify([credential, mtimes])).digest("hex");
|
|
164
171
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
172
|
+
/* Where the provider being read is right now, for the outer catch. */
|
|
173
|
+
let phase = "credential";
|
|
174
|
+
const failure = (failedIn, outcome) => outcome === "ok" ? {} : { phase: failedIn, errorClass: outcome };
|
|
175
|
+
/* Outcomes that wait a day and belong to the credential itself, so a new
|
|
176
|
+
credential releases them: a retired plan is one of those (Astra, 2026-10-01). */
|
|
177
|
+
const refused = (outcome) => outcome === "unauthorized" || outcome === "blocked" || outcome === "identity_refused" || outcome === "quota_unavailable";
|
|
178
|
+
const outcomeAvailability = (outcome) => outcome === "quota_unavailable"
|
|
179
|
+
? { availability: "quota_unavailable" }
|
|
180
|
+
: outcome === "unauthorized"
|
|
181
|
+
? { availability: "expired_credentials" }
|
|
182
|
+
: outcome === "blocked" || outcome === "identity_refused" ? { availability: "access_denied" } : {};
|
|
169
183
|
/**
|
|
170
184
|
* One provider, start to finish.
|
|
171
185
|
*
|
|
@@ -175,6 +189,7 @@ export async function runAcquisition(specs, options) {
|
|
|
175
189
|
*/
|
|
176
190
|
const readOne = async (spec) => {
|
|
177
191
|
const existing = schedule[spec.provider];
|
|
192
|
+
phase = "credential";
|
|
178
193
|
if (spec.enabled === false) {
|
|
179
194
|
rows.push({
|
|
180
195
|
provider: spec.provider,
|
|
@@ -192,7 +207,7 @@ export async function runAcquisition(specs, options) {
|
|
|
192
207
|
provider: spec.provider,
|
|
193
208
|
detected: true,
|
|
194
209
|
status: "waiting",
|
|
195
|
-
...(existing ?
|
|
210
|
+
...(existing ? outcomeAvailability(existing.outcome) : {}),
|
|
196
211
|
reason: existing === undefined
|
|
197
212
|
? null
|
|
198
213
|
: ACQUISITION_OUTCOME_SENTENCE[existing.outcome],
|
|
@@ -201,124 +216,11 @@ export async function runAcquisition(specs, options) {
|
|
|
201
216
|
});
|
|
202
217
|
return;
|
|
203
218
|
}
|
|
204
|
-
|
|
205
|
-
let probeResult;
|
|
206
|
-
try {
|
|
207
|
-
probeResult = await options.probeAntigravity({
|
|
208
|
-
now: options.now,
|
|
209
|
-
...(options.lookup !== undefined ? { lookup: options.lookup } : {}),
|
|
210
|
-
...(options.resolveExecutablePath !== undefined
|
|
211
|
-
? { resolveExecutablePath: options.resolveExecutablePath }
|
|
212
|
-
: {})
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
probeResult = { ok: false, reason: "unreachable" };
|
|
217
|
-
}
|
|
218
|
-
if (probeResult.ok && probeResult.meters.length > 0) {
|
|
219
|
-
const nextAttemptAt = nextAttemptInstant("ok", options.now);
|
|
220
|
-
schedule[spec.provider] = {
|
|
221
|
-
lastAttemptAt: options.now,
|
|
222
|
-
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
223
|
-
outcome: "ok"
|
|
224
|
-
};
|
|
225
|
-
const accountId = acquisitionAccountId("ANTIGRAVITY", { secret: "", accountId: null, origin: "vendor_store" });
|
|
226
|
-
const snapshots = normalizeMeters(stamp(probeResult.meters, {
|
|
227
|
-
secret: "",
|
|
228
|
-
accountId: null,
|
|
229
|
-
expiresAtMilliseconds: null,
|
|
230
|
-
origin: "vendor_store"
|
|
231
|
-
}).map(row => ({ ...row, accountId })));
|
|
232
|
-
if (snapshots.length > 0) {
|
|
233
|
-
rows.push({
|
|
234
|
-
provider: spec.provider,
|
|
235
|
-
accountId,
|
|
236
|
-
detected: true,
|
|
237
|
-
status: "read",
|
|
238
|
-
reason: null,
|
|
239
|
-
nextAttemptAt,
|
|
240
|
-
disclosure: spec.disclosure
|
|
241
|
-
});
|
|
242
|
-
reports.push({
|
|
243
|
-
ok: true,
|
|
244
|
-
provider: spec.provider,
|
|
245
|
-
accountId,
|
|
246
|
-
observedAt: options.now,
|
|
247
|
-
snapshots
|
|
248
|
-
});
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
if (!probeResult.ok && probeResult.reason === "not_running") {
|
|
253
|
-
const credential = await readCredential(spec.credentialProvider);
|
|
254
|
-
if (credential.ok && isSharedCodeAssist(credential.credential)) {
|
|
255
|
-
const fallbackResult = await attempt(spec, credential.credential, options);
|
|
256
|
-
if (fallbackResult.outcome !== "ok") {
|
|
257
|
-
const expired = fallbackResult.expiredCredentials === true;
|
|
258
|
-
const nextAttemptAt = expired ? null : nextAttemptInstant(fallbackResult.outcome, options.now, fallbackResult.retryAfterSeconds, existing?.attempts ?? options.lease?.attempts ?? 0);
|
|
259
|
-
if (nextAttemptAt)
|
|
260
|
-
schedule[spec.provider] = { lastAttemptAt: options.now, nextAttemptAt, outcome: fallbackResult.outcome, attempts: (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
|
|
261
|
-
...(refused(fallbackResult.outcome) ? { refusalRevision: await revisionFor(spec) } : {}) };
|
|
262
|
-
rows.push({ provider: spec.provider, detected: true, status: "stale", reason: expired ? CREDENTIAL_FAILURE_SENTENCE.expired : ACQUISITION_OUTCOME_SENTENCE[fallbackResult.outcome], nextAttemptAt, disclosure: spec.disclosure,
|
|
263
|
-
...(expired ? { availability: "expired_credentials" } : fallbackResult.outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : refusalAvailability(fallbackResult.outcome)) });
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
if (fallbackResult.outcome === "ok" && fallbackResult.meters.length > 0) {
|
|
267
|
-
const accountId = spec.accountIdFor?.(credential.credential) ?? acquisitionAccountId(spec.provider, credential.credential);
|
|
268
|
-
const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
|
|
269
|
-
const disclosure = spec.disclosureFor?.(credential.credential) ?? spec.disclosure;
|
|
270
|
-
const nextAttemptAt = nextAttemptInstant("ok", options.now);
|
|
271
|
-
schedule[spec.provider] = {
|
|
272
|
-
lastAttemptAt: options.now,
|
|
273
|
-
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
274
|
-
outcome: "ok"
|
|
275
|
-
};
|
|
276
|
-
const snapshots = normalizeMeters(stamp(fallbackResult.meters, credential.credential).map((entry) => ({
|
|
277
|
-
...entry,
|
|
278
|
-
...(accountId === null ? {} : { accountId }),
|
|
279
|
-
...(accountLabel === null ? {} : { accountLabel })
|
|
280
|
-
})));
|
|
281
|
-
if (snapshots.length > 0) {
|
|
282
|
-
rows.push({
|
|
283
|
-
provider: spec.provider,
|
|
284
|
-
...(accountId === null ? {} : { accountId }),
|
|
285
|
-
detected: true,
|
|
286
|
-
status: "read",
|
|
287
|
-
reason: null,
|
|
288
|
-
nextAttemptAt,
|
|
289
|
-
disclosure
|
|
290
|
-
});
|
|
291
|
-
reports.push({
|
|
292
|
-
ok: true,
|
|
293
|
-
provider: spec.provider,
|
|
294
|
-
...(accountId === null ? {} : { accountId }),
|
|
295
|
-
observedAt: options.now,
|
|
296
|
-
snapshots
|
|
297
|
-
});
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
const nextAttemptAt = nextAttemptInstant("ok", options.now);
|
|
303
|
-
schedule[spec.provider] = {
|
|
304
|
-
lastAttemptAt: options.now,
|
|
305
|
-
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
306
|
-
outcome: "drift"
|
|
307
|
-
};
|
|
308
|
-
rows.push({
|
|
309
|
-
provider: spec.provider,
|
|
310
|
-
detected: true,
|
|
311
|
-
status: "stale",
|
|
312
|
-
reason: AGY_NOT_RUNNING_SENTENCE,
|
|
313
|
-
nextAttemptAt,
|
|
314
|
-
disclosure: spec.disclosure
|
|
315
|
-
});
|
|
316
|
-
return;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
219
|
+
phase = "credential";
|
|
319
220
|
const credential = await readCredential(spec.credentialProvider);
|
|
320
221
|
if (!credential.ok) {
|
|
321
222
|
const absent = credential.reason === "absent";
|
|
223
|
+
delete schedule[spec.provider];
|
|
322
224
|
rows.push({
|
|
323
225
|
...(credential.reason === "expired" ? { availability: "expired_credentials" } : {}),
|
|
324
226
|
provider: spec.provider,
|
|
@@ -334,6 +236,7 @@ export async function runAcquisition(specs, options) {
|
|
|
334
236
|
}
|
|
335
237
|
const held = credential.credential;
|
|
336
238
|
if (credentialExpired(held, Date.parse(options.now))) {
|
|
239
|
+
delete schedule[spec.provider];
|
|
337
240
|
rows.push({ provider: spec.provider, detected: true, status: "stale", accountId: acquisitionAccountId(spec.provider, held), availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure: spec.disclosure });
|
|
338
241
|
return;
|
|
339
242
|
}
|
|
@@ -341,8 +244,22 @@ export async function runAcquisition(specs, options) {
|
|
|
341
244
|
const accountLabel = spec.accountLabelFor?.(held) ?? null;
|
|
342
245
|
const disclosure = spec.disclosureFor?.(held) ?? spec.disclosure;
|
|
343
246
|
const sentence = (outcome) => spec.outcomeSentence?.[outcome] ?? ACQUISITION_OUTCOME_SENTENCE[outcome];
|
|
247
|
+
phase = "request";
|
|
344
248
|
const result = await attempt(spec, held, options);
|
|
249
|
+
if (result.missingCredential === true) {
|
|
250
|
+
delete schedule[spec.provider];
|
|
251
|
+
rows.push({
|
|
252
|
+
provider: spec.provider,
|
|
253
|
+
detected: false,
|
|
254
|
+
status: "not_detected",
|
|
255
|
+
reason: CREDENTIAL_FAILURE_SENTENCE.absent,
|
|
256
|
+
nextAttemptAt: null,
|
|
257
|
+
disclosure
|
|
258
|
+
});
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
345
261
|
if (result.expiredCredentials) {
|
|
262
|
+
delete schedule[spec.provider];
|
|
346
263
|
rows.push({ provider: spec.provider, detected: true, status: "stale", accountId: acquisitionAccountId(spec.provider, held), availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure });
|
|
347
264
|
return;
|
|
348
265
|
}
|
|
@@ -351,7 +268,8 @@ export async function runAcquisition(specs, options) {
|
|
|
351
268
|
attempts: result.outcome === "ok" ? 0 : (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
|
|
352
269
|
lastAttemptAt: options.now,
|
|
353
270
|
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
354
|
-
outcome: result.outcome
|
|
271
|
+
outcome: result.outcome,
|
|
272
|
+
...failure(result.phase ?? "request", result.outcome)
|
|
355
273
|
};
|
|
356
274
|
const snapshots = result.outcome === "ok"
|
|
357
275
|
? normalizeMeters(accountId === null
|
|
@@ -394,14 +312,15 @@ export async function runAcquisition(specs, options) {
|
|
|
394
312
|
...(refused(outcome) ? { refusalRevision: await revisionFor(spec) } : {}),
|
|
395
313
|
lastAttemptAt: options.now,
|
|
396
314
|
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
397
|
-
outcome
|
|
315
|
+
outcome,
|
|
316
|
+
...failure(result.outcome === "ok" ? "parse" : result.phase ?? "request", outcome)
|
|
398
317
|
};
|
|
399
318
|
rows.push({
|
|
400
319
|
provider: spec.provider,
|
|
401
320
|
...(accountId === null ? {} : { accountId }),
|
|
402
321
|
detected: true,
|
|
403
322
|
status: "stale",
|
|
404
|
-
...(outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } :
|
|
323
|
+
...(outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : outcomeAvailability(outcome)),
|
|
405
324
|
reason: sentence(outcome),
|
|
406
325
|
nextAttemptAt,
|
|
407
326
|
disclosure
|
|
@@ -411,28 +330,9 @@ export async function runAcquisition(specs, options) {
|
|
|
411
330
|
let lease = null;
|
|
412
331
|
try {
|
|
413
332
|
if (options.stateDirectory !== undefined && spec.enabled !== false) {
|
|
333
|
+
phase = "lease";
|
|
414
334
|
lease = await acquireMachineLease(spec.provider, options.stateDirectory, options.clock?.() ?? Date.parse(options.now), await revisionFor(spec));
|
|
415
335
|
if (lease === null) {
|
|
416
|
-
// A borrowed Gemini login describes the same quota. Reuse the observation
|
|
417
|
-
// from this round, retaining its age, instead of polling Code Assist twice.
|
|
418
|
-
if (spec.provider === "ANTIGRAVITY") {
|
|
419
|
-
const originalCredential = observedCredentials.get("GEMINI_CLI");
|
|
420
|
-
const credential = await readCredential(spec.credentialProvider);
|
|
421
|
-
const source = reports.find((report) => report.ok && report.provider === "GEMINI_CLI");
|
|
422
|
-
if (credential.ok && originalCredential?.secret === credential.credential.secret && isSharedCodeAssist(credential.credential) && !credentialExpired(credential.credential, Date.parse(options.now)) && source?.ok) {
|
|
423
|
-
const accountId = spec.accountIdFor?.(credential.credential) ?? acquisitionAccountId(spec.provider, credential.credential);
|
|
424
|
-
const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
|
|
425
|
-
const snapshots = source.snapshots.map((snapshot) => ({ ...snapshot, provider: spec.provider,
|
|
426
|
-
...(accountId ? { accountId } : {}), ...(accountLabel ? { accountLabel } : {}) }));
|
|
427
|
-
reports.push({ ...source, provider: spec.provider, ...(accountId ? { accountId } : {}), snapshots });
|
|
428
|
-
const previous = schedule["GEMINI_CLI"];
|
|
429
|
-
if (previous)
|
|
430
|
-
schedule[spec.provider] = previous;
|
|
431
|
-
rows.push({ provider: spec.provider, ...(accountId ? { accountId } : {}), detected: true, status: "read", reason: null,
|
|
432
|
-
nextAttemptAt: previous?.nextAttemptAt ?? null, disclosure: spec.disclosureFor?.(credential.credential) ?? spec.disclosure });
|
|
433
|
-
continue;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
336
|
rows.push({ provider: spec.provider, detected: true, status: "waiting", reason: "another acquisition owns this provider or its retry deadline is pending", nextAttemptAt: null, disclosure: spec.disclosure });
|
|
437
337
|
continue;
|
|
438
338
|
}
|
|
@@ -446,6 +346,9 @@ export async function runAcquisition(specs, options) {
|
|
|
446
346
|
const updated = single.schedule[spec.provider];
|
|
447
347
|
if (updated)
|
|
448
348
|
schedule[spec.provider] = updated;
|
|
349
|
+
else
|
|
350
|
+
delete schedule[spec.provider];
|
|
351
|
+
phase = "persist";
|
|
449
352
|
const entry = schedule[spec.provider];
|
|
450
353
|
if (entry)
|
|
451
354
|
await lease.complete(Date.parse(entry.nextAttemptAt), entry.attempts ?? 0, entry.refusalRevision);
|
|
@@ -458,16 +361,28 @@ export async function runAcquisition(specs, options) {
|
|
|
458
361
|
await readOne(spec);
|
|
459
362
|
}
|
|
460
363
|
}
|
|
461
|
-
catch {
|
|
364
|
+
catch (error) {
|
|
462
365
|
/*
|
|
463
366
|
* The last line of defence. A provider that threw where nothing was
|
|
464
367
|
* supposed to throw is that provider's drift, recorded on the ordinary
|
|
465
|
-
* cadence, and the round carries on to everybody else.
|
|
368
|
+
* cadence, and the round carries on to everybody else. It is stamped
|
|
369
|
+
* with its own instant, phase and code: five unrelated throws must not
|
|
370
|
+
* read as one shared event at the round's start.
|
|
466
371
|
*/
|
|
372
|
+
let failedAt = options.now;
|
|
373
|
+
try {
|
|
374
|
+
if (options.clock)
|
|
375
|
+
failedAt = new Date(options.clock()).toISOString();
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
/* A clock that throws too keeps the round's own instant. */
|
|
379
|
+
}
|
|
467
380
|
schedule[spec.provider] = {
|
|
468
|
-
lastAttemptAt:
|
|
469
|
-
nextAttemptAt: nextAttemptInstant("drift",
|
|
470
|
-
outcome: "drift"
|
|
381
|
+
lastAttemptAt: failedAt,
|
|
382
|
+
nextAttemptAt: nextAttemptInstant("drift", failedAt) ?? failedAt,
|
|
383
|
+
outcome: "drift",
|
|
384
|
+
phase,
|
|
385
|
+
errorClass: errorClassOf(error)
|
|
471
386
|
};
|
|
472
387
|
rows.push({
|
|
473
388
|
provider: spec.provider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAEzH,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAK1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAqIrD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B;IAE3B,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,gBAAgB,CAAC;IACxD,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,cAAc,CAAC;AACxB,CAAC;AASD,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE,GAAW;IAC3E,IAAI,UAAU,CAAC,qBAAqB,KAAK,IAAI,IAAI,UAAU,CAAC,qBAAqB,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACtG,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAsB,CAAC;QACjG,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,IAAqB,EACrB,UAA8B,EAC9B,OAA8B;IAE9B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QAC/E,IAAI,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP;;qDAEyC;YACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACpF,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,IAAI,MAAkC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAiC,EACjC,OAA8B;IAE9B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAgD;QAC5D,GAAG,OAAO,CAAC,QAAQ;KACpB,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc;QAC7C,CAAC,CAAC,QAA6B,EAAE,EAAE,CACjC,yBAAyB,CAAC,QAAQ,EAAE;YAClC,GAAG,OAAO,CAAC,MAAM;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC,CAAC;IACR,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC/E,MAAM,cAAc,GAAG,KAAK,EAAE,QAA6B,EAA6B,EAAE;QACxF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,EAAE;YAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAqB,EAAmB,EAAE;QACnE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjI,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,kBAAkB,CAAC;IACvI,MAAM,mBAAmB,GAAG,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,KAAK,cAAc;QACrF,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE;QAClD,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,IAAqB,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,6BAA6B;gBAC5D,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,EAAE,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,eAAe,KAAK,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpJ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,SAAS;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,EAAE,QAAQ,KAAK,SAAS;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAClD,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI;gBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC9E,IAAI,WAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;oBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;wBAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;wBAC1D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrD,CAAC;YACD,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC/G,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;oBACxB,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,IAAI;oBAC3B,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CACvC,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS;wBACT,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI;wBACZ,aAAa;wBACb,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,IAAI;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS;wBACT,UAAU,EAAE,OAAO,CAAC,GAAG;wBACvB,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC3E,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBACpC,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,KAAK,IAAI,CAAC;wBAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;wBACrL,IAAI,aAAa;4BAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;gCAC3L,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC7F,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC5N,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpP,OAAO;oBACT,CAAC;oBACD,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;wBAC3H,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;wBAClF,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;4BACxB,aAAa,EAAE,OAAO,CAAC,GAAG;4BAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;4BAC3C,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClE,GAAG,KAAK;4BACR,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;4BAC5C,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;yBACnD,CAAC,CAAC,CACJ,CAAC;wBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,IAAI,CAAC,IAAI,CAAC;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,QAAQ,EAAE,IAAI;gCACd,MAAM,EAAE,MAAM;gCACd,MAAM,EAAE,IAAI;gCACZ,aAAa;gCACb,UAAU;6BACX,CAAC,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC;gCACX,EAAE,EAAE,IAAI;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gCAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gCACvB,SAAS;6BACV,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;oBAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;oBAC3C,OAAO,EAAE,OAAO;iBACjB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,wBAAwB;oBAChC,aAAa;oBACb,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,CAAC,MAAM;gBACjB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;gBACzC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC;gBACtD,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH;wEAC4D;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAClQ,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,OAA2B,EAAU,EAAE,CACvD,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACjP,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,CACtC,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EACrE,MAAM,CAAC,iBAAiB,EACxB,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CACnD,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YAChG,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,MAAM,SAAS,GAAwB,MAAM,CAAC,OAAO,KAAK,IAAI;YAC5D,CAAC,CAAC,eAAe,CACb,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,GAAG,KAAK;oBACR,SAAS;oBACT;6DACyC;oBACzC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBACnD,CAAC,CAAC,CACR;YACH,CAAC,CAAC,EAAE,CAAC;QACP;kFAC0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;gBACZ,aAAa;gBACb,UAAU;aACX,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,SAAS;aACV,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAuB,MAAM,CAAC,OAAO,KAAK,IAAI;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YAClE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG;YAC3C,OAAO;SACR,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAC5C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO;YACf,GAAG,CAAC,OAAO,KAAK,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnJ,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;YACzB,aAAa;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAwB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACnE,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChJ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,0EAA0E;oBAC1E,4EAA4E;oBAC5E,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;wBACpC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACjE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;wBACvF,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,EAAE,MAAM,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;4BAClN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;4BAC3H,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;4BAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCAC1F,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;4BACrF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;4BACrG,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,QAAQ;gCAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;4BACjD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;gCACpH,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;4BAChI,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yEAAyE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/M,SAAS;gBACX,CAAC;gBACD,yEAAyE;gBACzE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;gBAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1J,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7L,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,OAAO;oBAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,GAAG,CAAC,YAAY;wBAAE,MAAM,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9J,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP;;;;eAIG;YACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;gBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;gBAC1B,aAAa,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;gBACtE,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,4BAA4B,CAAC,KAAK;gBAC1C,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;AACxJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"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"}
|