@agentworkforce/deploy 3.0.26 → 3.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/connect.d.ts CHANGED
@@ -108,6 +108,7 @@ export interface ConnectAllInput {
108
108
  workspace: string;
109
109
  noConnect: boolean;
110
110
  noPrompt?: boolean;
111
+ reconnectProviders?: readonly string[];
111
112
  io: DeployIO;
112
113
  integrations: IntegrationConnectResolver;
113
114
  /** Optional cloud-login recovery for interactive 401s. */
@@ -171,4 +172,50 @@ export declare function relayfileCatalogConfigKeyResolver(opts: {
171
172
  fetch?: typeof fetch;
172
173
  io?: Pick<DeployIO, 'warn'>;
173
174
  }): ProviderConfigKeyResolver;
175
+ /** One selectable candidate behind a {@link PersonaInputSpec.picker}. */
176
+ export interface PickerOption {
177
+ value: string;
178
+ label: string;
179
+ hint?: string;
180
+ }
181
+ /** Resolves the candidate list for a persona input's `picker`. */
182
+ export interface IntegrationOptionsResolver {
183
+ list(args: {
184
+ workspace: string;
185
+ provider: string;
186
+ resource: string;
187
+ }): Promise<PickerOption[]>;
188
+ }
189
+ /**
190
+ * Cloud-backed options resolver: `GET /api/v1/workspaces/<ws>/integrations/<provider>/options/<resource>`.
191
+ * The cloud triggers the provider's Nango `list-*` action and returns a
192
+ * normalized `{ options: [{ value, label, hint? }] }` body. Mirrors
193
+ * {@link relayfileCatalogConfigKeyResolver}'s auth + transport.
194
+ */
195
+ export declare function relayfileOptionsResolver(opts: {
196
+ apiUrl: string;
197
+ workspaceToken: string | (() => string | Promise<string>);
198
+ fetch?: typeof fetch;
199
+ }): IntegrationOptionsResolver;
200
+ export interface CollectPickerInputsInput {
201
+ persona: PersonaSpec;
202
+ workspace: string;
203
+ io: DeployIO;
204
+ resolver: IntegrationOptionsResolver;
205
+ /** Inputs resolved so far (e.g. from `--input`). Not mutated. */
206
+ inputs: Record<string, string>;
207
+ /** Providers that were just connected — pickers for others are skipped. */
208
+ connectedProviders: string[];
209
+ env?: NodeJS.ProcessEnv;
210
+ /** When true, never prompt; picker-annotated inputs are left to resolve normally. */
211
+ noPrompt?: boolean;
212
+ }
213
+ /**
214
+ * Walk the persona's picker-annotated inputs and, for any without a value yet,
215
+ * prompt the operator to choose one. Returns a new inputs map (the original is
216
+ * left untouched). Every failure mode is non-fatal: the input is simply left
217
+ * unset so the runtime resolves it the usual way (env → default) or fails loudly
218
+ * later, and the operator can always fall back to `--input NAME=…`.
219
+ */
220
+ export declare function collectPickerInputs(input: CollectPickerInputsInput): Promise<Record<string, string>>;
174
221
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
package/dist/connect.js CHANGED
@@ -45,20 +45,25 @@ export function relayfileIntegrationResolver(opts) {
45
45
  const workspaceId = workspace || opts.workspaceId;
46
46
  const token = await resolveWorkspaceToken(opts.workspaceToken);
47
47
  const effectiveSource = source ?? { kind: 'deployer_user' };
48
- const list = await fetchIntegrationsForScope({
48
+ const status = await fetchIntegrationStatusForScope({
49
49
  fetchImpl,
50
50
  apiUrl,
51
51
  token,
52
52
  workspaceId,
53
+ provider,
53
54
  source: effectiveSource,
54
55
  io
55
56
  });
56
- return listHasConnectedProvider(list, provider, {
57
- ...(expectedConfigKey ? { expectedConfigKey } : {}),
58
- ...(effectiveSource.kind === 'workspace_service_account'
59
- ? { serviceAccountName: effectiveSource.name }
60
- : {})
61
- });
57
+ if (isIntegrationListResponse(status)) {
58
+ return listHasConnectedProvider(status, provider, {
59
+ ...(expectedConfigKey ? { expectedConfigKey } : {}),
60
+ ...(effectiveSource.kind === 'workspace_service_account'
61
+ ? { serviceAccountName: effectiveSource.name }
62
+ : {})
63
+ });
64
+ }
65
+ return statusMatchesExpectedConfigKey(status, expectedConfigKey)
66
+ && isConnectedStatus(status);
62
67
  },
63
68
  async connect({ workspace, provider, source }) {
64
69
  const workspaceId = workspace || opts.workspaceId;
@@ -174,9 +179,16 @@ function providerHasEnvCredentials(provider) {
174
179
  export async function connectIntegrations(input) {
175
180
  const integrations = input.persona.integrations ?? {};
176
181
  const outcomes = [];
182
+ const subscription = input.persona.useSubscription
183
+ ? requireSubscriptionResolver(input.persona.id, input.subscription)
184
+ : undefined;
185
+ const subscriptionProvider = subscription
186
+ ? await connectSubscriptionProvider(input, subscription)
187
+ : undefined;
177
188
  for (const provider of Object.keys(integrations)) {
178
189
  const integrationEntry = integrations[provider] ?? {};
179
190
  const source = integrationEntry.source ?? { kind: 'deployer_user' };
191
+ const forceReconnect = input.reconnectProviders?.includes(provider) ?? false;
180
192
  const expectedConfigKey = input.providerConfigKeys
181
193
  ? await input.providerConfigKeys.resolve(provider).catch(() => undefined)
182
194
  : undefined;
@@ -184,11 +196,14 @@ export async function connectIntegrations(input) {
184
196
  let connected = await checkProviderConnected(input, provider, source, expectedConfigKey, (message) => {
185
197
  statusCheckFailure = message;
186
198
  });
187
- if (connected) {
199
+ if (connected && !forceReconnect) {
188
200
  input.io.info(`integrations.${provider}: already connected`);
189
201
  outcomes.push({ provider, status: 'already-connected' });
190
202
  continue;
191
203
  }
204
+ if (connected && forceReconnect) {
205
+ input.io.info(`integrations.${provider}: reconnect requested; opening a fresh connection flow`);
206
+ }
192
207
  if (statusCheckFailure
193
208
  && isIntegrationUnauthorizedFailure(statusCheckFailure)
194
209
  && !input.noPrompt
@@ -204,7 +219,7 @@ export async function connectIntegrations(input) {
204
219
  connected = await checkProviderConnected(input, provider, source, expectedConfigKey, (message) => {
205
220
  statusCheckFailure = message;
206
221
  });
207
- if (connected) {
222
+ if (connected && !forceReconnect) {
208
223
  input.io.info(`integrations.${provider}: already connected`);
209
224
  outcomes.push({ provider, status: 'already-connected' });
210
225
  continue;
@@ -220,7 +235,7 @@ export async function connectIntegrations(input) {
220
235
  });
221
236
  continue;
222
237
  }
223
- if (input.noPrompt) {
238
+ if (input.noPrompt && !forceReconnect) {
224
239
  input.io.error(`integrations.${provider}: not connected, and --no-prompt was passed. Connect it before deploying or run without --no-prompt.`);
225
240
  outcomes.push({
226
241
  provider,
@@ -229,7 +244,7 @@ export async function connectIntegrations(input) {
229
244
  });
230
245
  return { outcomes };
231
246
  }
232
- if (input.noConnect) {
247
+ if (input.noConnect && !forceReconnect) {
233
248
  input.io.error(`integrations.${provider}: not connected, and prompts are disabled`);
234
249
  outcomes.push({
235
250
  provider,
@@ -238,10 +253,12 @@ export async function connectIntegrations(input) {
238
253
  });
239
254
  continue;
240
255
  }
241
- const shouldConnect = await input.io.confirm(`Connect ${provider} now? (opens browser)`, { defaultValue: true });
242
- if (!shouldConnect) {
243
- outcomes.push({ provider, status: 'skipped', message: 'user declined to connect' });
244
- continue;
256
+ if (!forceReconnect) {
257
+ const shouldConnect = await input.io.confirm(`Connect ${provider} now? (opens browser)`, { defaultValue: true });
258
+ if (!shouldConnect) {
259
+ outcomes.push({ provider, status: 'skipped', message: 'user declined to connect' });
260
+ continue;
261
+ }
245
262
  }
246
263
  try {
247
264
  const result = await input.integrations.connect({
@@ -258,41 +275,39 @@ export async function connectIntegrations(input) {
258
275
  outcomes.push({ provider, status: 'failed', message });
259
276
  }
260
277
  }
261
- // Track the subscription provider only when this deploy actually
262
- // connected one — already-connected cases stay logged but do not
263
- // leak a sentinel string up to callers reading `subscriptionProvider`.
264
- let subscriptionProvider;
265
- if (input.persona.useSubscription) {
266
- if (!input.subscription) {
267
- throw new Error('persona has useSubscription:true but no subscription resolver was supplied to the deploy orchestrator');
268
- }
269
- const isConn = await input.subscription
270
- .isConnected({ workspace: input.workspace })
271
- .catch(() => false);
272
- if (!isConn) {
273
- if (input.noPrompt) {
274
- throw new Error('persona requires a subscription provider connection, but --no-prompt was passed. Connect it before deploying or run without --no-prompt.');
275
- }
276
- if (input.noConnect) {
277
- throw new Error('persona requires a subscription provider connection, but --no-connect was passed');
278
- }
279
- const ok = await input.io.confirm('persona has useSubscription:true — connect your LLM provider now?', { defaultValue: true });
280
- if (!ok) {
281
- throw new Error('user declined the subscription provider connect; deploy aborted');
282
- }
283
- const result = await input.subscription.connect({ workspace: input.workspace });
284
- subscriptionProvider = result.provider;
285
- input.io.info(`subscription: connected (${result.provider})`);
286
- }
287
- else {
288
- input.io.info('subscription: already connected');
289
- }
290
- }
291
278
  return {
292
279
  outcomes,
293
280
  ...(subscriptionProvider ? { subscriptionProvider } : {})
294
281
  };
295
282
  }
283
+ async function connectSubscriptionProvider(input, subscription) {
284
+ const isConn = await subscription
285
+ .isConnected({ workspace: input.workspace })
286
+ .catch(() => false);
287
+ if (isConn) {
288
+ input.io.info('subscription: already connected');
289
+ return undefined;
290
+ }
291
+ if (input.noPrompt) {
292
+ throw new Error('persona requires a subscription provider connection, but --no-prompt was passed. Connect it before deploying or run without --no-prompt.');
293
+ }
294
+ if (input.noConnect) {
295
+ throw new Error('persona requires a subscription provider connection, but --no-connect was passed');
296
+ }
297
+ const ok = await input.io.confirm('persona has useSubscription:true — connect your LLM provider now?', { defaultValue: true });
298
+ if (!ok) {
299
+ throw new Error('user declined the subscription provider connect; deploy aborted');
300
+ }
301
+ const result = await subscription.connect({ workspace: input.workspace });
302
+ input.io.info(`subscription: connected (${result.provider})`);
303
+ return result.provider;
304
+ }
305
+ function requireSubscriptionResolver(personaId, subscription) {
306
+ if (subscription)
307
+ return subscription;
308
+ throw new Error(`persona "${personaId}" sets useSubscription:true, but no subscription connector is available. ` +
309
+ 'Use the deploy orchestrator cloud mode, provide a subscription resolver, or remove useSubscription to use workforce-billed inference.');
310
+ }
296
311
  async function checkProviderConnected(input, provider, source, expectedConfigKey, onFailure) {
297
312
  return await input.integrations
298
313
  .isConnected({
@@ -485,6 +500,23 @@ async function fetchIntegrationsForScope(args) {
485
500
  }
486
501
  return await requestJson(args.fetchImpl, `${args.apiUrl}/api/v1/workspaces/${encodeURIComponent(args.workspaceId)}/integrations`, args.token);
487
502
  }
503
+ async function fetchIntegrationStatusForScope(args) {
504
+ const url = new URL(`${args.apiUrl}/api/v1/workspaces/${encodeURIComponent(args.workspaceId)}/integrations/${encodeURIComponent(args.provider)}/status`);
505
+ url.searchParams.set('scope', args.source.kind);
506
+ if (args.source.kind === 'workspace_service_account') {
507
+ url.searchParams.set('serviceAccountName', args.source.name);
508
+ }
509
+ try {
510
+ return await requestJson(args.fetchImpl, url.toString(), args.token);
511
+ }
512
+ catch (err) {
513
+ if (isCloudRequestError(err) && (err.status === 404 || err.status === 405)) {
514
+ args.io?.warn?.('cloud does not expose /integrations/<provider>/status yet; falling back to the integrations list with ready-only matching.');
515
+ return await fetchIntegrationsForScope(args);
516
+ }
517
+ throw err;
518
+ }
519
+ }
488
520
  function listHasConnectedProvider(body, provider, opts = {}) {
489
521
  const candidates = Array.isArray(body)
490
522
  ? body
@@ -515,48 +547,45 @@ function listHasConnectedProvider(body, provider, opts = {}) {
515
547
  return isConnectedStatus(record);
516
548
  });
517
549
  }
550
+ function isIntegrationListResponse(body) {
551
+ return Array.isArray(body)
552
+ || Boolean(body &&
553
+ typeof body === 'object' &&
554
+ Array.isArray(body.integrations));
555
+ }
556
+ function statusMatchesExpectedConfigKey(value, expectedConfigKey) {
557
+ if (!expectedConfigKey || !value || typeof value !== 'object' || Array.isArray(value)) {
558
+ return true;
559
+ }
560
+ const configKey = readString(value, 'configKey')
561
+ ?? readString(value, 'providerConfigKey')
562
+ ?? readString(value, 'backendIntegrationId');
563
+ return configKey === undefined || configKey === expectedConfigKey;
564
+ }
518
565
  /**
519
- * A row counts as "connected" when the cloud's derived state represents a
520
- * live OAuth grant, even if Nango's initial sync hasn't finished. The cloud
521
- * derives `status` from `initialSync + writeback` and emits one of:
566
+ * A provider counts as connected for deploy only when the cloud's
567
+ * runtime-visible status is ready. Pending/syncing rows mean the sandbox will
568
+ * not see a ready mounted provider yet, so deploy must prompt/reconnect
569
+ * instead of shipping a silently-dead proactive agent.
522
570
  *
523
571
  * - `ready` — sync complete, writeback healthy. Fully usable.
524
- * - `pending` — OAuth grant exists, sync queued (the gap between OAuth
525
- * completion and sync start). Persona can use it for
526
- * writes immediately; reads will see data once sync runs.
527
- * - `syncing` — initial sync running. Same operational status as `pending`
528
- * from the persona's perspective.
529
- * - `degraded` — sync complete but writeback lagging or paused. Connection
530
- * still works; reading at-rest data is fine; new writes may
531
- * queue but won't fail.
572
+ * - `pending` — OAuth row exists but runtime-visible sync is not ready.
573
+ * - `syncing` — initial sync is still running.
574
+ * - `degraded` — sync/writeback is unhealthy enough not to trust deploy.
532
575
  * - `error` — sync failed or writeback errored. Treat as not-connected
533
576
  * so the user re-runs OAuth (or fixes the upstream cause).
534
577
  *
535
- * The preflight accepts everything except `error` and missing rows. The
536
- * previous implementation accepted only `ready`, which forced users to wait
537
- * for the initial sync to complete between `agentworkforce login` and their
538
- * first deploy — every fresh integration sat in `pending`/`syncing` for a
539
- * few minutes and tripped the "not connected" branch.
540
- *
541
578
  * Legacy fields (`connected`, `active`, `state`, `ready: true`, `oauth.connected`)
542
- * are kept for compatibility with older cloud surfaces and the env resolver.
579
+ * are intentionally narrowed here; deploy is checking runtime readiness, not
580
+ * merely OAuth existence.
543
581
  */
544
582
  function isConnectedStatus(value) {
545
583
  if (!value || typeof value !== 'object' || Array.isArray(value))
546
584
  return false;
547
585
  const record = value;
548
- return record.status === 'connected'
549
- || record.status === 'active'
550
- || record.status === 'ready'
551
- || record.status === 'pending'
552
- || record.status === 'syncing'
553
- || record.status === 'degraded'
554
- || record.state === 'connected'
586
+ return record.status === 'ready'
555
587
  || record.state === 'ready'
556
- || record.ready === true
557
- || (record.oauth !== null
558
- && typeof record.oauth === 'object'
559
- && record.oauth.connected === true);
588
+ || record.ready === true;
560
589
  }
561
590
  /**
562
591
  * Resolver backed by `GET /api/v1/integrations/catalog`. The catalog is
@@ -619,4 +648,118 @@ function openBrowser(url) {
619
648
  });
620
649
  child.unref();
621
650
  }
651
+ /**
652
+ * Cloud-backed options resolver: `GET /api/v1/workspaces/<ws>/integrations/<provider>/options/<resource>`.
653
+ * The cloud triggers the provider's Nango `list-*` action and returns a
654
+ * normalized `{ options: [{ value, label, hint? }] }` body. Mirrors
655
+ * {@link relayfileCatalogConfigKeyResolver}'s auth + transport.
656
+ */
657
+ export function relayfileOptionsResolver(opts) {
658
+ const fetchImpl = opts.fetch ?? fetch;
659
+ const apiUrl = opts.apiUrl.replace(/\/+$/, '');
660
+ return {
661
+ async list({ workspace, provider, resource }) {
662
+ const token = await resolveWorkspaceToken(opts.workspaceToken);
663
+ const url = `${apiUrl}/api/v1/workspaces/${encodeURIComponent(workspace)}` +
664
+ `/integrations/${encodeURIComponent(provider)}/options/${encodeURIComponent(resource)}`;
665
+ const body = await requestJson(fetchImpl, url, token);
666
+ const raw = body && typeof body === 'object' ? body.options : undefined;
667
+ if (!Array.isArray(raw))
668
+ return [];
669
+ const options = [];
670
+ for (const entry of raw) {
671
+ const value = readString(entry, 'value');
672
+ if (!value)
673
+ continue;
674
+ const label = readString(entry, 'label') ?? value;
675
+ const hint = readString(entry, 'hint');
676
+ options.push({ value, label, ...(hint ? { hint } : {}) });
677
+ }
678
+ return options;
679
+ }
680
+ };
681
+ }
682
+ /**
683
+ * Walk the persona's picker-annotated inputs and, for any without a value yet,
684
+ * prompt the operator to choose one. Returns a new inputs map (the original is
685
+ * left untouched). Every failure mode is non-fatal: the input is simply left
686
+ * unset so the runtime resolves it the usual way (env → default) or fails loudly
687
+ * later, and the operator can always fall back to `--input NAME=…`.
688
+ */
689
+ export async function collectPickerInputs(input) {
690
+ const resolved = { ...input.inputs };
691
+ const declared = input.persona.inputs ?? {};
692
+ const env = input.env ?? process.env;
693
+ const connected = new Set(input.connectedProviders);
694
+ for (const [name, spec] of Object.entries(declared)) {
695
+ const picker = spec.picker;
696
+ if (!picker)
697
+ continue;
698
+ // Already have a value? An explicit --input or a set env var wins; never
699
+ // override what the operator already chose.
700
+ const envName = spec.env ?? name;
701
+ const existing = resolved[name] ?? (env[envName] ?? undefined);
702
+ if (existing !== undefined && existing.trim() !== '')
703
+ continue;
704
+ if (input.noPrompt) {
705
+ // Non-interactive run: surface why the value is unset rather than
706
+ // letting it silently fall through to env/default.
707
+ input.io.warn(`skipping ${picker.provider} ${picker.resource} picker for input ${name} because --no-prompt is set; pass --input ${name}=… to set it`);
708
+ continue;
709
+ }
710
+ if (!connected.has(picker.provider)) {
711
+ // The provider wasn't connected this run (declared elsewhere, env path,
712
+ // or skipped) — we can't reliably list it, so leave the input alone.
713
+ continue;
714
+ }
715
+ let options;
716
+ try {
717
+ options = await input.resolver.list({
718
+ workspace: input.workspace,
719
+ provider: picker.provider,
720
+ resource: picker.resource
721
+ });
722
+ }
723
+ catch (err) {
724
+ const message = err instanceof Error ? err.message : String(err);
725
+ input.io.warn(`could not list ${picker.provider} ${picker.resource} for input ${name} (${message}); pass --input ${name}=… to set it`);
726
+ continue;
727
+ }
728
+ if (options.length === 0) {
729
+ input.io.warn(`no ${picker.provider} ${picker.resource} available for input ${name}; pass --input ${name}=… to set it`);
730
+ continue;
731
+ }
732
+ const label = spec.description ? `${name} — ${spec.description}` : name;
733
+ const chosen = await selectOption(input.io, `Select ${label}`, options);
734
+ if (chosen)
735
+ resolved[name] = chosen;
736
+ }
737
+ return resolved;
738
+ }
739
+ /**
740
+ * Render a chooser for `options` and return the picked value. Uses the IO's
741
+ * native `select` when available (rich CLIs); otherwise falls back to a
742
+ * numbered prompt that also accepts a pasted raw value.
743
+ */
744
+ async function selectOption(io, question, options) {
745
+ if (io.select) {
746
+ return io.select(question, options);
747
+ }
748
+ io.info(`${question}:`);
749
+ options.forEach((option, index) => {
750
+ const hint = option.hint ? ` — ${option.hint}` : '';
751
+ io.info(` ${index + 1}) ${option.label}${hint} [${option.value}]`);
752
+ });
753
+ const answer = (await io.prompt(`Enter 1-${options.length} (or paste a value)`, { defaultValue: '1' })).trim();
754
+ if (answer === '')
755
+ return options[0]?.value;
756
+ // Only a pure decimal string is an index — `String(index) === answer` rejects
757
+ // pasted ids like `1abc` (which parseInt would coerce to 1), matching the
758
+ // terminal IO's select(). Anything else is treated as a pasted raw value.
759
+ const index = Number.parseInt(answer, 10);
760
+ if (String(index) === answer && index >= 1 && index <= options.length) {
761
+ return options[index - 1]?.value;
762
+ }
763
+ return answer;
764
+ }
622
765
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C;;;;;;;;;;;;;GAaG;AACH,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AA2ErD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE;YAC5B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE;YACxB,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,0BAA0B,mBAAmB,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,mBAAmB,GAAG,QAAQ,CAAC,WAAW,EAAE,wIAAwI,CACjS,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,YAAY,EAAE,OAAO,QAAQ,EAAE,EAAE,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAU5C;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE/C,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAClE,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAsB,MAAM,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YAE/E,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC;gBAC3C,SAAS;gBACT,MAAM;gBACN,KAAK;gBACL,WAAW;gBACX,MAAM,EAAE,eAAe;gBACvB,EAAE;aACH,CAAC,CAAC;YACH,OAAO,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC9C,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,2BAA2B;oBACtD,CAAC,CAAC,EAAE,kBAAkB,EAAE,eAAe,CAAC,IAAI,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC3C,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAsB,MAAM,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YAE/E,4DAA4D;YAC5D,+DAA+D;YAC/D,kEAAkE;YAClE,iEAAiE;YACjE,qEAAqE;YACrE,gEAAgE;YAChE,iCAAiC;YACjC,MAAM,WAAW,GAAG;gBAClB,mBAAmB,EAAE,CAAC,QAAQ,CAAC;gBAC/B,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC;aACrC,CAAC;YACF,IAAI,OAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,GAAG,MAAM,sBAAsB,kBAAkB,CACtF,WAAW,CACZ,+BAA+B,EAAE,KAAK,EAAE;oBACvC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sEAAsE;gBACtE,0EAA0E;gBAC1E,gEAAgE;gBAChE,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAChE,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;oBAClC,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpD,MAAM,iBAAiB,CACrB,yBAAyB,QAAQ,mCAAmC,WAAW,GAAG;wBAChF,CAAC,UAAU;4BACT,CAAC,CAAC,kBAAkB,UAAU,wHAAwH;4BACtJ,CAAC,CAAC,EAAE,CAAC;wBACP,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAChE,GAAG,CAAC,MAAM,EACV,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAC/C,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;mBAC/C,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;mBAClC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,+CAA+C,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC1F,EAAE,EAAE,IAAI,CAAC,cAAc,QAAQ,aAAa,UAAU,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,EAAE,EAAE,IAAI,EAAE,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC7B,MAAM,SAAS,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,sBAAsB,kBAAkB,CACzE,WAAW,CACZ,iBAAiB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzD,IAAI,SAAS;oBAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBACrE,8DAA8D;gBAC9D,0DAA0D;gBAC1D,6CAA6C;gBAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC;gBACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAChD,IAAI,eAAe,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;oBACzD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,SAAS,EACT,SAAS,CAAC,QAAQ,EAAE,EACpB,MAAM,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CACjD,CAAC;gBACF,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;2BAClD,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC;2BACzC,SAAS;2BACT,QAAQ,CAAC;oBACd,EAAE,EAAE,IAAI,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;oBACnC,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,4EAA4E,CAC9G,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,MAAyB;IAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,OAAO,CACZ,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB,GAAG,KAAK,QAAQ,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB,GAAG,KAAK,gBAAgB,CAAC,CAC9D,CAAC;AACJ,CAAC;AA2CD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAsB;IAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAgC,EAAE,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAsB,gBAAgB,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACvF,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB;YAChD,CAAC,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACzE,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,kBAAsC,CAAC;QAC3C,IAAI,SAAS,GAAG,MAAM,sBAAsB,CAC1C,KAAK,EACL,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE;YACV,kBAAkB,GAAG,OAAO,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,QAAQ,qBAAqB,CAAC,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QAED,IACE,kBAAkB;eACf,gCAAgC,CAAC,kBAAkB,CAAC;eACpD,CAAC,KAAK,CAAC,QAAQ;eACf,KAAK,CAAC,YAAY,EACrB,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,YAAY;iBACvC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;iBAC7E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,KAAK,CAAC,EAAE,CAAC,KAAK,CACZ,gBAAgB,QAAQ,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEL,IAAI,SAAS,EAAE,CAAC;gBACd,kBAAkB,GAAG,SAAS,CAAC;gBAC/B,SAAS,GAAG,MAAM,sBAAsB,CACtC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE;oBACV,kBAAkB,GAAG,OAAO,CAAC;gBAC/B,CAAC,CACF,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,QAAQ,qBAAqB,CAAC,CAAC;oBAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBACzD,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,EAAE,CAAC,KAAK,CACZ,gBAAgB,QAAQ,KAAK,wBAAwB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,mCAAmC,CACxI,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,EAAE,CAAC,KAAK,CACZ,gBAAgB,QAAQ,sGAAsG,CAC/H,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,qCAAqC;aAC/C,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,CAAC,KAAK,CACZ,gBAAgB,QAAQ,2CAA2C,CACpE,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,sCAAsC;aAChD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAC1C,WAAW,QAAQ,uBAAuB,EAC1C,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,QAAQ,gBAAgB,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,QAAQ,qBAAqB,OAAO,EAAE,CAAC,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,iEAAiE;IACjE,uEAAuE;IACvE,IAAI,oBAAwC,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY;aACpC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;aAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,0IAA0I,CAC3I,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAC/B,mEAAmE,EACnE,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;YACF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAChF,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAsB,EACtB,QAAgB,EAChB,MAAyB,EACzB,iBAAqC,EACrC,SAAoC;IAEpC,OAAO,MAAM,KAAK,CAAC,YAAY;SAC5B,WAAW,CAAC;QACX,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ;QACR,MAAM;QACN,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yCAAyC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAgBD,SAAS,iBAAiB,CACxB,OAAe,EACf,MAAc,EACd,QAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAsB,CAAC;IACpD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACpD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACd,MAA8B,CAAC,KAAK,KAAK,kBAAkB,EAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAI,MAAkC,CAAC,SAAS,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,UAAoB;IAC9D,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,OAAO,GAA2B;QACtC,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,iBAAiB;QACjC,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;KACzB,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5D,IAAI,IAA2D,CAAC;IAChE,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAS,EAAE,CAAS;IAClD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,EAAE,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;gBACjB,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,KAAK,IAAI,OAAQ,GAA4B,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAuB,EACvB,GAAW,EACX,KAAa,EACb,OAAoB,EAAE;IAEtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,GAAG,IAAI;QACP,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,iBAAiB,CACrB,kLAAkL,EAClL,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,iBAAiB,CACrB,uMAAuM,EACvM,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,iBAAiB,CACrB,kEAAkE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACxI,GAAG,EACH,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CACxC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,CAAC,qCAAqC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,OAAO,+DAA+D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAe;IACvD,OAAO,mDAAmD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAgD;IACnF,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,yBAAyB,CAAC,IAOxC;IACC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,yBAAyB,CAAC;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,sEAAsE;YACtE,iEAAiE;YACjE,sEAAsE;YACtE,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CACb,sGAAsG;oBACpG,8DAA8D;oBAC9D,uCAAuC,CAC1C,CAAC;gBACF,OAAO,MAAM,WAAW,CACtB,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,CAAC,MAAM,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EACvF,IAAI,CAAC,KAAK,CACX,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,WAAW,CACtB,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,CAAC,MAAM,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EACvF,IAAI,CAAC,KAAK,CACX,CAAC;AACJ,CAAC;AAOD,SAAS,wBAAwB,CAC/B,IAAa,EACb,QAAgB,EAChB,OAAkB,EAAE;IAEpB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,IAAmC,CAAC,YAAY,CAAC;YACpG,CAAC,CAAE,IAAoC,CAAC,YAAY;YACpD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC7D,gEAAgE;YAChE,oEAAoE;YACpE,+DAA+D;YAC/D,mEAAmE;YACnE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YACvF,IAAI,OAAO,KAAK,IAAI,CAAC,kBAAkB;gBAAE,OAAO,KAAK,CAAC;QACxD,CAAC;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW;WAC/B,MAAM,CAAC,MAAM,KAAK,QAAQ;WAC1B,MAAM,CAAC,MAAM,KAAK,OAAO;WACzB,MAAM,CAAC,MAAM,KAAK,SAAS;WAC3B,MAAM,CAAC,MAAM,KAAK,SAAS;WAC3B,MAAM,CAAC,MAAM,KAAK,UAAU;WAC5B,MAAM,CAAC,KAAK,KAAK,WAAW;WAC5B,MAAM,CAAC,KAAK,KAAK,OAAO;WACxB,MAAM,CAAC,KAAK,KAAK,IAAI;WACrB,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;eACpB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;eAC/B,MAAM,CAAC,KAAiC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAKjD;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAwC,IAAI,CAAC;IAEtD,MAAM,IAAI,GAAG,KAAK,IAAkC,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,GAAG,MAAM,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,IAAgC,CAAC,SAAS,CAAC;gBAC9F,CAAC,CAAE,IAAiC,CAAC,SAAS;gBAC9C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YAC1F,IAAI,EAAE,IAAI,SAAS;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,QAAQ;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CACb,2CAA2C,OAAO,gEAAgE,CACnH,CAAC;oBACF,KAAK,GAAG,IAAI,CAAC;oBACb,OAAO,IAAI,GAAG,EAAkB,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC;YACxB,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,KAAa;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,GAAG,GAAI,KAAiC,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,QAAQ;QACrC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO;YACtB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,mEAAmE;IACrE,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}