codex-multi-auth 1.2.4 → 1.2.6
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/README.md +23 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -24
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +8 -0
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auto-update-checker.d.ts.map +1 -1
- package/dist/lib/auto-update-checker.js +72 -36
- package/dist/lib/auto-update-checker.js.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.js +1 -76
- package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
- package/dist/lib/codex-manager/commands/report.d.ts +4 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +128 -75
- package/dist/lib/codex-manager/commands/report.js.map +1 -1
- package/dist/lib/codex-manager/commands/status.d.ts +4 -1
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +48 -1
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/forecast-report-shared.d.ts +35 -0
- package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +1 -0
- package/dist/lib/codex-manager/forecast-report-shared.js +79 -0
- package/dist/lib/codex-manager/forecast-report-shared.js.map +1 -0
- package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.js +20 -12
- package/dist/lib/codex-manager/repair-commands.js.map +1 -1
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +39 -8
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts +4 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +42 -5
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parallel-probe.d.ts.map +1 -1
- package/dist/lib/parallel-probe.js +28 -1
- package/dist/lib/parallel-probe.js.map +1 -1
- package/dist/lib/preemptive-quota-scheduler.d.ts.map +1 -1
- package/dist/lib/preemptive-quota-scheduler.js +16 -6
- package/dist/lib/preemptive-quota-scheduler.js.map +1 -1
- package/dist/lib/proactive-refresh.d.ts.map +1 -1
- package/dist/lib/proactive-refresh.js +16 -5
- package/dist/lib/proactive-refresh.js.map +1 -1
- package/dist/lib/quota-cache.d.ts.map +1 -1
- package/dist/lib/quota-cache.js +36 -30
- package/dist/lib/quota-cache.js.map +1 -1
- package/dist/lib/quota-probe.d.ts.map +1 -1
- package/dist/lib/quota-probe.js +5 -0
- package/dist/lib/quota-probe.js.map +1 -1
- package/dist/lib/request/failure-policy.js +1 -1
- package/dist/lib/request/failure-policy.js.map +1 -1
- package/dist/lib/request/fetch-helpers.js +12 -4
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/rate-limit-backoff.d.ts +24 -4
- package/dist/lib/request/rate-limit-backoff.d.ts.map +1 -1
- package/dist/lib/request/rate-limit-backoff.js +84 -19
- package/dist/lib/request/rate-limit-backoff.js.map +1 -1
- package/dist/lib/request/request-attempt-budget.d.ts +24 -0
- package/dist/lib/request/request-attempt-budget.d.ts.map +1 -0
- package/dist/lib/request/request-attempt-budget.js +49 -0
- package/dist/lib/request/request-attempt-budget.js.map +1 -0
- package/dist/lib/request/request-resilience.d.ts +10 -0
- package/dist/lib/request/request-resilience.d.ts.map +1 -0
- package/dist/lib/request/request-resilience.js +80 -0
- package/dist/lib/request/request-resilience.js.map +1 -0
- package/dist/lib/request/response-metadata.js +1 -1
- package/dist/lib/request/response-metadata.js.map +1 -1
- package/dist/lib/request/stream-failover.d.ts +5 -1
- package/dist/lib/request/stream-failover.d.ts.map +1 -1
- package/dist/lib/request/stream-failover.js +8 -1
- package/dist/lib/request/stream-failover.js.map +1 -1
- package/dist/lib/runtime/live-sync-entry.d.ts +7 -0
- package/dist/lib/runtime/live-sync-entry.d.ts.map +1 -1
- package/dist/lib/runtime/live-sync-entry.js +4 -0
- package/dist/lib/runtime/live-sync-entry.js.map +1 -1
- package/dist/lib/runtime/live-sync.d.ts +3 -0
- package/dist/lib/runtime/live-sync.d.ts.map +1 -1
- package/dist/lib/runtime/live-sync.js +17 -3
- package/dist/lib/runtime/live-sync.js.map +1 -1
- package/dist/lib/runtime/runtime-observability.d.ts +46 -0
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -0
- package/dist/lib/runtime/runtime-observability.js +167 -0
- package/dist/lib/runtime/runtime-observability.js.map +1 -0
- package/dist/lib/runtime/runtime-services.d.ts +3 -0
- package/dist/lib/runtime/runtime-services.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-services.js +19 -7
- package/dist/lib/runtime/runtime-services.js.map +1 -1
- package/dist/lib/schemas.d.ts +11 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +5 -1
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/session-affinity.d.ts +4 -1
- package/dist/lib/session-affinity.d.ts.map +1 -1
- package/dist/lib/session-affinity.js +26 -1
- package/dist/lib/session-affinity.js.map +1 -1
- package/dist/lib/storage/account-clear.d.ts.map +1 -1
- package/dist/lib/storage/account-clear.js +43 -13
- package/dist/lib/storage/account-clear.js.map +1 -1
- package/dist/lib/storage/health.d.ts +22 -0
- package/dist/lib/storage/health.d.ts.map +1 -0
- package/dist/lib/storage/health.js +15 -0
- package/dist/lib/storage/health.js.map +1 -0
- package/dist/lib/storage/migrations.d.ts +1 -1
- package/dist/lib/storage/migrations.d.ts.map +1 -1
- package/dist/lib/storage.d.ts +3 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +108 -4
- package/dist/lib/storage.js.map +1 -1
- package/package.json +1 -1
- package/scripts/codex-multi-auth.js +1 -1
- package/scripts/codex.js +205 -20
- package/dist/lib/runtime/metrics.d.ts +0 -29
- package/dist/lib/runtime/metrics.d.ts.map +0 -1
- package/dist/lib/runtime/metrics.js +0 -97
- package/dist/lib/runtime/metrics.js.map +0 -1
package/dist/lib/quota-probe.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CODEX_BASE_URL } from "./constants.js";
|
|
2
2
|
import { createCodexHeaders, getUnsupportedCodexModelInfo } from "./request/fetch-helpers.js";
|
|
3
3
|
import { getCodexInstructions } from "./prompts/codex.js";
|
|
4
|
+
import { mutateRuntimeObservabilitySnapshot } from "./runtime/runtime-observability.js";
|
|
4
5
|
import { isRecord } from "./utils.js";
|
|
5
6
|
const DEFAULT_QUOTA_PROBE_MODELS = ["gpt-5-codex", "gpt-5.3-codex", "gpt-5.2-codex"];
|
|
6
7
|
/**
|
|
@@ -315,6 +316,10 @@ export async function fetchCodexQuotaSnapshot(options) {
|
|
|
315
316
|
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
316
317
|
let response;
|
|
317
318
|
try {
|
|
319
|
+
mutateRuntimeObservabilitySnapshot((snapshot) => {
|
|
320
|
+
snapshot.diagnosticProbeRequests += 1;
|
|
321
|
+
snapshot.runtimeMetrics.diagnosticProbeRequests += 1;
|
|
322
|
+
});
|
|
318
323
|
response = await fetch(`${CODEX_BASE_URL}/codex/responses`, {
|
|
319
324
|
method: "POST",
|
|
320
325
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-probe.js","sourceRoot":"","sources":["../../lib/quota-probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-probe.js","sourceRoot":"","sources":["../../lib/quota-probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ export function evaluateFailurePolicy(input, overrides) {
|
|
|
86
86
|
markRateLimited: false,
|
|
87
87
|
removeAccount: false,
|
|
88
88
|
cooldownMs,
|
|
89
|
-
cooldownReason: cooldownMs > 0 ? "
|
|
89
|
+
cooldownReason: cooldownMs > 0 ? "server-error" : undefined,
|
|
90
90
|
retrySameAccount,
|
|
91
91
|
retryDelayMs: retrySameAccount ? 500 : undefined,
|
|
92
92
|
handoffStrategy: "hard",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-policy.js","sourceRoot":"","sources":["../../../lib/request/failure-policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"failure-policy.js","sourceRoot":"","sources":["../../../lib/request/failure-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -687,19 +687,27 @@ function mapUsageLimit404WithBody(response, bodyText) {
|
|
|
687
687
|
if (!bodyText)
|
|
688
688
|
return null;
|
|
689
689
|
let code = "";
|
|
690
|
+
let type = "";
|
|
690
691
|
try {
|
|
691
692
|
const parsed = JSON.parse(bodyText);
|
|
692
|
-
code = (parsed?.error?.code ??
|
|
693
|
+
code = (parsed?.error?.code ?? "").toString();
|
|
694
|
+
type = (parsed?.error?.type ?? "").toString();
|
|
693
695
|
}
|
|
694
696
|
catch {
|
|
695
697
|
code = "";
|
|
698
|
+
type = "";
|
|
696
699
|
}
|
|
700
|
+
const normalizedSignals = [code, type]
|
|
701
|
+
.map((value) => value.toLowerCase())
|
|
702
|
+
.filter((value) => value.length > 0);
|
|
697
703
|
// Check for entitlement errors first - these should NOT be treated as rate limits
|
|
698
|
-
if (isEntitlementError(
|
|
704
|
+
if (isEntitlementError(normalizedSignals.join(" "), bodyText)) {
|
|
699
705
|
return createEntitlementErrorResponse(bodyText);
|
|
700
706
|
}
|
|
701
|
-
|
|
702
|
-
|
|
707
|
+
// Only structured quota-limit codes should be remapped from 404 to 429.
|
|
708
|
+
// Free-text 404 bodies remain untouched, but known quota/rate-limit codes
|
|
709
|
+
// should still preserve retry semantics for callers.
|
|
710
|
+
if (!normalizedSignals.some((value) => value.includes("usage_limit") || value.includes("rate_limit_exceeded"))) {
|
|
703
711
|
return null;
|
|
704
712
|
}
|
|
705
713
|
const headers = new Headers(response.headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-helpers.js","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,+BAA+B,GAE/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACC,cAAc,EACd,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,UAAU,GACjB,MAAM,iBAAiB,CAAC;AA2BzB,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC1E,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;AAElC,MAAM,oCAAoC,GAAG,0CAA0C,CAAC;AACxF,MAAM,uCAAuC,GAC5C,iEAAiE,CAAC;AACnE,MAAM,oCAAoC,GACzC,iFAAiF,CAAC;AACnF,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACxD,MAAM,4BAA4B,GACjC,sEAAsE,CAAC;AACxE,MAAM,8BAA8B,GACnC,oEAAoE,CAAC;AACtE,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9F,MAAM,mBAAmB,GAA2B;IACnD,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAMlE,MAAM,CAAC,MAAM,wCAAwC,GAA6B;IACjF,qBAAqB,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;IACxE,eAAe,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;IACjD,eAAe,EAAE,CAAC,aAAa,CAAC;IAChC,eAAe,EAAE,CAAC,aAAa,CAAC;CAChC,CAAC;AAwBF,SAAS,qBAAqB,CAAC,KAAyB;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC;IACX,OAAO,QAAQ,CAAC,OAAO,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,sBAAsB,CAC9B,WAAiD;IAEjD,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa;YAAE,SAAS;QAC7B,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM;aAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aAC5C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QACvD,MAAM,gBAAgB,GAAG,MAAM;aAC7B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aAC5C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,QAAgB;IACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CACjC,oFAAoF,CACpF,CAAC;IACF,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC7E,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAc,EAAE,QAAgB;IAC1E,IAAI,MAAM,KAAK,WAAW,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,SAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,2BAA2B,GAChC,OAAO,UAAU,CAAC,iBAAiB,KAAK,QAAQ;QAC/C,CAAC,CAAC,UAAU,CAAC,iBAAiB;QAC9B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,gBAAgB,GAAG,2BAA2B;QACnD,CAAC,CAAC,qBAAqB,CAAC,2BAA2B,CAAC;QACpD,CAAC,CAAC,oCAAoC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,aAAa,GAClB,IAAI,KAAK,oCAAoC;QAC7C,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3E,OAAO;QACN,aAAa;QACb,IAAI;QACJ,OAAO;QACP,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;KAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,OAA+C;IAE/C,IAAI,CAAC,OAAO,CAAC,+BAA+B;QAAE,OAAO,SAAS,CAAC;IAE/D,MAAM,WAAW,GAAG,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,cAAc,IAAI,WAAW,CAAC,gBAAgB,CAAC;IACpE,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,UAAU;YAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,iCAAiC;YAC7C,YAAY,KAAK,eAAe;YAChC,MAAM,KAAK,eAAe,EAAE,CAAC;YAC7B,SAAS;QACV,CAAC;QACD,IAAI,MAAM,KAAK,YAAY;YAAE,SAAS;QACtC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QACpC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uCAAuC,CACtD,cAAkC,EAClC,SAAkB;IAElB,IAAI,qBAAqB,CAAC,cAAc,CAAC,KAAK,eAAe,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,CACN,oCAAoC,CAAC;QACpC,cAAc;QACd,SAAS;QACT,qEAAqE;QACrE,6DAA6D;QAC7D,eAAe,EAAE,CAAC,aAAa,CAAC;QAChC,+BAA+B,EAAE,IAAI;QACrC,iCAAiC,EAAE,IAAI;KACvC,CAAC,KAAK,eAAe,CACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAAgB;IACzD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,2EAA2E;IAC3E,gFAAgF;IAChF,OAAO,6EAA6E,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAChC,MAAc,EACd,IAAa,EACb,QAAgB;IAEhB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,GAAG,cAAc,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IAErE,MAAM,gBAAgB,GAAG;QACvB,yDAAyD;QACzD,mFAAmF;QACnF,yEAAyE;QACzE,yEAAyE;QACzE,8CAA8C;QAC9C,mDAAmD;KACpD,CAAC;IAEI,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACpB,CAAC;IACT,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;QAC5B,oBAAoB;QACpB,mBAAmB;QACnB,sBAAsB;QACtB,kBAAkB;QAClB,iBAAiB;QACjB,uBAAuB;KAC9B,CAAC,CAAC;IACH,IAAI,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,gBAAgB,GAAG,cAAc;SAC9B,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAiB;IACxD,MAAM,OAAO,GACL,2DAA2D;QAC3D,yGAAyG;QACzG,oGAAoG,CAAC;IAE7G,MAAM,OAAO,GAAG;QACR,KAAK,EAAE;YACC,OAAO;YACP,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,oBAAoB;SACjC;KACR,CAAC;IAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACrC,MAAM,EAAE,GAAG,EAAE,+BAA+B;QAC5C,UAAU,EAAE,WAAW;QACvB,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;KACrE,CAAC,CAAC;AACX,CAAC;AAqCD,SAAS,+BAA+B,CAAC,KAAc;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/F,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAU,EAAE,MAAM,GAAG,CAAC;IACxD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;AAChD,CAAC;AAED,SAAS,yBAAyB,CACjC,MAAgD;IAEhD,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB;YACtB,OAAO,IAAI,CAAC;QACb,KAAK,iBAAiB;YACrB,OAAO,KAAK,CAAC;QACd,KAAK,YAAY;YAChB,OAAO,CAAC,CACP,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC,WAAW;gBAC7C,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC,YAAY;gBAC9C,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC,SAAS,CAC3C,CAAC;QACH;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAIjB,CAAC;IACF,MAAM,IAAI,GACT,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QACjC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC9B,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,WAAiB,EACjB,MAAmB;IAEnB,MAAM,UAAU,GAAI,MAAmC,CAAC,IAAI,CAAC;IAC7D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC,oBAAoB,EAAE;YAC7D,SAAS,EAAE,KAAK;SAChB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC,oBAAoB,EAAE;YAC7D,SAAS,EAAE,yBAAyB,CAAC,aAAa,CAAC;YACnD,OAAO,EAAE;gBACR,oBAAoB,EAAE,aAAa,CAAC,MAAM;gBAC1C,UAAU,EAAE,aAAa,CAAC,UAAU;aACpC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,CAAC,GAAG,CAAC;YACpB,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,YAAY,EAAE,IAAI;aAClB;SACD,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC,oBAAoB,EAAE;YAC7D,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC;YAC5C,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAC1C,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QAC5C,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClD,OAAO,KAAK,CAAC,GAAG,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC;QAC5E,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtB,MAAM,cAAc,GACnB,aAAa,KAAK,sBAAsB;QACxC,aAAa,CAAC,UAAU,CAAC,GAAG,sBAAsB,GAAG,CAAC;QACrD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,GAAG,sBAAsB,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;IAEtG,SAAS,CAAC,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IACpD,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;IACxB,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;IACxB,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAC5C,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;IAEpC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,GAAsB,EAAE,GAAW;IACxD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAC5B,GAAsB,EACtB,QAAgB,EAChB,QAAgB;IAEhB,IAAI,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAChD,OAAO,YAAY;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;YACN,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;YAChC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAQ,EAAE,YAAgC;IAC1E,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,YAAY,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErF,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QAEhD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACb,CAAC;YACD,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CACxC,GAAW,EACX,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IACjD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAA+B,CAAC;IAC1E,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAChD,OAAO,sBAAsB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAyB,CAAC;QACjF,sBAAsB,CAAC,KAAK,EAAE,CAAC;QAE/B,MAAM,OAAO,CAAC,UAAU,CACvB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACpC,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACF,CAAC,CAAC,CACF,CAAC;IACH,CAAC;AACF,CAAC;AAED,eAAe,CAAC,2BAA2B,CAAC,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CACvC,GAAW,EACX,IAAiC,EACjC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO;QACN,GAAG,YAAY;QACf,UAAU,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAC9C,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,IAA6B,EAC7B,GAAW,EACX,UAAsB,EACtB,SAAS,GAAG,IAAI,EAChB,UAAoC,EACpC,OAMC;IAED,MAAM,aAAa,GAClB,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,IAAI;QACnB,OAAO,UAAU,KAAK,QAAQ;QAC9B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAEpD,IAAI,CAAC;QACJ,kEAAkE;QAClE,IAAI,IAAiB,CAAC;QACtB,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,GAAG,UAAyB,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAgB,CAAC;QAC7C,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,wBAAwB,GAAG,+BAA+B,CAC/D,IAAI,EACJ,OAAO,EAAE,WAAW,IAAI,KAAK,EAC7B,OAAO,EAAE,mBAAmB,IAAI,QAAQ,EACxC,OAAO,EAAE,wBAAwB,IAAI,EAAE,CACvC,CAAC;QAEF,iEAAiE;QACjE,wDAAwD;QACxD,MAAM,eAAe,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QAEpD,uBAAuB;QACvB,UAAU,CAAC,UAAU,CAAC,gBAAgB,EAAE;YACvC,GAAG;YACH,aAAa;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACtB,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;YAC/B,SAAS;YACT,IAAI,EAAE,IAA0C;SAChD,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAEtE,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,oBAAoB,CACjD,IAAI,EACJ,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,OAAO,EAAE,WAAW,IAAI,KAAK,EAC7B,OAAO,EAAE,mBAAmB,IAAI,QAAQ,EACxC,OAAO,EAAE,wBAAwB,IAAI,EAAE,EACvC,OAAO,EAAE,6BAA6B,IAAI,KAAK,EAC/C,OAAO,EAAE,wBAAwB,IAAI,KAAK,CAC1C,CAAC;QAEF,0BAA0B;QAC1B,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE;YACtC,GAAG;YACH,aAAa;YACb,eAAe,EAAE,eAAe,CAAC,KAAK;YACtC,WAAW;YACX,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK;YACjC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK;YACjC,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM;YAC1C,SAAS,EAAE,eAAe,CAAC,SAAoB;YAC/C,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,SAAS;YAC9C,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,IAAI,EAAE,eAAqD;SAC3D,CAAC,CAAC;QAEJ,OAAO;YACJ,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;YACvE,4BAA4B,EAC3B,OAAO,EAAE,6BAA6B,KAAK,IAAI;gBAC/C,eAAe,CAAC,UAAU,KAAK,IAAI;gBAClC,CAAC,CAAC,wBAAwB,CAAC,IAAI;gBAC/B,CAAC,CAAC,SAAS;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,IACC,CAAC,YAAY,KAAK;YAClB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAChD,CAAC;YACF,MAAM,CAAC,CAAC;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,cAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAkBD,MAAM,UAAU,kBAAkB,CAC9B,YAAgE,EAChE,SAAkB,EAClB,WAAoB,EACpB,IAAgC;IAEnC,MAAM,cAAc,GACnB,OAAO,SAAS,KAAK,WAAW;QAChC,OAAO,WAAW,KAAK,WAAW;QAClC,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,cAAc;QACjC,CAAC,CAAE,YAAyC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACR,MAAM,YAAY,GAAG,cAAc;QAClC,CAAC,CAAC,WAAW,EAAE,IAAI;QACnB,CAAC,CAAE,YAAwC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,CAAC,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,8BAA8B;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,mBAAmB,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,YAAY,EAAE,cAAc,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACjC,QAAkB,EAClB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5D,oEAAoE;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,QAAQ,CAAC;IACzC,MAAM,SAAS,GAAG,4BAA4B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAExE,IAAI,SAAkB,CAAC;IACvB,IAAI,CAAC;QACG,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACD,SAAS,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,qBAAqB,CACrC,SAAS,EACT,QAAQ,EACR,aAAa,CAAC,UAAU,EACxB,aAAa,CAAC,MAAM,EACpB,WAAW,CAClB,CAAC;IACF,MAAM,aAAa,GAAG,uBAAuB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAE9E,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,CAAC,0CAA0C,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE;QAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,WAAW;KAClB,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,QAAkB,EAClB,WAAoB,EACpB,OAGF;IAEE,2CAA2C;IAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,wBAAwB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/D,iEAAiE;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,2DAA2D;IAC3D,OAAO,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAkB;IACtC,IAAI,CAAC;QACG,OAAO,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACD,OAAO,EAAE,CAAC;IAClB,CAAC;AACT,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAkB,EAAE,QAAgB;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAElC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA0D,CAAC;QAC7F,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,GAAG,EAAE,CAAC;IACX,CAAC;IAED,kFAAkF;IAClF,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,CAAC,sDAAsD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACtB,MAAM,EAAE,WAAW,CAAC,iBAAiB;QACrC,UAAU,EAAE,mBAAmB;QAC/B,OAAO;KACd,CAAC,CAAC;AACX,CAAC;AAED,SAAS,4BAA4B,CAC7B,QAAkB,EAClB,QAAgB;IAEhB,MAAM,iBAAiB,GACf,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,iBAAiB,CAAC;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE5C,0DAA0D;IAC1D,IAAI,kBAAkB,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,YAAY,GACV,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;IAE/D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAaD,SAAS,kBAAkB,CAC1B,IAAY;IAOZ,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAYD;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CACtB,SAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,MAAc,EACd,WAA8B;IAE9B,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,gBAAgB,GACnC,oCAAoC,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC;QACnE,MAAM,OAAO,GAAiB;YAC5B,KAAK,EAAE;gBACL,OAAO,EACL,cAAc,gBAAgB,gFAAgF;oBAC9G,6EAA6E;oBAC7E,0HAA0H;oBAC1H,wFAAwF;oBACxF,uFAAuF;gBACzF,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,oCAAoC;gBAC1C,iBAAiB,EAAE,gBAAgB;aACpC;SACF,CAAC;QACU,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;QACnC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAiB;gBACtB,KAAK,EAAE;oBACC,OAAO,EAAE,UAAU,CAAC,OAAO;iBAClC;aACR,CAAC;YACF,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzE,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,CAAC;YACD,IAAI,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC;YAClG,CAAC;YACD,OAAO,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,GAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACxE,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,CAAC;YACD,IAAI,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC;YAClG,CAAC;YACD,OAAO,OAAO,CAAC;QACvB,CAAC;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,EAAE,CAAC;QACN,MAAM,OAAO,GAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC;QAClG,CAAC;QACD,OAAO,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACT,MAAM,OAAO,GAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;QACjE,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC;QAClG,CAAC;QACD,OAAO,OAAO,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;IACvE,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC;IAClG,CAAC;IACD,OAAO,OAAO,CAAC;AACvB,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAkB,EAAE,OAAqB;IAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;IAC/D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,CAAC;IACF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CACzB,QAAkB,EAClB,QAAgB,EAChB,UAAqF;IAErF,IAAI,UAAU,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,EAAE,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC5E,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;IAC5C,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClE,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,UAAU,CAAC;QACnB,CAAC;IACF,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,cAAc,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,wBAAwB,GAAG;QAChC,qCAAqC;QACrC,uCAAuC;KACvC,CAAC;IACF,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,MAAM,cAAc,GAAG;QACtB,0BAA0B;QAC1B,4BAA4B;QAC5B,mBAAmB;KACnB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI;YAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,SAAS,GACd,UAAU,CAAC,QAAQ,GAAG,cAAc;YACnC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI;YAC5B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACxB,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI;YAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzE,IAAI,2BAA2B,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,2BAA2B,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,GAAW;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GACf,IAAI,KAAK,QAAQ;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAClB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,KAAK,MAAM;wBAChB,CAAC,CAAC,EAAE,GAAG,MAAM;wBACb,CAAC,CAAC,IAAI,KAAK,KAAK;4BACf,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM;4BAClB,CAAC,CAAC,CAAC,CAAC;YACT,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,qBAAqB,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtE,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IACC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,CAAC;QACV,MAAM,GAAG,EAAE;QACX,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,CAAC;QACV,MAAM,GAAG,EAAE;QACX,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,EACvC,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;IACzB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,EAAE,CAAC;IACd,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC3C,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,qBAAqB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IACxB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CACxB,QAAkB,EAClB,OAA8B;IAE9B,MAAM,SAAS,GACP,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACzC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,SAAS,CAAC;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAE1D,MAAM,WAAW,GAAqB;QAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,SAAS;QACT,KAAK;QACL,aAAa,EAAE,OAAO,EAAE,oBAAoB;QAC5C,QAAQ,EAAE,OAAO,EAAE,QAAQ;KAClC,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,GAA6B,CAAC,CAAC;QAC1D,CAAC;IACT,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC"}
|
|
1
|
+
{"version":3,"file":"fetch-helpers.js","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,30 @@ export interface RateLimitBackoffResult {
|
|
|
5
5
|
isDuplicate: boolean;
|
|
6
6
|
reason?: RateLimitReason;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
interface RateLimitBackoffConfig {
|
|
9
|
+
dedupWindowMs: number;
|
|
10
|
+
stateResetMs: number;
|
|
11
|
+
maxBackoffMs: number;
|
|
12
|
+
shortRetryThresholdMs: number;
|
|
13
|
+
}
|
|
14
|
+
type StableAccountKey = string | null | undefined;
|
|
15
|
+
export declare function configureRateLimitBackoff(overrides?: Partial<RateLimitBackoffConfig>): void;
|
|
16
|
+
export declare function resetRateLimitBackoffConfig(): void;
|
|
17
|
+
export declare function getRateLimitShortRetryThresholdMs(): number;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum number of consecutive short-cooldown 429 retries before
|
|
20
|
+
* falling through to the long-cooldown rotation path.
|
|
21
|
+
*
|
|
22
|
+
* Without this bound, an upstream that perpetually returns short
|
|
23
|
+
* Retry-After values (≤ RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS) would
|
|
24
|
+
* keep the request loop spinning on the same account indefinitely.
|
|
25
|
+
*/
|
|
26
|
+
export declare const MAX_SHORT_RETRY_ATTEMPTS = 3;
|
|
9
27
|
/**
|
|
10
28
|
* Compute rate-limit backoff for an account+quota key.
|
|
11
29
|
*/
|
|
12
|
-
export declare function getRateLimitBackoff(accountIndex: number, quotaKey: string, serverRetryAfterMs: number | null | undefined): RateLimitBackoffResult;
|
|
13
|
-
export declare function resetRateLimitBackoff(accountIndex: number, quotaKey: string): void;
|
|
30
|
+
export declare function getRateLimitBackoff(accountIndex: number, quotaKey: string, serverRetryAfterMs: number | null | undefined, stableAccountKey?: StableAccountKey): RateLimitBackoffResult;
|
|
31
|
+
export declare function resetRateLimitBackoff(accountIndex: number, quotaKey: string, stableAccountKey?: StableAccountKey): void;
|
|
14
32
|
export declare function clearRateLimitBackoffState(): void;
|
|
15
33
|
export declare function calculateBackoffMs(baseDelayMs: number, attempt: number, reason?: RateLimitReason): number;
|
|
16
34
|
export interface RateLimitBackoffWithReasonParams {
|
|
@@ -18,7 +36,9 @@ export interface RateLimitBackoffWithReasonParams {
|
|
|
18
36
|
quotaKey: string;
|
|
19
37
|
serverRetryAfterMs: number | null | undefined;
|
|
20
38
|
reason?: RateLimitReason;
|
|
39
|
+
stableAccountKey?: StableAccountKey;
|
|
21
40
|
}
|
|
22
41
|
export declare function getRateLimitBackoffWithReason(params: RateLimitBackoffWithReasonParams): RateLimitBackoffResult;
|
|
23
|
-
export declare function getRateLimitBackoffWithReason(accountIndex: number, quotaKey: string, serverRetryAfterMs: number | null | undefined, reason?: RateLimitReason): RateLimitBackoffResult;
|
|
42
|
+
export declare function getRateLimitBackoffWithReason(accountIndex: number, quotaKey: string, serverRetryAfterMs: number | null | undefined, reason?: RateLimitReason, stableAccountKey?: StableAccountKey): RateLimitBackoffResult;
|
|
43
|
+
export {};
|
|
24
44
|
//# sourceMappingURL=rate-limit-backoff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit-backoff.d.ts","sourceRoot":"","sources":["../../../lib/request/rate-limit-backoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limit-backoff.d.ts","sourceRoot":"","sources":["../../../lib/request/rate-limit-backoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;CACzB;AAmBD,UAAU,sBAAsB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED,KAAK,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AASlD,wBAAgB,yBAAyB,CACxC,SAAS,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC7C,IAAI,CA4BN;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AA2C1C;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,gBAAgB,CAAC,EAAE,gBAAgB,GACjC,sBAAsB,CA6CxB;AAED,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,gBAAgB,GACjC,IAAI,CAIN;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AASD,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,eAA2B,GACjC,MAAM,CAOR;AAED,MAAM,WAAW,gCAAgC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,wBAAgB,6BAA6B,CAC5C,MAAM,EAAE,gCAAgC,GACtC,sBAAsB,CAAC;AAC1B,wBAAgB,6BAA6B,CAC5C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,MAAM,CAAC,EAAE,eAAe,EACxB,gBAAgB,CAAC,EAAE,gBAAgB,GACjC,sBAAsB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_PLUGIN_CONFIG } from "../config.js";
|
|
1
2
|
/**
|
|
2
3
|
* Rate limit state tracking with time-window deduplication.
|
|
3
4
|
*
|
|
@@ -5,19 +6,75 @@
|
|
|
5
6
|
* - Deduplicate concurrent 429s so parallel requests don't over-increment backoff.
|
|
6
7
|
* - Reset backoff after a quiet period.
|
|
7
8
|
*/
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
9
|
+
const DEFAULT_RATE_LIMIT_DEDUP_WINDOW_MS = DEFAULT_PLUGIN_CONFIG.rateLimitDedupWindowMs ?? 2_000;
|
|
10
|
+
const DEFAULT_RATE_LIMIT_STATE_RESET_MS = DEFAULT_PLUGIN_CONFIG.rateLimitStateResetMs ?? 120_000;
|
|
11
|
+
const DEFAULT_MAX_BACKOFF_MS = DEFAULT_PLUGIN_CONFIG.rateLimitMaxBackoffMs ?? 60_000;
|
|
12
|
+
const DEFAULT_RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS = DEFAULT_PLUGIN_CONFIG.rateLimitShortRetryThresholdMs ?? 5_000;
|
|
13
|
+
const RATE_LIMIT_BACKOFF_JITTER_FACTOR = 0.2;
|
|
14
|
+
let rateLimitBackoffConfig = {
|
|
15
|
+
dedupWindowMs: DEFAULT_RATE_LIMIT_DEDUP_WINDOW_MS,
|
|
16
|
+
stateResetMs: DEFAULT_RATE_LIMIT_STATE_RESET_MS,
|
|
17
|
+
maxBackoffMs: DEFAULT_MAX_BACKOFF_MS,
|
|
18
|
+
shortRetryThresholdMs: DEFAULT_RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS,
|
|
19
|
+
};
|
|
20
|
+
export function configureRateLimitBackoff(overrides = {}) {
|
|
21
|
+
if (typeof overrides.dedupWindowMs === "number" &&
|
|
22
|
+
Number.isFinite(overrides.dedupWindowMs)) {
|
|
23
|
+
rateLimitBackoffConfig.dedupWindowMs = Math.max(0, Math.floor(overrides.dedupWindowMs));
|
|
24
|
+
}
|
|
25
|
+
if (typeof overrides.stateResetMs === "number" &&
|
|
26
|
+
Number.isFinite(overrides.stateResetMs)) {
|
|
27
|
+
rateLimitBackoffConfig.stateResetMs = Math.max(1_000, Math.floor(overrides.stateResetMs));
|
|
28
|
+
}
|
|
29
|
+
if (typeof overrides.maxBackoffMs === "number" &&
|
|
30
|
+
Number.isFinite(overrides.maxBackoffMs)) {
|
|
31
|
+
rateLimitBackoffConfig.maxBackoffMs = Math.max(1_000, Math.floor(overrides.maxBackoffMs));
|
|
32
|
+
}
|
|
33
|
+
if (typeof overrides.shortRetryThresholdMs === "number" &&
|
|
34
|
+
Number.isFinite(overrides.shortRetryThresholdMs)) {
|
|
35
|
+
rateLimitBackoffConfig.shortRetryThresholdMs = Math.max(0, Math.floor(overrides.shortRetryThresholdMs));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function resetRateLimitBackoffConfig() {
|
|
39
|
+
rateLimitBackoffConfig = {
|
|
40
|
+
dedupWindowMs: DEFAULT_RATE_LIMIT_DEDUP_WINDOW_MS,
|
|
41
|
+
stateResetMs: DEFAULT_RATE_LIMIT_STATE_RESET_MS,
|
|
42
|
+
maxBackoffMs: DEFAULT_MAX_BACKOFF_MS,
|
|
43
|
+
shortRetryThresholdMs: DEFAULT_RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function getRateLimitShortRetryThresholdMs() {
|
|
47
|
+
return rateLimitBackoffConfig.shortRetryThresholdMs;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Maximum number of consecutive short-cooldown 429 retries before
|
|
51
|
+
* falling through to the long-cooldown rotation path.
|
|
52
|
+
*
|
|
53
|
+
* Without this bound, an upstream that perpetually returns short
|
|
54
|
+
* Retry-After values (≤ RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS) would
|
|
55
|
+
* keep the request loop spinning on the same account indefinitely.
|
|
56
|
+
*/
|
|
57
|
+
export const MAX_SHORT_RETRY_ATTEMPTS = 3;
|
|
12
58
|
const rateLimitStateByAccountQuota = new Map();
|
|
59
|
+
function resolveRateLimitStateKey(accountIndex, quotaKey, stableAccountKey) {
|
|
60
|
+
const normalizedStableAccountKey = stableAccountKey?.trim();
|
|
61
|
+
const accountStateKey = normalizedStableAccountKey && normalizedStableAccountKey.length > 0
|
|
62
|
+
? normalizedStableAccountKey
|
|
63
|
+
: `slot:${accountIndex}`;
|
|
64
|
+
return `${accountStateKey}:${quotaKey}`;
|
|
65
|
+
}
|
|
13
66
|
function normalizeDelayMs(value, fallback) {
|
|
14
67
|
const candidate = typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
|
15
68
|
return Math.max(0, Math.floor(candidate));
|
|
16
69
|
}
|
|
70
|
+
function addBackoffJitter(baseMs) {
|
|
71
|
+
const jitter = baseMs * RATE_LIMIT_BACKOFF_JITTER_FACTOR * (Math.random() * 2 - 1);
|
|
72
|
+
return Math.max(0, Math.floor(baseMs + jitter));
|
|
73
|
+
}
|
|
17
74
|
function pruneStaleRateLimitState() {
|
|
18
75
|
const now = Date.now();
|
|
19
76
|
for (const [key, state] of rateLimitStateByAccountQuota) {
|
|
20
|
-
if (now - state.lastAt >
|
|
77
|
+
if (now - state.lastAt > rateLimitBackoffConfig.stateResetMs) {
|
|
21
78
|
rateLimitStateByAccountQuota.delete(key);
|
|
22
79
|
}
|
|
23
80
|
}
|
|
@@ -25,37 +82,39 @@ function pruneStaleRateLimitState() {
|
|
|
25
82
|
/**
|
|
26
83
|
* Compute rate-limit backoff for an account+quota key.
|
|
27
84
|
*/
|
|
28
|
-
export function getRateLimitBackoff(accountIndex, quotaKey, serverRetryAfterMs) {
|
|
85
|
+
export function getRateLimitBackoff(accountIndex, quotaKey, serverRetryAfterMs, stableAccountKey) {
|
|
29
86
|
pruneStaleRateLimitState();
|
|
30
87
|
const now = Date.now();
|
|
31
|
-
const stateKey =
|
|
88
|
+
const stateKey = resolveRateLimitStateKey(accountIndex, quotaKey, stableAccountKey);
|
|
32
89
|
const previous = rateLimitStateByAccountQuota.get(stateKey);
|
|
33
90
|
const baseDelay = normalizeDelayMs(serverRetryAfterMs, 1000);
|
|
34
|
-
if (previous && now - previous.lastAt <
|
|
35
|
-
const backoffDelay = Math.min(baseDelay * Math.pow(2, previous.consecutive429 - 1), MAX_BACKOFF_MS);
|
|
91
|
+
if (previous && now - previous.lastAt < rateLimitBackoffConfig.dedupWindowMs) {
|
|
36
92
|
return {
|
|
37
93
|
attempt: previous.consecutive429,
|
|
38
|
-
delayMs:
|
|
94
|
+
delayMs: previous.lastDelayMs,
|
|
39
95
|
isDuplicate: true,
|
|
40
96
|
};
|
|
41
97
|
}
|
|
42
|
-
const attempt = previous && now - previous.lastAt <
|
|
98
|
+
const attempt = previous && now - previous.lastAt < rateLimitBackoffConfig.stateResetMs
|
|
43
99
|
? previous.consecutive429 + 1
|
|
44
100
|
: 1;
|
|
101
|
+
const backoffDelay = Math.min(baseDelay * Math.pow(2, attempt - 1), rateLimitBackoffConfig.maxBackoffMs);
|
|
102
|
+
const jitteredDelay = Math.min(addBackoffJitter(backoffDelay), rateLimitBackoffConfig.maxBackoffMs);
|
|
103
|
+
const delayMs = Math.max(baseDelay, jitteredDelay);
|
|
45
104
|
rateLimitStateByAccountQuota.set(stateKey, {
|
|
46
105
|
consecutive429: attempt,
|
|
47
106
|
lastAt: now,
|
|
48
107
|
quotaKey,
|
|
108
|
+
lastDelayMs: delayMs,
|
|
49
109
|
});
|
|
50
|
-
const backoffDelay = Math.min(baseDelay * Math.pow(2, attempt - 1), MAX_BACKOFF_MS);
|
|
51
110
|
return {
|
|
52
111
|
attempt,
|
|
53
|
-
delayMs
|
|
112
|
+
delayMs,
|
|
54
113
|
isDuplicate: false,
|
|
55
114
|
};
|
|
56
115
|
}
|
|
57
|
-
export function resetRateLimitBackoff(accountIndex, quotaKey) {
|
|
58
|
-
rateLimitStateByAccountQuota.delete(
|
|
116
|
+
export function resetRateLimitBackoff(accountIndex, quotaKey, stableAccountKey) {
|
|
117
|
+
rateLimitStateByAccountQuota.delete(resolveRateLimitStateKey(accountIndex, quotaKey, stableAccountKey));
|
|
59
118
|
}
|
|
60
119
|
export function clearRateLimitBackoffState() {
|
|
61
120
|
rateLimitStateByAccountQuota.clear();
|
|
@@ -69,9 +128,9 @@ const BACKOFF_MULTIPLIERS = {
|
|
|
69
128
|
export function calculateBackoffMs(baseDelayMs, attempt, reason = "unknown") {
|
|
70
129
|
const multiplier = BACKOFF_MULTIPLIERS[reason] ?? 1.0;
|
|
71
130
|
const exponentialDelay = baseDelayMs * Math.pow(2, attempt - 1);
|
|
72
|
-
return Math.min(Math.floor(exponentialDelay * multiplier),
|
|
131
|
+
return Math.min(Math.floor(exponentialDelay * multiplier), rateLimitBackoffConfig.maxBackoffMs);
|
|
73
132
|
}
|
|
74
|
-
export function getRateLimitBackoffWithReason(accountIndexOrParams, quotaKey, serverRetryAfterMs, reason = "unknown") {
|
|
133
|
+
export function getRateLimitBackoffWithReason(accountIndexOrParams, quotaKey, serverRetryAfterMs, reason = "unknown", stableAccountKey) {
|
|
75
134
|
const useNamedParams = typeof accountIndexOrParams !== "number";
|
|
76
135
|
const resolvedAccountIndex = useNamedParams
|
|
77
136
|
? accountIndexOrParams.accountIndex
|
|
@@ -85,6 +144,9 @@ export function getRateLimitBackoffWithReason(accountIndexOrParams, quotaKey, se
|
|
|
85
144
|
const resolvedReason = useNamedParams
|
|
86
145
|
? (accountIndexOrParams.reason ?? "unknown")
|
|
87
146
|
: reason;
|
|
147
|
+
const resolvedStableAccountKey = useNamedParams
|
|
148
|
+
? accountIndexOrParams.stableAccountKey
|
|
149
|
+
: stableAccountKey;
|
|
88
150
|
if (!Number.isInteger(resolvedAccountIndex) || resolvedAccountIndex < 0) {
|
|
89
151
|
throw new TypeError("getRateLimitBackoffWithReason requires a non-negative integer accountIndex");
|
|
90
152
|
}
|
|
@@ -92,8 +154,11 @@ export function getRateLimitBackoffWithReason(accountIndexOrParams, quotaKey, se
|
|
|
92
154
|
throw new TypeError("getRateLimitBackoffWithReason requires a non-empty quotaKey");
|
|
93
155
|
}
|
|
94
156
|
const normalizedQuotaKey = resolvedQuotaKey.trim();
|
|
95
|
-
const result = getRateLimitBackoff(resolvedAccountIndex, normalizedQuotaKey, resolvedServerRetryAfterMs);
|
|
96
|
-
const
|
|
157
|
+
const result = getRateLimitBackoff(resolvedAccountIndex, normalizedQuotaKey, resolvedServerRetryAfterMs, resolvedStableAccountKey);
|
|
158
|
+
const normalizedBaseDelay = normalizeDelayMs(resolvedServerRetryAfterMs, 1000);
|
|
159
|
+
const adjustedDelay = calculateBackoffMs(result.attempt === 1 && !result.isDuplicate
|
|
160
|
+
? normalizedBaseDelay
|
|
161
|
+
: result.delayMs, result.attempt, resolvedReason);
|
|
97
162
|
return {
|
|
98
163
|
...result,
|
|
99
164
|
delayMs: adjustedDelay,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit-backoff.js","sourceRoot":"","sources":["../../../lib/request/rate-limit-backoff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rate-limit-backoff.js","sourceRoot":"","sources":["../../../lib/request/rate-limit-backoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clamp configured stream failover retries to the conservative runtime cap.
|
|
3
|
+
*/
|
|
4
|
+
export declare function capStreamFailoverMax(value: number): number;
|
|
5
|
+
/**
|
|
6
|
+
* Compute a finite per-request budget that bounds all outbound Responses API
|
|
7
|
+
* fetches across account rotation, same-account retries, empty-response
|
|
8
|
+
* retries, and stream failover.
|
|
9
|
+
*/
|
|
10
|
+
export declare function computeOutboundRequestAttemptBudget(params: {
|
|
11
|
+
accountCount: number;
|
|
12
|
+
maxSameAccountRetries: number;
|
|
13
|
+
emptyResponseMaxRetries: number;
|
|
14
|
+
streamFailoverMax: number;
|
|
15
|
+
}): number;
|
|
16
|
+
/**
|
|
17
|
+
* Build the ordered stream-failover candidate list for a request.
|
|
18
|
+
*
|
|
19
|
+
* The caller is expected to pass a valid primary account index from the
|
|
20
|
+
* current account snapshot. This helper keeps the primary first and adds at
|
|
21
|
+
* most one alternate account to avoid broad replay fan-out.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildStreamFailoverCandidateOrder(primaryIndex: number, accountIndices: number[]): number[];
|
|
24
|
+
//# sourceMappingURL=request-attempt-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-attempt-budget.d.ts","sourceRoot":"","sources":["../../../lib/request/request-attempt-budget.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;CAC1B,GAAG,MAAM,CAiCT;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAChD,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EAAE,GACtB,MAAM,EAAE,CAcV"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const MAX_TOTAL_OUTBOUND_REQUEST_ATTEMPTS = 6;
|
|
2
|
+
const MAX_STREAM_FAILOVERS = 1;
|
|
3
|
+
const MAX_STREAM_FAILOVER_CANDIDATES = 2;
|
|
4
|
+
/**
|
|
5
|
+
* Clamp configured stream failover retries to the conservative runtime cap.
|
|
6
|
+
*/
|
|
7
|
+
export function capStreamFailoverMax(value) {
|
|
8
|
+
return Math.max(0, Math.min(MAX_STREAM_FAILOVERS, Math.floor(Number.isFinite(value) ? value : 0)));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Compute a finite per-request budget that bounds all outbound Responses API
|
|
12
|
+
* fetches across account rotation, same-account retries, empty-response
|
|
13
|
+
* retries, and stream failover.
|
|
14
|
+
*/
|
|
15
|
+
export function computeOutboundRequestAttemptBudget(params) {
|
|
16
|
+
const accountCount = Math.max(1, Math.floor(Number.isFinite(params.accountCount) ? params.accountCount : 1));
|
|
17
|
+
const maxSameAccountRetries = Math.max(0, Math.floor(Number.isFinite(params.maxSameAccountRetries)
|
|
18
|
+
? params.maxSameAccountRetries
|
|
19
|
+
: 0));
|
|
20
|
+
const emptyResponseMaxRetries = Math.max(0, Math.floor(Number.isFinite(params.emptyResponseMaxRetries)
|
|
21
|
+
? params.emptyResponseMaxRetries
|
|
22
|
+
: 0));
|
|
23
|
+
const streamFailoverMax = capStreamFailoverMax(params.streamFailoverMax);
|
|
24
|
+
return Math.max(1, Math.min(accountCount +
|
|
25
|
+
maxSameAccountRetries +
|
|
26
|
+
emptyResponseMaxRetries +
|
|
27
|
+
streamFailoverMax, MAX_TOTAL_OUTBOUND_REQUEST_ATTEMPTS));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Build the ordered stream-failover candidate list for a request.
|
|
31
|
+
*
|
|
32
|
+
* The caller is expected to pass a valid primary account index from the
|
|
33
|
+
* current account snapshot. This helper keeps the primary first and adds at
|
|
34
|
+
* most one alternate account to avoid broad replay fan-out.
|
|
35
|
+
*/
|
|
36
|
+
export function buildStreamFailoverCandidateOrder(primaryIndex, accountIndices) {
|
|
37
|
+
const order = [primaryIndex];
|
|
38
|
+
for (const index of accountIndices) {
|
|
39
|
+
if (!Number.isFinite(index) || index === primaryIndex || order.includes(index)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
order.push(index);
|
|
43
|
+
if (order.length >= MAX_STREAM_FAILOVER_CANDIDATES) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return order;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=request-attempt-budget.js.map
|