koneck 2.34.0 → 2.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -33,6 +33,7 @@ import { runQualityGate, qualityGateSummary } from './quality-gate.js';
33
33
  import { appendAuditEvent, summarizeToolAction } from './audit.js';
34
34
  import { evaluatePolicy, loadPolicy } from './policy.js';
35
35
  import { loadHooks, askHooks, notifyHooks, filePathFrom } from './hooks.js';
36
+ import { readRouterFailure } from './router-failure.js';
36
37
  import { CheckpointRecorder, filesTouchedBy, snapshotTree, captureCommandEffects } from './checkpoint.js';
37
38
  import { resolveMaxTurns } from './run-limits.js';
38
39
  import { selfCritiqueSkippedNotice } from './completion-notices.js';
@@ -85,6 +86,20 @@ export function describeProviderError(err, provider, model) {
85
86
  : status && status >= 500
86
87
  ? `${provider} had a server error (${status}). Usually transient; retrying is reasonable.`
87
88
  : undefined;
89
+ /*
90
+ * A router that lists what it tried gets its list read back, per model.
91
+ *
92
+ * The wrapper says bad_gateway and names no cause, so the same message arrives however many
93
+ * upstreams failed and for whatever reason. The list is the only part that says anything, and
94
+ * a 400 beside one name and a 502 beside another are two different problems with two different
95
+ * answers — which is worth more than a generic hint about the gateway.
96
+ */
97
+ const router = readRouterFailure(`${e?.message ?? ''}`);
98
+ if (router) {
99
+ return [`${provider} could not complete the request.`, router.advice,
100
+ detail && !router.advice.includes(detail) ? `\nThe gateway said: ${detail}` : undefined]
101
+ .filter(Boolean).join('\n');
102
+ }
88
103
  return [hint, detail && detail !== hint ? detail : undefined]
89
104
  .filter(Boolean).join('\n') || `Request to ${provider} failed${status ? ` (HTTP ${status})` : ''}.`;
90
105
  }
@@ -138,6 +153,18 @@ export function isRetryableProviderError(err) {
138
153
  const e = err;
139
154
  const status = e?.status;
140
155
  const text = `${e?.message ?? ''}`.toLowerCase();
156
+ /*
157
+ * A router that lists what it tried has already answered this question.
158
+ *
159
+ * Its wrapper says bad_gateway, which reads as transient, but the list underneath may be several
160
+ * models that all REFUSED the request — and a refused request is refused identically every time.
161
+ * Retrying a pool where nothing could succeed spends three attempts and the person's patience to
162
+ * arrive at the message they already had. Reported three times running, same alias, same two
163
+ * models: one 400 and one 502.
164
+ */
165
+ const router = readRouterFailure(`${e?.message ?? ''}`);
166
+ if (router)
167
+ return router.worthRetrying;
141
168
  if (status === 429)
142
169
  return true; // rate limited: back off and retry
143
170
  if (status !== undefined && status >= 500)
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAC9F,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,sBAAsB,EACpF,kBAAkB,EAA0B,kBAAkB,EAAE,iBAAiB,EACjF,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,GAC/E,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAe,cAAc,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAqB,MAAM,cAAc,CAAC;AAClF,OAAO,EACL,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,0BAA0B,EAAE,uBAAuB,GAC7F,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,cAAc,EAC9F,sBAAsB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EACpD,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,GAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAsC,MAC1E,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAYlD,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY,EAAE,QAAgB,EAAE,KAAa;IACjF,MAAM,CAAC,GAAG,GAAiF,CAAC;IAC5F,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,MAAM,KAAK,GAAG,CAAC,KAAc,EAAsB,EAAE;QACnD,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACpC,iFAAiF;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAI,IAA4B,EAAE,KAAK,IAAI,IAAI,CAAC;QAC3D,MAAM,GAAG,GAAI,KAA+B,EAAE,OAAO,CAAC;QACtD,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,sFAAsF;QACtF,8FAA8F;QAC9F,4FAA4F;QAC5F,wFAAwF;QACxF,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,IAAI,QAAQ,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,QAAQ,GAAG,CAAC;QAClF,OAAO,GAAG,IAAI,QAAQ,CAAC;IACzB,CAAC,CAAC;IAEF,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,GAAG;QACvB,CAAC,CAAC,mCAAmC,QAAQ,gDAAgD;QAC/F,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAChC,CAAC,CAAC,GAAG,QAAQ,wFAAwF;YACvG,CAAC,CAAC,MAAM,KAAK,GAAG;gBACd,CAAC,CAAC,GAAG,QAAQ,8BAA8B,KAAK,uCAAuC;gBACzF,CAAC,CAAC,MAAM,KAAK,GAAG;oBACd,CAAC,CAAC,GAAG,QAAQ,+EAA+E;oBAC9F,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,GAAG;wBACvB,CAAC,CAAC,GAAG,QAAQ,wBAAwB,MAAM,+CAA+C;wBAC5F,CAAC,CAAC,SAAS,CAAC;IAEd;;;;;;;OAOG;IACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,QAAQ,kCAAkC,EAAE,MAAM,CAAC,MAAM;YAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aAC7F,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;SAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,QAAQ,UAAU,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACxG,CAAC;AAKD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,QAAuB,EACvB,KAAyG;IAEzG,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI;QAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;IAC5F,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI;QAAE,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC5G,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI;QAC5C,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY;QACrC,yFAAyF;QACzF,kEAAkE;QAClE,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAClD,CAAC;AAED,iFAAiF;AAEjF,4FAA4F;AAC5F,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,oFAAoF;AACpF,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,gFAAgF;AAChF,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,MAAM,CAAC,GAAG,GAA4C,CAAC;IACvD,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAEjD;;;;;;;;OAQG;IACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAExC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,CAAuB,mCAAmC;IAC1F,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;IACzF,oEAAoE;IACpE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,0CAA0C;QAC1C,4FAA4F;QAC5F,oFAAoF;QACpF,IAAI,mIAAmI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnJ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,6FAA6F;QAC7F,2FAA2F;QAC3F,4FAA4F;QAC5F,0EAA0E;QAC1E,IAAI,sGAAsG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,+DAA+D;QAC/D,OAAO,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,OAAe,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAE,GAA4B,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAI,GAA4C,EAAE,OAAO,CAAC;IAEvE,iEAAiE;IACjE,MAAM,MAAM,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClG,IAAI,IAAwB,CAAC;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAClE,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IACxE,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;IAClD,CAAC;IACD,wFAAwF;IACxF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9D,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,gFAAgF;IAChF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,GAAG,KAAK,8DAA8D;QACtE,mFAAmF,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,IAAI,KAAK,mEAAmE;QACjF,qFAAqF;QACrF,qFAAqF,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,IAAI,GAAG,MAAM,CAAE,GAA4B,EAAE,OAAO,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvF,OAAO,gHAAgH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrI,CAAC;AAED,4FAA4F;AAC5F,6FAA6F;AAC7F,iGAAiG;AACjG,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB;CAC5F,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC;IACnC,yEAAyE;IACzE,wDAAwD;IACxD,sCAAsC;IACtC,yHAAyH;IACzH,qGAAqG;IACrG,uDAAuD;IACvD,wCAAwC;IACxC,yEAAyE;IACzE,4EAA4E;IAC5E,sGAAsG;IACtG,yEAAyE;IACzE,gDAAgD;CACjD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAElB;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC,CAAG,sCAAsC;IACxF,MAAM,OAAO,GAAG;QACd,yBAAyB;QACzB,qDAAqD;QACrD,gDAAgD;QAChD,iDAAiD;QACjD,gDAAgD;QAChD,kCAAkC;QAClC,kCAAkC;QAClC,iDAAiD;QACjD,qDAAqD;KACtD,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,gGAAgG;IAChG,MAAM,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,8FAA8F;AAC9F,MAAM,YAAY,GAChB,8FAA8F,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,gBAAyB;IAC7E,OAAO,CAAC,gBAAgB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,2FAA2F;IAC3F,oEAAoE;IACpE,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,uFAAuF;IACvF,iFAAiF;IACjF,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,CAAe,gCAAgC;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,mIAAmI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxJ,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,IAAI,MAAM,CAAC;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM;QACN,cAAc,EAAE,QAAQ,CAAC,YAAY;KACtC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,QAAQ,GAAG,EAAE;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,GAAG,KAAK,WAAW,KAAK,CAAC,MAAM,GAAG,QAAQ,sBAAsB;QACrE,+BAA+B,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAW;IAC5C,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,oDAAoD;IACpD,EAAE;IACF,gGAAgG;IAChG,iGAAiG;IACjG,8FAA8F;IAC9F,iGAAiG;IACjG,oDAAoD;IACpD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CACrC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAElE,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxF,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC,CAAC,0DAA0D,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,6FAA6F;QAC7F,kDAAkD;QAClD,SAAS,GAAG,kDAAkD,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG;QACjD,GAAG;QACH,KAAK,EAAE,aAAa,EAAE;QACtB,SAAS;QACT,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,GAAG,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;YAC5B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;YAC5B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;SAC7B;KACF,CAAC;AACJ,CAAC;AAID,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,GAAG,GAAG,GAAG;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5F,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,6FAA6F;AAC7F,MAAM,UAAU,sBAAsB,CAAC,WAAuC;IAC5E,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,2IAA2I,CAAC;QACrJ,KAAK,SAAS;YACZ,OAAO,kIAAkI,CAAC;QAC5I;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,KAAK,GAAG,gBAAgB;IACrE,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,2BAA2B,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAqB,EACrB,SAAwB,IAAI,EAC5B,UAA8B,IAAI,EAClC,oBAAmC,IAAI;AACvC;;;;;;GAMG;AACH,IAAI,GAAG,KAAK;AACZ;;;;;GAKG;AACH,YAAqB;AACrB,8FAA8F;AAC9F,WAAW,GAAG,EAAE;AAChB,4FAA4F;AAC5F,cAA0C,SAAS;IAEnD,+EAA+E;IAC/E,EAAE;IACF,qDAAqD;IACrD,EAAE;IACF,gGAAgG;IAChG,+FAA+F;IAC/F,8FAA8F;IAC9F,yFAAyF;IACzF,gGAAgG;IAChG,8FAA8F;IAC9F,wDAAwD;IACxD,MAAM,KAAK,GAAG;;;;;iCAKiB,GAAG,CAAC,KAAK,IAAI,SAAS,kBAAkB,GAAG,CAAC,QAAQ,IAAI,SAAS;;;;;;;EAOhG,IAAI;QACJ,CAAC,CAAC,wGAAwG;QAC1G,CAAC,CAAC;;;;;;6FAMyF;;EAE3F,sBAAsB,CAAC,WAAW,CAAC;;;;;;;;;;;;2DAYsB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;CASrI,CAAC;IAEA,gFAAgF;IAChF,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IAEP,gFAAgF;IAChF,MAAM,GAAG,GAAG,gBAAgB;QAC1B,QAAQ,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI;QACxB,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI;QAC1B,WAAW,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI;QAC9B,UAAU,GAAG,GAAG,CAAC,WAAW,GAAG,IAAI;QACnC,gBAAgB,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,IAAI;QACnD,gBAAgB,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;IAEzD,gFAAgF;IAChF,0FAA0F;IAC1F,uFAAuF;IACvF,4FAA4F;IAC5F,+EAA+E;IAC/E,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC,oDAAoD;YACpD,0FAA0F;YAC1F,yFAAyF;YACzF,sFAAsF;YACtF,kDAAkD;YAClD,cAAc,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,mBAAmB,GAAG,iBAAiB;QAC3C,CAAC,CAAC,OAAO,GAAG,iBAAiB;QAC7B,CAAC,CAAC,EAAE,CAAC;IAEP,8FAA8F;IAC9F,iGAAiG;IACjG,+FAA+F;IAC/F,MAAM,QAAQ,GAAoB;QAChC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QACzE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;QACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;QACxF,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;QAC3F,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;KAC3F,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,yFAAyF;QACzF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,oBAAoB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AAmBD,MAAM,UAAU,kBAAkB,CAChC,KAAwB,EACxB,SAA2B;IAE3B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC,GAAG,CAAC;QAClD,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC,SAAS,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,aAAa,CACpB,UAA4B,EAC5B,OAAsB,EACtB,MAAmB,EACnB,YAA8B,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;IAEzE,qEAAqE;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAqC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,UAAmB;QACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE;KACvF,CAAC,CAAC,CAAC;IAEJ,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI;oBAC1C,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC;oBACpE,UAAU,EAAG,CAAC,CAAC,WAAuC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;iBAC7F;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;gBAC5B,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW;gBACxD,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;aACzC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjE,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA6B;IACnE,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACrF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,+FAA+F;AAC/F,mGAAmG;AACnG,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAmB,EACnB,KAAa,EACb,EAA0C;IAE1C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC9B,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAqB,EACrB,MAAmB,EACnB,GAAW;AACX;;;;;;GAMG;AACH,WAAwB;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,+DAA+D,CAAC;IACzE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;IAElG,4FAA4F;IAC5F,6FAA6F;IAC7F,MAAM,QAAQ,GAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3E,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,EAAE,CAAC;IAEV,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzD,0FAA0F;QAC1F,+EAA+E;QAC/E,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,MAA0B,CAAC;QAE/B,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;gBAClB,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAgB;YAC7B,GAAG,MAAM;YACT,GAAG,EAAE,OAAO;YACZ,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;YACxC,wFAAwF;YACxF,0EAA0E;YAC1E,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;YACtF,yFAAyF;YACzF,+EAA+E;YAC/E,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE,CAAC,CAAa,EAAE,EAAE;gBAC1B,0EAA0E;gBAC1E,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,YAAY,IAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;oBACjF,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;oBACzF,WAAW,CAAC,WAAW,IAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC/E,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/F,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAyB,EAAQ,EAAE;YACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,SAAS,EAAE,CAAC;YACZ,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAChF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,uFAAuF;YACvF,yFAAyF;YACzF,uFAAuF;YACvF,sEAAsE;YACtE,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAC5F,CAAC;YACF,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAI;gBACjB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB;oBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,cAAc,IAAI,CAAC,MAAM,GAAG,qBAAqB,mBAAmB;oBAC7G,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC,CAAC,oCAAoC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjB,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxD,OAAO,EAAE,KAAK;gBACd,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;IACtG,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,8FAA8F;IAC9F,qFAAqF;IACrF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,uFAAuF;YAC5F,+BAA+B,WAAW,+CAA+C;YACzF,6FAA6F;YAC7F,oDAAoD,GAAG,MAAM,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AAGjF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,QAAmB;IAC7C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACzE,MAAM,IAAI,GAAI,OAAO,CAAC,OAAmD;aACtE,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,KAAK,CAAC;YAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACL,wEAAwE;QACvE,OAAgC,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;YACvF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YACpB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAgB;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;eAC7E,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,KAAa,EACb,KAAa,EACb,WAAoB,EACpB,QAAiB;IAEjB,wFAAwF;IACxF,iGAAiG;IACjG,8FAA8F;IAC9F,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,MAAM,QAAQ,GAAG,GAAG,GAAG,aAAa,KAAK,kCAAkC,KAAK,MAAM;QACpF,2BAA2B;QAC3B,CAAC,WAAW,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/F,8FAA8F;IAC9F,0FAA0F;IAC1F,gEAAgE;IAChE,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACnC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;IAExC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,QAAQ,GAAG,IAAI;YACpB,2FAA2F;YAC3F,sFAAsF;YACtF,2FAA2F;YAC3F,4FAA4F;YAC5F,4EAA4E;YAC5E,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,0FAA0F;YAC1F,6EAA6E,CAAC;IAClF,CAAC;IACD,OAAO,QAAQ,GAAG,0DAA0D,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAmB,EACnB,MAAc,EACd,MAAmB,EACnB,YAAoB,EACpB,KAAiB,EACjB,UAA4B,EAC5B,OAAsB;AACtB,sFAAsF;AACtF,WAA6C,EAC7C,UAAU,GAAG,CAAC,EACd,WAAyB,EACzB,UAA+B;AAC/B;;;;;;GAMG;AACH,UAA6B,EAAE,OAAO,EAAE,UAAU,EAAE;AACpD,2FAA2F;AAC3F,UAAuB;AACvB,4FAA4F;AAC5F,kBAAuC,EAAE,OAAO,EAAE,CAAC,EAAE;IAErD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9C,iGAAiG;IACjG,4EAA4E;IAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC;;;;;;OAMG;IACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,8EAA8E;IAC9E,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,8FAA8F;IAC9F,0DAA0D;IAC1D,2FAA2F;IAC3F,4EAA4E;IAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEjF,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B;;;;;;OAMG;IACH,+FAA+F;IAC/F,oFAAoF;IACpF,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,GAAW,EAAE,CAClC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;QACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,kFAAkF;IAClF,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,6FAA6F;IAC7F,MAAM,aAAa,GAAmD,EAAE,CAAC;IACzE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB;;;;;;;;OAQG;IACH,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B;;;;;;OAMG;IACH,yFAAyF;IACzF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,iFAAiF;IACjF,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,4DAA4D;IAC5D,EAAE;IACF,+FAA+F;IAC/F,+FAA+F;IAC/F,iGAAiG;IACjG,uBAAuB;IACvB,+FAA+F;IAC/F,gGAAgG;IAChG,iGAAiG;IACjG,8FAA8F;IAC9F,CAAC;QACC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO,CAAC;QACpE,MAAM,WAAW,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzE,uFAAuF;QACvF,6FAA6F;QAC7F,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,WAAW,GAAG,IAAI,CAAC,KAA2B,CAAC;gBAC/C,2FAA2F;gBAC3F,2DAA2D;gBAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzE,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBACtE,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,4FAA4F;QAC5F,mBAAmB;QACnB,IAAI,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gBAC1D,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO;gBAClE,wFAAwF;gBACxF,yFAAyF;gBACzF,0CAA0C;gBAC1C,MAAM,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;oBAC9E,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;aACjG,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,EAAE;IACF,iGAAiG;IACjG,gGAAgG;IAChG,kGAAkG;IAClG,kGAAkG;IAClG,kFAAkF;IAClF,CAAC;QACC,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,cAAc,GAAc,EAAE,CAAC;IAErC,4FAA4F;IAC5F,MAAM,SAAS,GAAG,CAAC,IAAY,EAAQ,EAAE;QACvC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,UAAU,KAAK,IAAI,IAAI,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACpE,IAAI,WAAW,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC;QAEvC,KAAK,CAAC,KAAK,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAElE,0FAA0F;QAC1F,4FAA4F;QAC5F,0FAA0F;QAC1F,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;YACxE,KAAK,EAAE,cAAc,EAAE;YACvB,YAAY,EAAE,gBAAgB;YAC9B,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,YAAY,GAAG,KAAK,CAAC;YACrB,gBAAgB,GAAG,CAAC,CAAC,CAAG,qEAAqE;YAC7F,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAC/D,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,aAAa,CACf,sBAAsB,MAAM,gBAAgB,QAAQ,CAAC,MAAM,IAAI;oBAC/D,kBAAkB,cAAc,EAAE,CAAC,cAAc,EAAE,UAAU,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,qEAAqE;QACrE,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,wFAAwF;QACxF,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,+EAA+E;QAC/E,IAAI,OAAO,GAAsB,IAAI,CAAC;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,kEAAkE;QAClE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2D,CAAC;QACvF,yFAAyF;QACzF,6FAA6F;QAC7F,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjD,MAAM,aAAa,GAAO,KAAK,CAAC,YAAY,CAAC;QAC7C,MAAM,YAAY,GAAQ,KAAK,CAAC,WAAW,CAAC;QAE5C,0DAA0D;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC;YACH,GAAG,CAAC,WAAW,EAAE,CAAC;YAElB,kEAAkE;YAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAEhE,2FAA2F;YAC3F,uFAAuF;YACvF,0EAA0E;YAC1E,sFAAsF;YACtF,uFAAuF;YACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC/C,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC/D,CAAC,CAAC,QAAQ,CAAC;YAEb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAClD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAe,EAAE,CAAC;gBAC9E,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;gBACvC,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,GAAG;aACjB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAE/B,sFAAsF;YACtF,0FAA0F;YAC1F,2FAA2F;YAC3F,0FAA0F;YAC1F,sDAAsD;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,0FAA0F;YAC1F,2FAA2F;YAC3F,qEAAqE;YACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,SAAS,CAAC;gBACR,IAAI,cAAc,CAAC,OAAO;oBAAE,MAAM;gBAClC,IAAI,SAAqC,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC9B,QAAQ,CAAC,IAAI,EAAE;oBACf,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBAC/B,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,EACpE,cAAc,CACf,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS;oBAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEzB,wFAAwF;gBACxF,oFAAoF;gBACpF,8EAA8E;gBAC9E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,mBAAmB,EAAE,CAAC;oBACtB,MAAM,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,CAAC;gBACjD,CAAC;gBAED,mFAAmF;gBACnF,wEAAwE;gBACxE,wFAAwF;gBACxF,mFAAmF;gBACnF,sDAAsD;gBACtD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,eAAe,CACb,KAAK,EACL,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,EAC7E,KAAK,CAAC,KAAK,CACZ,CAAC;oBACF,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa;wBAAE,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC5E,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;oBAEzB,mFAAmF;oBACnF,yFAAyF;oBACzF,mFAAmF;oBACnF,EAAE;oBACF,yFAAyF;oBACzF,uFAAuF;oBACvF,wFAAwF;oBACxF,mBAAmB;oBACnB,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;wBACjD,aAAa,CAAC,IAAI,CAAC;4BACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM;4BAC1C,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;yBACpC,CAAC,CAAC;wBACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;wBACnD,IAAI,OAAO,EAAE,CAAC;4BACZ,cAAc,GAAG,IAAI,CAAC;4BACtB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;4BAC9B,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAG,6CAA6C;4BACtF,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;4BACxE,IAAI,CAAC,MAAM;gCAAE,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM;oBAAE,SAAS,CAAe,wCAAwC;gBAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE3B,oFAAoF;gBACpF,wFAAwF;gBACxF,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,KAAgC,CAAC;gBAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAClG,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ;wBAC9C,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,MAAM,CAAE,UAAiC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC3D,IAAI,SAAS,EAAE,CAAC;wBACd,aAAa,IAAI,SAAS,CAAC,MAAM,CAAC;wBAClC,MAAM,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;wBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,IAAI,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gCAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gCAAC,cAAc,GAAG,IAAI,CAAC;4BAAC,CAAC;4BAC1E,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,YAAY,KAAK,CAAC;wBAAE,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;oBAElC,uFAAuF;oBACvF,wFAAwF;oBACxF,oFAAoF;oBACpF,uCAAuC;oBACvC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC;wBACvE,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;wBACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;wBACnD,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,GAAG,KAAK,CAAC;4BAChB,oFAAoF;4BACpF,8EAA8E;4BAC9E,yDAAyD;4BACzD,SAAS,GAAG,gBAAgB,CAAC;4BAC7B,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;4BAC/D,MAAM,CAAqC,qCAAqC;wBAClF,CAAC;oBACH,CAAC;oBACD,uFAAuF;oBACvF,mFAAmF;oBACnF,iFAAiF;oBACjF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,oDAAoD;oBACtD,CAAC;yBAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACnD,eAAe,GAAG,KAAK,CAAC;wBACxB,QAAQ,GAAG,EAAE,CAAC,CAAG,6CAA6C;oBAChE,CAAC;yBAAM,CAAC;wBACN,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACrF,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;4BACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,IAAI,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;oCAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oCAAC,cAAc,GAAG,IAAI,CAAC;gCAAC,CAAC;gCAC1E,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;4BACxB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,IAAI,YAAY,KAAK,CAAC;wBAAE,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBAClC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;wBAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;4BAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;wBAClC,IAAI,EAAE,CAAC,EAAE;4BAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;wBAC1B,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;4BAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACpD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;4BAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACrE,CAAC;gBACH,CAAC;YAEH,CAAC;YAED,GAAG,CAAC,SAAS,EAAE,CAAC;YAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,UAAU,EAAE,GAAG,CAAC;gBACd,CAAC,EAAE,SAAS;gBACZ,EAAE,EAAE,YAAY;gBAChB,EAAE,EAAE,UAAU,GAAG,YAAY;gBAC7B,2FAA2F;gBAC3F,MAAM,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,YAAY;gBACvE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,aAAa,CAAC;gBAC7D,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;aAC1E,CAAC,CAAC;YACH,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,gFAAgF;YAChF,gEAAgE;YAChE,IAAI,KAAK,CAAC,gBAAgB,KAAK,iBAAiB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC;gBACjC,yFAAyF;gBACzF,wFAAwF;gBACxF,+DAA+D;gBAC/D,IAAI,KAAK,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1G,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAK,GAA6B,EAAE,IAAI,KAAK,YAAY,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBAClF,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,uFAAuF;YACvF,2FAA2F;YAC3F,gFAAgF;YAChF,0FAA0F;YAC1F,6EAA6E;YAC7E,2FAA2F;YAC3F,uFAAuF;YACvF,wFAAwF;YACxF,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,MAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBACtC,YAAY,GAAG,MAAM,CAAC;oBACtB,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBACtG,CAAC;gBACD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,0DAA0D,CAAC,CAAC;oBAC1F,IAAI,EAAE,CAAC,CAAsD,qBAAqB;oBAClF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvD,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC9E,IAAI,EAAE,CAAC,CAAsD,qBAAqB;oBAClF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrD,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,qBAAqB,CAAC,CAAC;gBACvE,MAAM,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpE,IAAI,EAAE,CAAC,CAAwD,qBAAqB;gBACpF,SAAS;YACX,CAAC;YAED,yFAAyF;YACzF,qFAAqF;YACrF,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,EAAE,CAAC;gBACpE,WAAW,EAAE,CAAC;gBACd,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,KAAK,WAAW,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC;gBAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,GAAG,CAAC,YAAY,CACd,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,WAAW,IAAI,gBAAgB,IAAI,CAC/H,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACtE,IAAI,EAAE,CAAC,CAAwD,qBAAqB;gBACpF,SAAS;YACX,CAAC;YAED,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/C,4EAA4E;QAC5E,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC5D,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC;oBACjE,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC;oBACrC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC9D,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE;wBAAE,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBAC7E,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAC3B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;4BAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CACvE,CAAC;oBACF,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAC3B,uCAAuC,MAAM,CAAC,KAAK,uDAAuD,CAC3G,CAAC;gBACF,wBAAwB,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAe,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC5D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;aACrB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,4FAA4F;QAC5F,yFAAyF;QACzF,qFAAqF;QACrF,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvC,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;YACpF,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC;gBACrC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC/C,EAAE,EAAE,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;iBAC9D,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,4FAA4F;QAC5F,0FAA0F;QAC1F,yFAAyF;QACzF,kFAAkF;QAClF,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAChE,2FAA2F;YAC3F,yFAAyF;YACzF,wFAAwF;YACxF,yFAAyF;YACzF,uCAAuC;YACvC,MAAM,aAAa,GAAG,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/E,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YACpC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC5C,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,wFAAwF;gBACxF,qEAAqE;gBACrE,gBAAgB,GAAG,OAAO,IAAI,SAAS;oBACrC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO;oBACnE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;oBAChD,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;iBAC7D,CAAC,CAAC,CAAC;gBACJ,yFAAyF;gBACzF,oDAAoD;gBACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EACrC,sFAAsF;4BACtF,oFAAoF,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;YAAE,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEvG,6FAA6F;QAC7F,uFAAuF;QACvF,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,EAAE,kBAAkB,OAAO,CAAC,KAAK,oBAAoB,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAC3B,GAAG,MAAM,CAAC,KAAK,oBAAoB,OAAO,CAAC,KAAK,qBAAqB,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,iFAAiF;YACjF,gFAAgF;YAChF,iFAAiF;YACjF,yDAAyD;YACzD,0FAA0F;YAC1F,0FAA0F;YAC1F,6BAA6B;YAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YAC5F,MAAM,YAAY,GAAG,uBAAuB,CAC1C,OAAO,YAAY,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACrE,gBAAgB,CACjB,CAAC;YAEF,uFAAuF;YACvF,wFAAwF;YACxF,yFAAyF;YACzF,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnC,wFAAwF;gBACxF,uFAAuF;gBACvF,yEAAyE;gBACzE,IAAI,iBAAiB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC5C,YAAY,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,KAAK,yCAAyC,CAAC,CAAC;oBACxF,IAAI,EAAE,CAAC;oBACP,SAAS;gBACX,CAAC;gBAED,kFAAkF;gBAClF,uFAAuF;gBACvF,0FAA0F;gBAC1F,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzC,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpE,IAAI,EAAE,CAAC,CAAsD,qBAAqB;oBAClF,SAAS;gBACX,CAAC;gBACD,UAAU,EAAE,CAAC;gBACb,IAAI,UAAU,IAAI,eAAe,EAAE,CAAC;oBAClC,uFAAuF;oBACvF,uFAAuF;oBACvF,mFAAmF;oBACnF,uFAAuF;oBACvF,gBAAgB;oBAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CACjC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAC5D,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,CAAC,CAAC;gBACf,YAAY,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,0FAA0F;YAC1F,6FAA6F;YAC7F,4FAA4F;YAC5F,yEAAyE;YACzE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAE/B,0FAA0F;YAC1F,uFAAuF;YACvF,kEAAkE;YAClE,IAAI,OAAO,IAAI,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;gBAC5D,kBAAkB,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAChE,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,YAAY,IAAI,QAAQ,KAAK,SAAS,CAAC;mBAC5E,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;gBACpD,kBAAkB,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAChE,uFAAuF;gBACvF,yFAAyF;gBACzF,qCAAqC;gBACrC,MAAM,KAAK,GAAG;oBACZ,YAAY;wBACV,CAAC,CAAC,gFAAgF;4BAChF,sFAAsF;4BACtF,qDAAqD;wBACvD,CAAC,CAAC,sFAAsF;4BACtF,0BAA0B;oBAC9B,QAAQ;wBACN,CAAC,CAAC,iBAAiB,UAAU,CAAC,MAAM,QAAQ,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ;4BACpF,oBAAoB,QAAQ,CAAC,IAAI,mDAAmD;4BACpF,oFAAoF;4BACpF,oEAAoE;wBACtE,CAAC,CAAC,2EAA2E;iBAChF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,sFAAsF;YACtF,yFAAyF;YACzF,2FAA2F;YAC3F,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,UAAU,GACd,gBAAgB,UAAU,CAAC,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,cAAc;oBAClF,6BAA6B,QAAQ,CAAC,IAAI,8BAA8B,CAAC;gBAC3E,MAAM,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;gBAC5F,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;wBACzD,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI;wBAC3C,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG;wBAClC,WAAW,EAAE,MAAe,EAAE,KAAK,EAAE,WAAW;qBACjD,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC/B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;wBACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;wBAC1C,IAAI,CAAC,EAAE,CAAC;4BAAC,gBAAgB,IAAI,CAAC,CAAC;4BAAC,IAAI,CAAC,MAAM;gCAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;YACD,yFAAyF;YACzF,uDAAuD;YACvD,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,QAAQ,+CAA+C;oBACjE,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1E,kBAAkB,MAAM,CAAC,KAAK,0DAA0D;oBACxF,4CAA4C,CAC7C,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,oEAAoE;YACpE,4DAA4D;YAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,IAAI,IAAI,EAAE,CAAC,CAAC;YAExE,wFAAwF;YACxF,sFAAsF;YACtF,0CAA0C;YAC1C,IAAI,YAAY,IAAI,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;gBAClE,MAAM,UAAU,GACd,0DAA0D,kBAAkB,YAAY;oBACxF,kEAAkE,CAAC;gBACrE,MAAM,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACxC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,wFAAwF;YACxF,qFAAqF;YACrF,uEAAuE;YACvE,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB,IAAI,IAAI;YACjC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE;aACrD,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC;YAC1C,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,gFAAgF;gBAChF,qFAAqF;gBACrF,cAAc,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE5C,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;oBAC1C,qFAAqF;oBACrF,wFAAwF;oBACxF,wFAAwF;oBACxF,8CAA8C;oBAC9C,MAAM,OAAO,GAAG,uBAAuB,cAAc,+BAA+B;wBAClF,0EAA0E,CAAC;oBAC7E,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;oBACnC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC5D,IAAI,CAAC,MAAM;wBAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,EAAE,CAAC,EAAE;wBACnB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxC,yCAAyC,cAAc,6BAA6B;4BACpF,oEAAoE;qBAC5D,CAAC,CAAC;oBACd,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EACL,qFAAqF;4BACrF,mFAAmF;4BACnF,kFAAkF;4BAClF,uFAAuF;qBAC/E,CAAC,CAAC;oBACd,aAAa,GAAG,IAAI,CAAC;oBACrB,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM,CAAG,yDAAyD;gBACpE,CAAC;gBAED,mFAAmF;gBACnF,2CAA2C;gBAC3C,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,oBAAoB,GAAG,EAAE,CAAC,IAAI,GAAG,mCAAmC,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC;oBAClC,CAAC,CAAC,mBAAmB,cAAc,oDAAoD;wBACrF,mFAAmF;oBACrF,CAAC,CAAC,EAAE,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,EAAE,CAAC,EAAE;oBACnB,OAAO,EAAE,CAAC,OAAO,KAAK,SAAS;wBAC7B,CAAC,CAAC,kFAAkF;4BAClF,mDAAmD;wBACrD,CAAC,CAAC,oFAAoF;4BACpF,2EAA2E,GAAG,OAAO,CACxF,GAAG,QAAQ;iBACF,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAExB,sFAAsF;YACtF,0FAA0F;YAC1F,gFAAgF;YAChF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChG,MAAM,aAAa,GAAG,WAAW,IAAI,EAAE,CAAC,IAAI,CAAC;YAE7C,oFAAoF;YACpF,kFAAkF;YAClF,0DAA0D;YAC1D,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAA0C,CAAC,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;oBACxC,UAAU,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,IAAI,MAAc,CAAC;YACnB,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACzF,wFAAwF;YACxF,mEAAmE;YACnE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;gBAC9B,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,eAAe,CAAC;gBACnF,CAAC,CAAC,IAAI,CAAC;YAET;;;;;;;eAOG;YACH,IAAI,WAA+B,CAAC;YACpC,IAAI,cAAc,CAAC,OAAO,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE;oBAClC,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,EAAE,CAAC,SAAS;oBAClB,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC;gBACH,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,GAAG;oBAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjD,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,MAAM,GAAG,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;gBACtD,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,oFAAoF;oBACpF,kCAAkC;oBAClC,MAAM,GAAG,+BAA+B,GAAG,WAAW;0BAClD,wEAAwE;0BACxE,yCAAyC,CAAC;gBAChD,CAAC;qBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACtB,MAAM,GAAG,yDAAyD;wBAChE,8EAA8E,CAAC;gBACnF,CAAC;qBAAM,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,MAAM,GAA4B,EAAE,CAAC;oBACzC,IAAI,CAAC;wBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;oBAC/F,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBACvE,CAAC;qBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBACpC,IAAI,UAAU,GAAY,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;oBAC7E,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;wBACtB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACtC,IAAI,MAAM,GAAoB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAoB,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;oBACvF,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;qBAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM,GAAG,MAAM,YAAY,CACzB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY;oBACnC,oFAAoF;oBACpF,mFAAmF;oBACnF,8DAA8D;oBAC9D,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC,EAC7E,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC5C,OAAO,CACR,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9D,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC1E,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,sFAAsF;oBACtF,kFAAkF;oBAClF,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,YAAY,CAC7D,WAAW,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,EACvC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC,EAC7E,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC5C,OAAO,CACR,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,wFAAwF;oBACxF,2DAA2D;oBAC3D,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACjB,MAAM,GAAG,SAAS,GAAG,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC;YAChE,CAAC;YAED,yFAAyF;YACzF,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,yFAAyF;YACzF,gFAAgF;YAChF,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEzG,2FAA2F;YAC3F,4FAA4F;YAC5F,8EAA8E;YAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE;oBACpC,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,EAAE,CAAC,SAAS;oBAClB,EAAE,EAAE,CAAC,UAAU;oBACf,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC;gBACH,KAAK,MAAM,OAAO,IAAI,IAAI;oBAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAED,uFAAuF;YACvF,wFAAwF;YACxF,oEAAoE;YACpE,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3D,qFAAqF;gBACrF,mEAAmE;gBACnE,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,gBAAgB,GAAG,IAAI,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,KAAK,gBAAgB,CAAC,YAAY,EAAE;oBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,MAAM,CAAC,cAAc;oBAChC,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC;oBAClD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC7F,UAAU,EAAE,WAAW;iBACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,uEAAuE;gBACzE,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,WAAW;gBAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAE/D,uFAAuF;YACvF,uEAAuE;YACvE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,iBAAiB,GAAG,IAAI,CAAC;gBACzB,yFAAyF;gBACzF,qFAAqF;gBACrF,sFAAsF;gBACtF,wFAAwF;gBACxF,gCAAgC;gBAChC,kBAAkB,GAAG,CAAC,CAAC;YACzB,CAAC;YAED,qFAAqF;YACrF,0FAA0F;YAC1F,wFAAwF;YACxF,yEAAyE;YACzE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACnF,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,GAAG,CAAC,aAAa,CACf,cAAc,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,yBAAyB,OAAO,CAAC,IAAI,GAAG,CACtF,CAAC;YACJ,CAAC;YAED,UAAU,EAAE,GAAG,CAAC;gBACd,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,WAAW;gBACf,EAAE,EAAE,CAAC,UAAU;gBACf,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC;gBAClD,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAC;YAEH,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAa,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,iGAAiG;IACjG,2DAA2D;IAC3D,MAAM,CAAC,YAAY,EAAE,CACnB,iBAAiB,UAAU,iEAAiE;QAC5F,8EAA8E,CAC/E,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,YAAY,CACd,eAAe,UAAU,2DAA2D;YACpF,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAoBD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,GAAW;IACzD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,uFAAuF;QACvF,8EAA8E;QAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,eAA2B;AAC3B;;;;;;;GAOG;AACH,YAAkC;AAClC,iGAAiG;AACjG,WAAkB;IAElB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAe;QACxB,YAAY,EAAE,YAAY,EAAE,YAAY,IAAI,CAAC;QAC7C,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,IAAI,CAAC;QACrD,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC;QAC3C,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;KAChC,CAAC;IAEF,MAAM,QAAQ,GAAc,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,yFAAyF;IACzF,6FAA6F;IAC7F,mEAAmE;IACnE,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,EACjD,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE,CAAC;QAC3C,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,EAAE;QACF,8FAA8F;QAC9F,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC/F,4FAA4F;YAC5F,yFAAyF;YACzF,kFAAkF;YAClF,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,CAAC;QAC9D,CAAC;QACD,uDAAuD;QACvD,EAAE;QACF,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,+FAA+F;QAC/F,0FAA0F;QAC1F,mEAAmE;IACrE,CAAC;IAGD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9E,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC;YAC/B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;YACtB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;YACzB,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC;YACjC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,4FAA4F;QAC5F,mFAAmF;QACnF,EAAE;QACF,2FAA2F;QAC3F,mFAAmF;QACnF,EAAE;QACF,uFAAuF;QACvF,8FAA8F;QAC9F,2FAA2F;QAC3F,0FAA0F;QAC1F,cAAc;QACd,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAEzC,2FAA2F;QAC3F,0FAA0F;QAC1F,+FAA+F;QAC/F,0DAA0D;QAC1D,IAAI,KAAK,GAAG,iBAAiB,CAC3B,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC1D,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzC,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;YAC7C,KAAK,GAAG,iBAAiB,CACvB,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC1D,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACtF,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,SAAS,GAAK,UAAU,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,UAAU,GAAI,SAAS,CAAE,CAAC,CAAC,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,OAAO,GAAO,UAAU,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAI,CAAC,CAAC,EAAE,CAAC;IACvE,8FAA8F;IAC9F,kFAAkF;IAClF,EAAE;IACF,8FAA8F;IAC9F,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,wBAAwB;IACxB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAC5C,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAqB;QAClC,GAAG,EAAE,KAAK,CAAC,gBAAgB;QAC3B,SAAS,EAAE,eAAe,EAAE;KAC7B,CAAC;IACF,IAAI,WAAW,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAExE,6FAA6F;IAC7F,+DAA+D;IAC/D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,CACd,yFAAyF;gBACzF,0BAA0B,KAAK,CAAC,IAAI,qDAAqD;gBACzF,wFAAwF,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,+FAA+F;IAC/F,2EAA2E;IAC3E,8FAA8F;IAC9F,2FAA2F;IAC3F,qDAAqD;IACrD;;;;;;;;;;OAUG;IACH,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,KAAK,sBAAsB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;aAC9F,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;YACnC,MAAM,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAA0B,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,+FAA+F;IAC/F,0CAA0C;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB;;;;;;OAMG;IACH,MAAM,OAAO,GAAsB,EAAE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC;IAC1E;;;;;OAKG;IACH,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,KAAK,UAAU,IAAI,CAAC,QAAgB,EAAE,MAAoB,EAAE,UAA8B;QACxF,2FAA2F;QAC3F,4FAA4F;QAC5F,6DAA6D;QAC7D,MAAM,KAAK,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACnG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,kBAAkB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,GAAG,CAAC,aAAa,CAAC,YAAY,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACzF,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAa,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,yFAAyF;QACzF,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,YAAY,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EACtE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EACrF,eAAe,CAChB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,iFAAiF;YACjF,kDAAkD;YAClD,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,EAAE;QACF,QAAQ;QACR,KAAK;QACL,IAAI,SAAS,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,KAAK,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,EAAE,KAAK,CAAC,UAAU;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACrF,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI;KACL,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,mBAAmB,CAAC,QAAmB,EAAE,GAAW;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAkE,EAAE,CAAC;gBACtF,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxF,IAAI,CAAC;wBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAC;wBACvE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAW,CAAC;wBAC1D,IAAI,CAAC;4BAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzC,CAAC;oBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAsBD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,MAAmB,EACnB,eAA2B,EAC3B,MAAqB;IAErB,IAAI,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;IAC9B,IAAI,YAAsC,CAAC;IAE3C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,GAAG,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;YAC3E,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACnE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAClH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;YACzI,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;oBAC3B,CAAC,CAAC,gIAAgI;oBAClI,CAAC,CAAC,oFAAoF,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9E,CAAC;IACF,6FAA6F;IAC7F,+FAA+F;IAC/F,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE;YACtD,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE;YAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,SAAS;YACzC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;YACtC,yFAAyF;YACzF,2EAA2E;SAC5E,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;aACrC,KAAK,CAAC,GAAG,EAAE,GAA2D,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACjC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAErD,iEAAiE;IACjE,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAC5E,IAAI,YAAY;YAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IACtE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,EAAE,CAAC,CAAG,wEAAwE;QAC3F,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,EAAE,CAAC,CAAK,wEAAwE;IAE7F,uDAAuD;IACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,4FAA4F;IAC5F,+EAA+E;IAC/E,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE;WAC3C,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uFAAuF;YACvF,uFAAuF;YACvF,oDAAoD;YACpD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzE,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,GAAG,qCAAqC,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/B,8EAA8E;YAC9E,8EAA8E;YAC9E,GAAG,CAAC,YAAY,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,kCAAkC,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,0FAA0F;YAC1F,wFAAwF;YACxF,kFAAkF;YAClF,GAAG,CAAC,YAAY,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK;gBACrD,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,4BAA4B,CAAC,CAAC;QACrF,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAChC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtE,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC9B,2CAA2C;oBAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACzE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;wBACxB,kFAAkF;wBAClF,mFAAmF;wBACnF,iFAAiF;wBACjF,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BAC5C,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;4BAC7F,gBAAgB,CAAC,YAAY,CAAC;yBAC/B,CAAC,CAAC;wBACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7F,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAChB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gCACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;qCAC3E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;qCAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oCAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;oCAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;4BAC3D,CAAC,CAAC,CAAC;4BACH,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gCAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC9F,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,EAAE,CAAC;IAEhB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,aAAa,CAAC,kCAAkC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAA8B,EAAE,IAAY;IAC/E,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,YAAY,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,YAAY,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,GAAG,CAAC,YAAY,CAAC,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Reading a router's own account of what it tried.
3
+ *
4
+ * A gateway fronting many models reports failure as one message listing every upstream it
5
+ * attempted, which arrives looking like a single opaque error:
6
+ *
7
+ * Stream ended before producing a non-ping SSE event
8
+ * [oc/deepseek-v4-flash-free (400), oc/nemotron-3-ultra-free (502)] (bad_gateway)
9
+ *
10
+ * Treated as one failure that is worth retrying, which is what it looks like, the run retries
11
+ * against the same exhausted pool and then gives up — reported three times in a row by the same
12
+ * person, on the same alias, with the same two models.
13
+ *
14
+ * The list is the useful part, and the status beside each name says something different about each:
15
+ *
16
+ * - 5xx is the upstream being unwell. Retrying can reach a healthy one.
17
+ * - 429 is a quota. Retrying can work once it resets, which is usually seconds.
18
+ * - 4xx other than 429 is the REQUEST being refused, and it will be refused identically every
19
+ * time. On a free model it is almost always the prompt exceeding a context window far smaller
20
+ * than the alias implies. Retrying that is time spent to arrive at the same answer.
21
+ *
22
+ * So a pool where every attempt was refused is not transient, however transient the wrapper says
23
+ * it was, and saying which models failed and how turns "it broke again" into a decision the person
24
+ * can actually make.
25
+ */
26
+ export interface RouterAttempt {
27
+ model: string;
28
+ status: number;
29
+ }
30
+ export interface RouterFailure {
31
+ attempts: RouterAttempt[];
32
+ /** True when at least one upstream failure could plausibly succeed on another try. */
33
+ worthRetrying: boolean;
34
+ /** What to tell the person, when there is something worth telling them. */
35
+ advice: string;
36
+ }
37
+ /**
38
+ * The per-model attempts a router listed, if it listed any.
39
+ *
40
+ * Deliberately narrow: it matches a bracketed list of `name (status)` pairs and nothing else,
41
+ * because guessing at the shape of a message from an unknown gateway is how a parser starts
42
+ * inventing failures that never happened.
43
+ */
44
+ export declare function parseRouterAttempts(message: string): RouterAttempt[];
45
+ /** Whether one upstream status could plausibly go differently next time. */
46
+ export declare function statusWorthRetrying(status: number): boolean;
47
+ /** What a status means, in words a person can act on. */
48
+ export declare function describeStatus(status: number): string;
49
+ /**
50
+ * Reads a router failure, if that is what this is.
51
+ *
52
+ * Returns null for anything that does not carry a per-model list, so ordinary errors keep their
53
+ * ordinary handling rather than being re-interpreted by a parser that wanted to find something.
54
+ */
55
+ export declare function readRouterFailure(message: string): RouterFailure | null;
56
+ //# sourceMappingURL=router-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-failure.d.ts","sourceRoot":"","sources":["../src/router-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,sFAAsF;IACtF,aAAa,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAapE;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAuCvE"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Reading a router's own account of what it tried.
3
+ *
4
+ * A gateway fronting many models reports failure as one message listing every upstream it
5
+ * attempted, which arrives looking like a single opaque error:
6
+ *
7
+ * Stream ended before producing a non-ping SSE event
8
+ * [oc/deepseek-v4-flash-free (400), oc/nemotron-3-ultra-free (502)] (bad_gateway)
9
+ *
10
+ * Treated as one failure that is worth retrying, which is what it looks like, the run retries
11
+ * against the same exhausted pool and then gives up — reported three times in a row by the same
12
+ * person, on the same alias, with the same two models.
13
+ *
14
+ * The list is the useful part, and the status beside each name says something different about each:
15
+ *
16
+ * - 5xx is the upstream being unwell. Retrying can reach a healthy one.
17
+ * - 429 is a quota. Retrying can work once it resets, which is usually seconds.
18
+ * - 4xx other than 429 is the REQUEST being refused, and it will be refused identically every
19
+ * time. On a free model it is almost always the prompt exceeding a context window far smaller
20
+ * than the alias implies. Retrying that is time spent to arrive at the same answer.
21
+ *
22
+ * So a pool where every attempt was refused is not transient, however transient the wrapper says
23
+ * it was, and saying which models failed and how turns "it broke again" into a decision the person
24
+ * can actually make.
25
+ */
26
+ /**
27
+ * The per-model attempts a router listed, if it listed any.
28
+ *
29
+ * Deliberately narrow: it matches a bracketed list of `name (status)` pairs and nothing else,
30
+ * because guessing at the shape of a message from an unknown gateway is how a parser starts
31
+ * inventing failures that never happened.
32
+ */
33
+ export function parseRouterAttempts(message) {
34
+ const bracketed = /\[([^\]]*\(\s*\d{3}\s*\)[^\]]*)\]/.exec(message);
35
+ if (!bracketed)
36
+ return [];
37
+ const out = [];
38
+ // "oc/deepseek-v4-flash-free (400)", separated by commas.
39
+ const pattern = /([^,()\s][^,()]*?)\s*\(\s*(\d{3})\s*\)/g;
40
+ let match;
41
+ while ((match = pattern.exec(bracketed[1])) !== null) {
42
+ const model = match[1].trim();
43
+ const status = Number(match[2]);
44
+ if (model)
45
+ out.push({ model, status });
46
+ }
47
+ return out;
48
+ }
49
+ /** Whether one upstream status could plausibly go differently next time. */
50
+ export function statusWorthRetrying(status) {
51
+ if (status === 429)
52
+ return true; // a quota, which resets
53
+ if (status >= 500)
54
+ return true; // the upstream being unwell
55
+ return false; // a refused request stays refused
56
+ }
57
+ /** What a status means, in words a person can act on. */
58
+ export function describeStatus(status) {
59
+ if (status === 400)
60
+ return 'refused the request — usually the prompt exceeding its context window';
61
+ if (status === 401 || status === 403)
62
+ return 'refused the credential';
63
+ if (status === 404)
64
+ return 'is not served by this gateway';
65
+ if (status === 413)
66
+ return 'said the request was too large';
67
+ if (status === 429)
68
+ return 'is out of quota for now';
69
+ if (status >= 500)
70
+ return 'is failing upstream';
71
+ return `answered ${status}`;
72
+ }
73
+ /**
74
+ * Reads a router failure, if that is what this is.
75
+ *
76
+ * Returns null for anything that does not carry a per-model list, so ordinary errors keep their
77
+ * ordinary handling rather than being re-interpreted by a parser that wanted to find something.
78
+ */
79
+ export function readRouterFailure(message) {
80
+ const attempts = parseRouterAttempts(message);
81
+ if (attempts.length === 0)
82
+ return null;
83
+ const retryable = attempts.filter(a => statusWorthRetrying(a.status));
84
+ const refused = attempts.filter(a => !statusWorthRetrying(a.status));
85
+ const lines = attempts.map(a => ` ${a.model} ${describeStatus(a.status)}`);
86
+ if (retryable.length === 0) {
87
+ return {
88
+ attempts,
89
+ worthRetrying: false,
90
+ advice: [
91
+ `The gateway tried ${attempts.length} model${attempts.length === 1 ? '' : 's'} and every `
92
+ + `one refused the request, so trying again will reach the same answer:`,
93
+ ...lines,
94
+ '',
95
+ refused.some(a => a.status === 400 || a.status === 413)
96
+ ? 'A refused request on a free model is nearly always its context window, which is '
97
+ + 'usually far smaller than the alias suggests. Pin a specific model with a window you '
98
+ + 'know, or shorten the conversation.'
99
+ : 'Pin a specific model rather than an alias, so the choice is yours rather than the '
100
+ + "router's.",
101
+ ].join('\n'),
102
+ };
103
+ }
104
+ return {
105
+ attempts,
106
+ worthRetrying: true,
107
+ advice: [
108
+ `The gateway tried ${attempts.length} model${attempts.length === 1 ? '' : 's'}:`,
109
+ ...lines,
110
+ '',
111
+ refused.length > 0
112
+ ? `${retryable.length} of them could go differently on another attempt, so this is being `
113
+ + `retried — but ${refused.length} will not, and if the retries run out those are why.`
114
+ : 'All of them could go differently on another attempt, so this is being retried.',
115
+ ].join('\n'),
116
+ };
117
+ }
118
+ //# sourceMappingURL=router-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-failure.js","sourceRoot":"","sources":["../src/router-failure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-client.d.ts","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAmoErC"}
1
+ {"version":3,"file":"ui-client.d.ts","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAk1ErC"}
@@ -83,11 +83,14 @@ const el = (tag, cls, text) => {
83
83
  };
84
84
  const mark = (cls) => el('div', 'mark' + (cls ? ' ' + cls : ''));
85
85
  const stream = () => $('stream');
86
+ // The conversation column, which is what scrolls. It used to be the whole chat tab, and the file
87
+ // panel beside it scrolled along with the transcript instead of on its own.
88
+ const conv = () => $('conv');
86
89
  const atBottom = () => {
87
- const f = $('chatview');
90
+ const f = conv();
88
91
  return f.scrollHeight - f.scrollTop - f.clientHeight < 100;
89
92
  };
90
- const stick = (was) => { if (was) $('chatview').scrollTop = $('chatview').scrollHeight; };
93
+ const stick = (was) => { if (was) conv().scrollTop = conv().scrollHeight; };
91
94
  const add = (node) => { const was = atBottom(); stream().appendChild(node); stick(was); return node; };
92
95
  const clearHero = () => { const h = stream().querySelector('.hero'); if (h) h.remove(); };
93
96
  /**
@@ -402,22 +405,24 @@ function onEvent(e) {
402
405
  turn.tools += 1;
403
406
  $('livetool').textContent = e.name + (e.detail ? ' ' + e.detail : '');
404
407
  renderTool(e);
405
- // Follow it: the path a tool names is the file to be looking at.
406
- watchPath(pathFromTool(e), e.name, false);
408
+ // Follow it: not just which file, but which lines and which pattern.
409
+ watchTool(e, false);
407
410
  break;
408
411
  case 'tool-output':
409
412
  if (state.lastTool) {
410
413
  state.lastTool.body.textContent =
411
414
  (state.lastTool.body.textContent + e.line + '\n').slice(-5000);
412
415
  }
416
+ // And in the panel, where a running command is the thing being watched.
417
+ watchOutput(e.line);
413
418
  break;
414
419
  case 'tool-done': {
415
420
  finishTool(e);
416
421
  setBusy(true, 'thinking');
417
422
  $('livetool').textContent = '';
418
423
  // Once it has finished writing, the diff is what there is to see.
419
- const wrotePath = pathFromTool(e);
420
- if (e.ok && toolWrites(e.name)) watchPath(wrotePath || follow.path, e.name, true);
424
+ watchTool(e, true);
425
+ stopWatchClock();
421
426
  break;
422
427
  }
423
428
  case 'plan': renderPlan(e.steps); break;
@@ -1627,7 +1632,7 @@ async function openPast(file) {
1627
1632
  if (!data.entries.length) {
1628
1633
  stream().appendChild(el('div', 'empty', 'This session has no transcript in it.'));
1629
1634
  }
1630
- $('chatview').scrollTop = 0;
1635
+ conv().scrollTop = 0;
1631
1636
  }
1632
1637
 
1633
1638
  async function refreshSessions() {
@@ -1849,40 +1854,59 @@ $('pmode').onclick = async () => {
1849
1854
  }
1850
1855
  $('modedlg').showModal();
1851
1856
  };
1852
- /* ── following the file being worked on ───────────────────────────────────────────────────── */
1857
+ /* ── watching it work ─────────────────────────────────────────────────────────────────────── */
1853
1858
 
1854
1859
  /**
1855
- * The panel beside the conversation, showing whatever the agent is touching.
1860
+ * The panel beside the conversation, showing what the agent is doing while it does it.
1856
1861
  *
1857
- * On by default, because the interesting part of watching an agent work is watching files change,
1858
- * and a view you have to go and click is one you find out about after the fact. Remembered per
1859
- * browser: a preference about a layout belongs to whoever is looking at it.
1862
+ * Not "the last file it mentioned". A tool call says more than which file: read_files says which
1863
+ * LINES, grep_search says which pattern, execute_command streams its output as it runs. All of that
1864
+ * was already arriving and being thrown away, and the difference between showing a file and showing
1865
+ * the four lines actually read is the difference between a decoration and a view.
1866
+ *
1867
+ * On by default, remembered per browser, and closable three ways — the pill, the panel's own
1868
+ * button, and Escape — because a panel that follows you around had better be easy to stop.
1860
1869
  */
1861
1870
  const follow = {
1862
1871
  on: (() => { try { return localStorage.getItem('koneck.follow') !== 'off'; } catch (e) { return true; } })(),
1863
1872
  path: null,
1864
- /** Set while a fetch is in flight, so a burst of tool calls does not queue a burst of requests. */
1873
+ /** 'code' | 'diff' | 'term' what the body is currently showing. */
1874
+ kind: null,
1875
+ verb: '',
1865
1876
  busy: false,
1866
- /** The path a newer tool named while a fetch was running. */
1867
1877
  pending: null,
1878
+ /** Line numbers under attention, one-based. */
1879
+ attention: [],
1880
+ /** Text to mark inside those lines: a grep pattern, or the text a replace is looking for. */
1881
+ needle: null,
1882
+ /** Lines of a running command's output, in arrival order. */
1883
+ output: [],
1884
+ /** Everything this turn has touched: { label, path, verb, kind, ok }. */
1885
+ trail: [],
1886
+ startedAt: 0,
1887
+ timer: null,
1868
1888
  };
1869
1889
 
1870
- /** The file a tool is acting on, from its arguments. Null when it is not about a file. */
1871
- function pathFromTool(e) {
1872
- let args = e.args;
1873
- if (!args && e.detail) args = null;
1874
- if (args) {
1875
- try {
1876
- const parsed = JSON.parse(args);
1877
- for (const key of ['path', 'file', 'filename', 'file_path']) {
1878
- if (typeof parsed[key] === 'string' && parsed[key].trim()) return parsed[key].trim();
1879
- }
1880
- if (Array.isArray(parsed.paths) && typeof parsed.paths[0] === 'string') return parsed.paths[0];
1881
- } catch (err) { /* not JSON: fall through to the one-line detail */ }
1882
- }
1883
- // The detail line is often just the path, which is enough to follow by.
1884
- if (e.detail && /[./]/.test(e.detail) && !/\s/.test(e.detail.trim())) return e.detail.trim();
1885
- return null;
1890
+ /** How many output lines a command keeps in view. Beyond this the head is dropped. */
1891
+ const WATCH_OUTPUT_LINES = 400;
1892
+
1893
+ /** What a tool is doing, as a word. The verb is the most informative thing in the header. */
1894
+ function verbFor(name) {
1895
+ const n = String(name || '');
1896
+ if (/^read_files$/.test(n)) return 'reading';
1897
+ if (/grep|search_files/.test(n)) return 'searching';
1898
+ if (/glob/.test(n)) return 'matching';
1899
+ if (/list_dir/.test(n)) return 'listing';
1900
+ if (/^write_file$/.test(n)) return 'writing';
1901
+ if (/edit|patch|apply_diff|search_replace/.test(n)) return 'editing';
1902
+ if (/execute_command|run/.test(n)) return 'running';
1903
+ if (/delete/.test(n)) return 'deleting';
1904
+ if (/move|rename/.test(n)) return 'moving';
1905
+ if (/^git_/.test(n)) return n.replace('git_', 'git ');
1906
+ if (/code_lookup/.test(n)) return 'asking the compiler';
1907
+ if (/fetch_url|web_search/.test(n)) return 'fetching';
1908
+ if (/^mcp__/.test(n)) return n.split('__')[1] || 'calling';
1909
+ return 'working';
1886
1910
  }
1887
1911
 
1888
1912
  /** Whether a tool changes a file, which decides whether the panel shows content or a diff. */
@@ -1890,37 +1914,217 @@ function toolWrites(name) {
1890
1914
  return /write|edit|patch|replace|apply|create|delete|move|rename|format/i.test(name || '');
1891
1915
  }
1892
1916
 
1917
+ /**
1918
+ * Everything a tool call says about where it is looking.
1919
+ *
1920
+ * The arguments are the only honest source for this: a detail line is a summary written for a
1921
+ * transcript row, and guessing a path out of prose is how a panel ends up confidently showing the
1922
+ * wrong file.
1923
+ */
1924
+ function targetOf(e) {
1925
+ const out = { path: null, lines: [], needle: null, command: null };
1926
+ let parsed = null;
1927
+ try { parsed = e.args ? JSON.parse(e.args) : null; } catch (err) { parsed = null; }
1928
+ if (parsed) {
1929
+ for (const key of ['path', 'file', 'file_path', 'filename']) {
1930
+ if (typeof parsed[key] === 'string' && parsed[key].trim()) { out.path = parsed[key].trim(); break; }
1931
+ }
1932
+ if (!out.path && Array.isArray(parsed.paths) && typeof parsed.paths[0] === 'string') {
1933
+ out.path = parsed.paths[0];
1934
+ }
1935
+ // read_files says which lines. This is the whole point: showing the region, not the file.
1936
+ if (typeof parsed.offset === 'number') {
1937
+ const from = Math.max(1, parsed.offset);
1938
+ const count = typeof parsed.limit === 'number' && parsed.limit > 0 ? parsed.limit : 40;
1939
+ for (let i = from; i < from + Math.min(count, 400); i++) out.lines.push(i);
1940
+ }
1941
+ if (typeof parsed.pattern === 'string') out.needle = parsed.pattern;
1942
+ if (typeof parsed.search === 'string') out.needle = parsed.search;
1943
+ if (typeof parsed.command === 'string') out.command = parsed.command;
1944
+ }
1945
+ if (!out.path && !out.command && e.detail && /[./]/.test(e.detail) && !/\s/.test(e.detail.trim())) {
1946
+ out.path = e.detail.trim();
1947
+ }
1948
+ return out;
1949
+ }
1950
+
1893
1951
  function setFollow(on) {
1894
1952
  follow.on = on;
1895
1953
  try { localStorage.setItem('koneck.follow', on ? 'on' : 'off'); } catch (e) {}
1896
1954
  $('pfollow').innerHTML = 'follow <b>' + (on ? 'on' : 'off') + '</b>';
1897
- $('watch').hidden = !on || !follow.path;
1898
- if (on && follow.path) void showWatched(follow.path, null);
1955
+ $('watch').hidden = !on || (!follow.path && follow.kind !== 'term');
1956
+ if (!on) stopWatchClock();
1957
+ else if (follow.path) void showWatched(follow.path, follow.kind === 'diff');
1899
1958
  }
1900
1959
 
1901
- /** Points the panel at a path. Cheap to call repeatedly; only the newest target is fetched. */
1902
- function watchPath(path, toolName, wrote) {
1903
- if (!follow.on || !path) return;
1904
- follow.path = path;
1960
+ function stopWatchClock() {
1961
+ if (follow.timer) { clearInterval(follow.timer); follow.timer = null; }
1962
+ $('wms').textContent = '';
1963
+ }
1964
+
1965
+ /** The header: the verb, the target, and how long this step has been going. */
1966
+ function watchHead(verb, target) {
1967
+ $('wtool').textContent = verb;
1968
+ $('wpath').textContent = target;
1969
+ follow.startedAt = Date.now();
1970
+ if (!follow.timer) {
1971
+ follow.timer = setInterval(() => {
1972
+ $('wms').textContent = ms(Date.now() - follow.startedAt);
1973
+ }, 200);
1974
+ }
1975
+ }
1976
+
1977
+ /** Adds to the trail, or marks the existing entry live. Bounded, newest last. */
1978
+ function trailPush(entry) {
1979
+ const key = entry.label;
1980
+ const existing = follow.trail.find((t) => t.label === key);
1981
+ if (existing) { Object.assign(existing, entry); } else { follow.trail.push(entry); }
1982
+ while (follow.trail.length > 14) follow.trail.shift();
1983
+ drawTrail(key);
1984
+ }
1985
+
1986
+ function drawTrail(activeLabel) {
1987
+ const host = $('wtrail');
1988
+ host.innerHTML = '';
1989
+ host.hidden = follow.trail.length === 0;
1990
+ for (const t of follow.trail) {
1991
+ const chip = el('div', 'wchip' + (t.label === activeLabel ? ' on' : '') + (t.ok === false ? ' bad' : ''));
1992
+ chip.appendChild(el('span', 'dot'));
1993
+ chip.appendChild(el('span', null, t.label));
1994
+ chip.title = t.verb + ' ' + (t.path || t.label);
1995
+ // A trail you can walk back along. Revisiting stops the panel following, because otherwise
1996
+ // the next tool call would yank it away from whatever you went back to look at.
1997
+ chip.onclick = () => {
1998
+ if (t.kind === 'term') { drawTerm(t.verb, t.command || t.label, t.lines || []); drawTrail(t.label); return; }
1999
+ follow.path = t.path;
2000
+ follow.attention = t.lines || [];
2001
+ follow.needle = t.needle || null;
2002
+ watchHead(t.verb, t.path || t.label);
2003
+ stopWatchClock();
2004
+ void showWatched(t.path, t.kind === 'diff');
2005
+ drawTrail(t.label);
2006
+ };
2007
+ host.appendChild(chip);
2008
+ }
2009
+ // Keep the live end in view without dragging the reader back if they scrolled away.
2010
+ if (activeLabel) host.scrollLeft = host.scrollWidth;
2011
+ }
2012
+
2013
+ /** Points the panel at whatever a tool call is about. Cheap to call on every event. */
2014
+ function watchTool(e, done) {
2015
+ if (!follow.on) return;
2016
+ const t = targetOf(e);
2017
+ const verb = verbFor(e.name);
2018
+
2019
+ if (t.command) {
2020
+ // A command is not a file, and its output IS the thing to watch.
2021
+ follow.kind = 'term';
2022
+ follow.path = null;
2023
+ if (!done) { follow.output = []; follow.verb = verb; }
2024
+ $('watch').hidden = false;
2025
+ watchHead(verb, t.command);
2026
+ drawTerm(verb, t.command, follow.output);
2027
+ trailPush({ label: t.command.split(/\s+/)[0] || 'command', verb, kind: 'term',
2028
+ command: t.command, lines: follow.output, ok: done ? e.ok !== false : undefined });
2029
+ return;
2030
+ }
2031
+ if (!t.path) return;
2032
+
2033
+ follow.path = t.path;
2034
+ follow.attention = t.lines;
2035
+ follow.needle = t.needle;
2036
+ follow.kind = done && toolWrites(e.name) ? 'diff' : 'code';
2037
+ follow.verb = verb;
1905
2038
  $('watch').hidden = false;
1906
- $('wpath').textContent = path;
1907
- $('wtool').textContent = toolName || 'watching';
1908
- if (follow.busy) { follow.pending = [path, wrote]; return; }
1909
- void showWatched(path, wrote);
2039
+ watchHead(verb, t.path);
2040
+ trailPush({ label: t.path.split('/').pop() || t.path, verb, kind: follow.kind, path: t.path,
2041
+ lines: t.lines, needle: t.needle, ok: done ? e.ok !== false : undefined });
2042
+
2043
+ if (follow.busy) { follow.pending = [t.path, follow.kind === 'diff']; return; }
2044
+ void showWatched(t.path, follow.kind === 'diff');
2045
+ }
2046
+
2047
+ /** A line of a running command, as it arrives. */
2048
+ function watchOutput(line) {
2049
+ if (!follow.on || follow.kind !== 'term') return;
2050
+ follow.output.push(line);
2051
+ while (follow.output.length > WATCH_OUTPUT_LINES) follow.output.shift();
2052
+ const host = $('wbody');
2053
+ const term = host.querySelector('.wterm');
2054
+ if (!term) return;
2055
+ const wasAtEnd = host.scrollHeight - host.scrollTop - host.clientHeight < 40;
2056
+ term.appendChild(el('span', 'ln', line));
2057
+ // Follows the tail, unless the reader has scrolled up to look at something.
2058
+ if (wasAtEnd) host.scrollTop = host.scrollHeight;
2059
+ }
2060
+
2061
+ function drawTerm(verb, command, lines) {
2062
+ const host = $('wbody');
2063
+ host.innerHTML = '';
2064
+ const term = el('div', 'wterm');
2065
+ term.appendChild(el('span', 'cmd', '$ ' + command));
2066
+ for (const line of lines) term.appendChild(el('span', 'ln', line));
2067
+ if (lines.length === 0) term.appendChild(el('span', 'stub', 'waiting for output…'));
2068
+ host.appendChild(term);
1910
2069
  }
1911
2070
 
1912
2071
  /**
1913
- * Draws the panel.
2072
+ * Draws a file, with the region under attention marked.
1914
2073
  *
1915
- * A file that was only read is shown as itself. A file that was just written is shown as its diff,
1916
- * because what changed is the thing worth seeing and reading the whole file to find three new
1917
- * lines is work the panel should be doing.
2074
+ * The gutter and the source are separate columns, so a highlight has to be applied to both or the
2075
+ * numbers and the tint drift apart the moment a line wraps which is why neither column wraps.
1918
2076
  */
1919
- async function showWatched(path, wrote) {
2077
+ function drawCode(text, attention, needle) {
2078
+ const lines = text.split('\n');
2079
+ const hot = new Set(attention || []);
2080
+ const code = el('div', 'rows');
2081
+
2082
+ /*
2083
+ * One element per line in each column, and no newline characters inside them.
2084
+ *
2085
+ * The first version was a text node per line carrying its own newline, highlighted with an
2086
+ * inline-block. It measured correct — seventy rows in each column, the same four marked — and
2087
+ * rendered wrong: four consecutive highlighted lines came out as one, and the gutter jumped from
2088
+ * 44 to 49. An inline-block whose content ends in a newline, inside a pre-formatted parent, is
2089
+ * a layout argument nobody wins. Block rows cannot drift: row N of one column is row N of the
2090
+ * other, because each is exactly one line box tall by construction.
2091
+ */
2092
+ const gut = el('div', 'gut');
2093
+ const src = el('div', 'src');
2094
+ for (let i = 0; i < lines.length; i++) {
2095
+ const n = i + 1;
2096
+ const marked = hot.has(n);
2097
+ gut.appendChild(el('div', marked ? 'on' : null, String(n)));
2098
+
2099
+ const one = lines[i];
2100
+ const row = el('div', marked ? 'on' : null);
2101
+ // The exact text a pattern matched, inside the line — the finest grain the tool gives us.
2102
+ let did = false;
2103
+ if (needle && one) {
2104
+ const at = one.indexOf(needle);
2105
+ if (at !== -1) {
2106
+ row.appendChild(document.createTextNode(one.slice(0, at)));
2107
+ row.appendChild(el('span', 'hit', needle));
2108
+ row.appendChild(document.createTextNode(one.slice(at + needle.length)));
2109
+ did = true;
2110
+ }
2111
+ }
2112
+ // An empty line still needs to occupy one, or every column below it is off by one.
2113
+ if (!did) row.textContent = one === '' ? '\u200b' : one;
2114
+ src.appendChild(row);
2115
+ }
2116
+ code.appendChild(gut);
2117
+ code.appendChild(src);
2118
+ return code;
2119
+ }
2120
+
2121
+ /** Draws the panel for a path: the file itself, or its diff once it has been written. */
2122
+ async function showWatched(path, asDiff) {
2123
+ if (!path) return;
1920
2124
  follow.busy = true;
1921
2125
  const host = $('wbody');
1922
2126
  try {
1923
- if (wrote && state.session) {
2127
+ if (asDiff && state.session) {
1924
2128
  let ch = null;
1925
2129
  try {
1926
2130
  const out = await api('/api/changes?session=' + encodeURIComponent(state.session));
@@ -1929,7 +2133,7 @@ async function showWatched(path, wrote) {
1929
2133
  if (ch && ch.diff) {
1930
2134
  host.innerHTML = '';
1931
2135
  const head = el('div', 'wempty');
1932
- head.style.padding = '8px 12px';
2136
+ head.style.padding = '8px 13px';
1933
2137
  head.textContent = '+' + ch.added + ' \u2212' + ch.removed + ' ' + ch.kind;
1934
2138
  host.appendChild(head);
1935
2139
  host.appendChild(renderDiff(ch.diff));
@@ -1948,15 +2152,12 @@ async function showWatched(path, wrote) {
1948
2152
  host.appendChild(el('div', 'wempty', 'Binary file — nothing to show as text.'));
1949
2153
  return;
1950
2154
  }
1951
- const code = el('div', 'code');
1952
- const lines = data.text.split('\n');
1953
- code.appendChild(el('div', 'gut', lines.map((_, i) => i + 1).join('\n')));
1954
- code.appendChild(el('div', 'src', data.text));
1955
- host.appendChild(code);
2155
+ host.appendChild(drawCode(data.text, follow.attention, follow.needle));
2156
+ // Put the region being read in the middle of the panel, which is the point of knowing it.
2157
+ const first = host.querySelector('.src .on');
2158
+ if (first) first.scrollIntoView({ block: 'center' });
1956
2159
  } finally {
1957
2160
  follow.busy = false;
1958
- // A newer target arrived while this was in flight: honour the last one and drop the rest,
1959
- // which is what keeps a run of twenty edits to twenty files at one request rather than twenty.
1960
2161
  if (follow.pending) {
1961
2162
  const next = follow.pending;
1962
2163
  follow.pending = null;
@@ -1967,6 +2168,12 @@ async function showWatched(path, wrote) {
1967
2168
 
1968
2169
  $('pfollow').onclick = () => setFollow(!follow.on);
1969
2170
  $('wclose').onclick = () => setFollow(false);
2171
+ // Escape closes it too, unless something modal is open — a dialog owns Escape while it is up.
2172
+ addEventListener('keydown', (ev) => {
2173
+ if (ev.key !== 'Escape' || $('watch').hidden) return;
2174
+ if (document.querySelector('dialog[open]') || !$('palette').hidden) return;
2175
+ setFollow(false);
2176
+ });
1970
2177
 
1971
2178
  /* ── choosing a model ────────────────────────────────────────────────────────────────────── */
1972
2179
 
@@ -1 +1 @@
1
- {"version":3,"file":"ui-client.js","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAioElB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui-client.js","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAg1ElB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-css.d.ts","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8iB3C"}
1
+ {"version":3,"file":"ui-css.d.ts","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6mB3C"}
@@ -20,6 +20,8 @@ export function css(markUrl) {
20
20
  --cyan:#0d7f92; --cyan-ink:#ffffff; --amber:#8a5a00; --green:#0f7a4a; --red:#b4232a;
21
21
  --violet:#6d4bc4;
22
22
  --add-bg:#e4f6ea; --add-ink:#0d5c37; --del-bg:#fdeaea; --del-ink:#8f1c22;
23
+ /* The region a tool is reading, and the exact text it matched inside that region. */
24
+ --attn-bg:#e8f4fb; --attn-hit:#bde4f7;
23
25
  --shadow:0 1px 2px rgba(15,28,34,.07), 0 8px 24px rgba(15,28,34,.05);
24
26
  --radius:10px; --mono:ui-monospace,'SF Mono',Menlo,Consolas,'DejaVu Sans Mono',monospace;
25
27
  --mark:url("${markUrl}");
@@ -31,6 +33,8 @@ export function css(markUrl) {
31
33
  --cyan:#4dd6e8; --cyan-ink:#04181c; --amber:#e8b04d; --green:#57d99a; --red:#ef767b;
32
34
  --violet:#b39cfb;
33
35
  --add-bg:#0f2a1e; --add-ink:#7ee0a7; --del-bg:#2b1416; --del-ink:#f4a3a6;
36
+ --attn-bg:#10222c; --attn-hit:#1c3f52;
37
+ --attn-bg:#10222c; --attn-hit:#1c3f52;
34
38
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
35
39
  }
36
40
  }
@@ -525,8 +529,18 @@ dialog:has(.dlg.wide){max-width:560px}
525
529
  * find out about afterwards. This follows the tool calls: the path a tool names becomes the panel,
526
530
  * and once the file has actually been written it becomes that file's diff.
527
531
  */
532
+ /*
533
+ * Two scrollers, not one.
534
+ *
535
+ * .view is the scroller for every other tab, and the panel started out inside it — so scrolling
536
+ * the conversation scrolled the file with it, and the panel's own overflow never came into play
537
+ * because nothing bounded its height. The chat tab therefore does not scroll itself: the split
538
+ * fills it, and each half scrolls independently.
539
+ */
540
+ #chatview{overflow:hidden;display:flex}
528
541
  .chatsplit{flex:1;display:flex;min-height:0;min-width:0}
529
- .chatsplit .wrap{flex:1 1 auto;min-width:0}
542
+ .chatsplit .conv{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden}
543
+ .chatsplit .conv .wrap{min-width:0}
530
544
  .watch{flex:0 0 44%;max-width:720px;min-width:0;border-left:1px solid var(--line);
531
545
  display:flex;flex-direction:column;background:var(--panel-2)}
532
546
  .whead{display:flex;gap:9px;align-items:center;padding:9px 12px;background:var(--panel);
@@ -535,13 +549,62 @@ dialog:has(.dlg.wide){max-width:560px}
535
549
  flex:0 0 auto}
536
550
  .whead .wp{font-family:var(--mono);font-size:12px;flex:1;min-width:0;overflow:hidden;
537
551
  text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}
538
- .whead .wx{flex:0 0 auto;background:none;border:0;color:var(--dim);font-size:15px;cursor:pointer;
539
- line-height:1;padding:0 2px}
540
- .whead .wx:hover{color:var(--red)}
541
- .wbody{flex:1;overflow:auto;min-height:0}
552
+ .whead .wms{flex:0 0 auto;font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums;
553
+ font-family:var(--mono)}
554
+ /* A real hit area: a 15px glyph is a thing you aim at, not a thing you click. */
555
+ .whead .wx{flex:0 0 auto;background:none;border:0;color:var(--dim);font-size:17px;cursor:pointer;
556
+ line-height:1;padding:2px 8px;margin:-4px -6px -4px 0;border-radius:6px}
557
+ .whead .wx:hover{color:var(--red);background:var(--panel-2)}
558
+ .wbody{flex:1;overflow:auto;min-height:0;position:relative}
542
559
  .wbody .code{min-height:100%}
543
560
  .wbody .diff{border-top:0}
544
561
  .wempty{padding:22px 14px;color:var(--dim);font-size:12.5px;line-height:1.6}
562
+
563
+ /*
564
+ * Where it is looking, not just what at.
565
+ *
566
+ * A tool call says which lines it is reading and which pattern it is matching, so the panel can
567
+ * mark them: the region under attention is tinted and carries a marker in the gutter. Watching a
568
+ * file scroll past is not the same as seeing which four lines were actually read.
569
+ */
570
+ /*
571
+ * A row per line, in both columns.
572
+ *
573
+ * Not inline-blocks carrying their own newline: that measured correct and rendered wrong, four
574
+ * highlighted lines collapsing into one and the gutter jumping 44 → 49. A block row is exactly one
575
+ * line box by construction, so row N of the gutter is row N of the source and no highlight can
576
+ * make them drift.
577
+ */
578
+ .rows{display:flex;font-family:var(--mono);font-size:12.5px;line-height:1.5;align-items:stretch}
579
+ .rows .gut{flex:0 0 auto;padding:10px 10px 10px 14px;text-align:right;color:var(--dim);
580
+ background:var(--panel);border-right:1px solid var(--line);user-select:none;
581
+ font-variant-numeric:tabular-nums}
582
+ .rows .src{flex:1 1 auto;padding:10px 0 10px 14px;min-width:0;overflow-x:auto;tab-size:4}
583
+ .rows .gut > div,.rows .src > div{white-space:pre;height:1.5em}
584
+ .rows .gut > div.on{color:var(--cyan);background:var(--attn-bg)}
585
+ .rows .src > div.on{background:var(--attn-bg);box-shadow:inset 2px 0 0 var(--cyan)}
586
+ .rows .src .hit{background:var(--attn-hit);border-radius:2px}
587
+
588
+ /* A command, as it runs. */
589
+ .wterm{font-family:var(--mono);font-size:11.5px;line-height:1.5;padding:10px 13px;
590
+ white-space:pre-wrap;word-break:break-word;color:var(--muted)}
591
+ .wterm .cmd{color:var(--cyan);display:block;margin-bottom:7px}
592
+ .wterm .ln{display:block}
593
+ .wterm .stub{color:var(--dim);font-style:italic}
594
+
595
+ /* The trail: everything this turn has touched, still reachable. */
596
+ .wtrail{flex:0 0 auto;display:flex;gap:6px;padding:8px 10px;overflow-x:auto;
597
+ border-top:1px solid var(--line);background:var(--panel)}
598
+ .wtrail::-webkit-scrollbar{height:0}
599
+ .wchip{flex:0 0 auto;display:flex;gap:5px;align-items:center;padding:3px 9px;border-radius:999px;
600
+ border:1px solid var(--line);background:var(--panel-2);font-size:11px;cursor:pointer;
601
+ white-space:nowrap;color:var(--muted);font-family:var(--mono)}
602
+ .wchip:hover{border-color:var(--cyan);color:var(--ink)}
603
+ .wchip.on{border-color:var(--cyan);color:var(--cyan)}
604
+ .wchip .dot{width:5px;height:5px;border-radius:50%;background:var(--dim);flex:0 0 auto}
605
+ .wchip.on .dot{background:var(--cyan)}
606
+ .wchip.bad .dot{background:var(--red)}
607
+
545
608
  @media (max-width:1100px){ .watch{display:none} }
546
609
 
547
610
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"ui-css.js","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO;;;;;;;;;;gBAUO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkiBtB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui-css.js","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO;;;;;;;;;;;;gBAYO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+lBtB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,IAAI,IAAI,MAAM,CA2O7B"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,IAAI,IAAI,MAAM,CAmP7B"}
package/dist/web/ui.js CHANGED
@@ -65,6 +65,8 @@ export function page() {
65
65
 
66
66
  <div class="view" id="chatview">
67
67
  <div class="chatsplit">
68
+ <!-- The conversation is its own scroller so the panel beside it can be another. -->
69
+ <div class="conv" id="conv">
68
70
  <div class="wrap" id="stream">
69
71
  <div class="hero">
70
72
  <div class="mark"></div>
@@ -77,15 +79,21 @@ export function page() {
77
79
  </div>
78
80
  </div>
79
81
  </div>
82
+ </div>
80
83
  <!-- The file being worked on, beside the conversation rather than behind a tab. A tool call
81
84
  names a path; this shows it, and shows the diff once the file has actually been written. -->
82
85
  <aside class="watch" id="watch" hidden>
83
86
  <div class="whead">
84
87
  <span class="wt" id="wtool">watching</span>
85
88
  <span class="wp" id="wpath">&mdash;</span>
86
- <button class="wx" id="wclose" title="Stop following (also the follow pill)">&times;</button>
89
+ <span class="wms" id="wms"></span>
90
+ <button type="button" class="wx" id="wclose" aria-label="Stop following"
91
+ title="Stop following — or press Escape, or the follow pill">&times;</button>
87
92
  </div>
88
93
  <div class="wbody" id="wbody"></div>
94
+ <!-- Everything this turn has touched, in order. The current one is live; the rest are
95
+ one click away, which is what makes it a record rather than a glimpse. -->
96
+ <div class="wtrail" id="wtrail" hidden></div>
89
97
  </aside>
90
98
  </div>
91
99
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,IAAI;IAClB,OAAO;;;;;;;SAOA,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+NF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;EAC7C,YAAY,EAAE;;eAED,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,IAAI;IAClB,OAAO;;;;;;;SAOA,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAuOF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;EAC7C,YAAY,EAAE;;eAED,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koneck",
3
- "version": "2.34.0",
3
+ "version": "2.35.0",
4
4
  "description": "Kinetically Orchestrated Neural Execution Engine for Code",
5
5
  "type": "module",
6
6
  "bin": {