@origintrail-official/dkg-core 10.0.20 → 10.0.21

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.
Files changed (79) hide show
  1. package/dist/absolute-rfc3987-iri.d.ts +8 -0
  2. package/dist/absolute-rfc3987-iri.d.ts.map +1 -0
  3. package/dist/absolute-rfc3987-iri.js +8 -0
  4. package/dist/absolute-rfc3987-iri.js.map +1 -0
  5. package/dist/author-catalog-directory.d.ts.map +1 -1
  6. package/dist/author-catalog-directory.js +68 -24
  7. package/dist/author-catalog-directory.js.map +1 -1
  8. package/dist/bounded-denial-logger.d.ts +10 -0
  9. package/dist/bounded-denial-logger.d.ts.map +1 -1
  10. package/dist/bounded-denial-logger.js +58 -14
  11. package/dist/bounded-denial-logger.js.map +1 -1
  12. package/dist/bounded-gzip.d.ts +20 -0
  13. package/dist/bounded-gzip.d.ts.map +1 -0
  14. package/dist/bounded-gzip.js +156 -0
  15. package/dist/bounded-gzip.js.map +1 -0
  16. package/dist/crypto/swm-sender-key.d.ts.map +1 -1
  17. package/dist/crypto/swm-sender-key.js +13 -5
  18. package/dist/crypto/swm-sender-key.js.map +1 -1
  19. package/dist/errors.d.ts +21 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +30 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/event-bus.d.ts +1 -0
  24. package/dist/event-bus.d.ts.map +1 -1
  25. package/dist/event-bus.js +1 -0
  26. package/dist/event-bus.js.map +1 -1
  27. package/dist/experimental-exact-batch-stream.d.ts +77 -0
  28. package/dist/experimental-exact-batch-stream.d.ts.map +1 -0
  29. package/dist/experimental-exact-batch-stream.js +198 -0
  30. package/dist/experimental-exact-batch-stream.js.map +1 -0
  31. package/dist/experimental-exact-batch-wire.d.ts +41 -0
  32. package/dist/experimental-exact-batch-wire.d.ts.map +1 -0
  33. package/dist/experimental-exact-batch-wire.js +116 -0
  34. package/dist/experimental-exact-batch-wire.js.map +1 -0
  35. package/dist/index.d.ts +9 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +9 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/network/address-policy.d.ts +5 -0
  40. package/dist/network/address-policy.d.ts.map +1 -1
  41. package/dist/network/address-policy.js +24 -5
  42. package/dist/network/address-policy.js.map +1 -1
  43. package/dist/network/index.d.ts +1 -1
  44. package/dist/network/index.d.ts.map +1 -1
  45. package/dist/network/index.js.map +1 -1
  46. package/dist/network/libp2p-network.d.ts +2 -1
  47. package/dist/network/libp2p-network.d.ts.map +1 -1
  48. package/dist/network/libp2p-network.js +4 -1
  49. package/dist/network/libp2p-network.js.map +1 -1
  50. package/dist/network/libp2p-peer-connect.d.ts +10 -4
  51. package/dist/network/libp2p-peer-connect.d.ts.map +1 -1
  52. package/dist/network/libp2p-peer-connect.js +73 -9
  53. package/dist/network/libp2p-peer-connect.js.map +1 -1
  54. package/dist/network/network.d.ts +19 -0
  55. package/dist/network/network.d.ts.map +1 -1
  56. package/dist/network/network.js.map +1 -1
  57. package/dist/network/peer-resolver.d.ts +11 -0
  58. package/dist/network/peer-resolver.d.ts.map +1 -1
  59. package/dist/network/peer-resolver.js +90 -15
  60. package/dist/network/peer-resolver.js.map +1 -1
  61. package/dist/protocol-outbox.d.ts +2 -2
  62. package/dist/protocol-outbox.js +2 -2
  63. package/dist/protocol-router.d.ts +36 -0
  64. package/dist/protocol-router.d.ts.map +1 -1
  65. package/dist/protocol-router.js +227 -156
  66. package/dist/protocol-router.js.map +1 -1
  67. package/dist/sparql-safe.d.ts +8 -0
  68. package/dist/sparql-safe.d.ts.map +1 -1
  69. package/dist/sparql-safe.js +13 -2
  70. package/dist/sparql-safe.js.map +1 -1
  71. package/dist/sparql-terms.d.ts +36 -0
  72. package/dist/sparql-terms.d.ts.map +1 -0
  73. package/dist/sparql-terms.js +98 -0
  74. package/dist/sparql-terms.js.map +1 -0
  75. package/dist/telemetry-api.d.ts +10 -4
  76. package/dist/telemetry-api.d.ts.map +1 -1
  77. package/dist/telemetry-api.js +3 -6
  78. package/dist/telemetry-api.js.map +1 -1
  79. package/package.json +2 -2
@@ -480,6 +480,218 @@ export class ProtocolRouter {
480
480
  lifecycle.release();
481
481
  }
482
482
  }
483
+ /**
484
+ * Own one dedicated duplex stream. Only negotiation may change routes;
485
+ * after callback entry no authenticated request is retried or replayed.
486
+ */
487
+ async withDuplexStream(peerIdStr, protocolId, options, exchange) {
488
+ this.validateDuplexStreamOptions(options);
489
+ const lifecycle = startRequestAbortLifecycle(options.timeoutMs, [options.signal, this.node.stopSignal]);
490
+ const signal = lifecycle.signal;
491
+ let stream;
492
+ const abortOwned = () => { if (stream)
493
+ abortStream(stream, signal.reason); };
494
+ signal.addEventListener('abort', abortOwned, { once: true });
495
+ try {
496
+ const openStream = await this.createAdmittedPeerStreamOperation(peerIdStr, protocolId, signal, options.timeoutMs);
497
+ ({ stream } = await openStream({
498
+ resolverTimeoutMs: options.timeoutMs,
499
+ afterDialFailure: 'reuse-limited',
500
+ cancelledResolution: 'throw',
501
+ }));
502
+ this.boundDuplexStreamBuffers(stream, options.maxReadBufferBytes);
503
+ const result = await exchange(stream, signal);
504
+ if (signal.aborted)
505
+ throw asAbortError(signal.reason);
506
+ await this.closeDuplexStream(stream, signal);
507
+ return result;
508
+ }
509
+ finally {
510
+ if (stream && stream.status !== 'closed')
511
+ abortStream(stream, new Error('duplex stream scope ended'));
512
+ signal.removeEventListener('abort', abortOwned);
513
+ lifecycle.release();
514
+ }
515
+ }
516
+ /** Read a bounded request, then retain its continuation for duplex work. */
517
+ registerDuplexStream(protocolId, readRequest, handler, options) {
518
+ this.validateDuplexStreamOptions(options);
519
+ if (!Number.isSafeInteger(options.maxRequestBytes) || options.maxRequestBytes <= 0
520
+ || options.maxRequestBytes > this.maxReadBytes)
521
+ throw new RangeError('Invalid duplex request limit');
522
+ this.node.libp2p.handle(protocolId, async (stream, connection) => {
523
+ const peerId = connection.remotePeer.toString();
524
+ const closed = new AbortController();
525
+ const onClose = () => closed.abort(new Error('duplex peer stream closed'));
526
+ const lifecycle = startRequestAbortLifecycle(options.timeoutMs, [options.signal, this.node.stopSignal, closed.signal]);
527
+ const signal = lifecycle.signal;
528
+ const onAbort = () => abortStream(stream, signal.reason);
529
+ let request;
530
+ stream.addEventListener('close', onClose, { once: true });
531
+ signal.addEventListener('abort', onAbort, { once: true });
532
+ try {
533
+ if (signal.aborted)
534
+ throw asAbortError(signal.reason);
535
+ this.rejectKnownRejectedInboundPeer(peerId, protocolId);
536
+ this.boundDuplexStreamBuffers(stream, options.maxReadBufferBytes);
537
+ request = await readRequest(stream, signal);
538
+ if (request.requestData.byteLength > options.maxRequestBytes)
539
+ throw new RangeError('Duplex request byte limit exceeded');
540
+ await this.requirePeerAccepted(peerId, protocolId, 'inbound', { signal, timeoutMs: options.timeoutMs });
541
+ if (signal.aborted)
542
+ throw asAbortError(signal.reason);
543
+ await handler({ ...request, peerId, stream, signal });
544
+ if (signal.aborted)
545
+ throw asAbortError(signal.reason);
546
+ stream.removeEventListener('close', onClose);
547
+ await this.closeDuplexStream(stream, signal);
548
+ }
549
+ catch (error) {
550
+ // Do not log authenticated request bytes, metadata, URLs or tokens.
551
+ abortStream(stream, error instanceof Error ? error : new Error('duplex stream failed'));
552
+ }
553
+ finally {
554
+ stream.removeEventListener('close', onClose);
555
+ signal.removeEventListener('abort', onAbort);
556
+ if (stream.status !== 'closed')
557
+ abortStream(stream, new Error('duplex stream scope ended'));
558
+ await request?.dispose?.().catch(() => undefined);
559
+ lifecycle.release();
560
+ }
561
+ }, { runOnLimitedConnection: true });
562
+ }
563
+ validateDuplexStreamOptions(options) {
564
+ if (!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs <= 0
565
+ || !Number.isSafeInteger(options.maxReadBufferBytes) || options.maxReadBufferBytes <= 0
566
+ || options.maxReadBufferBytes > this.maxReadBytes)
567
+ throw new RangeError('Invalid duplex stream limits');
568
+ }
569
+ boundDuplexStreamBuffers(stream, limit) {
570
+ stream.maxReadBufferLength = Math.min(stream.maxReadBufferLength || limit, limit);
571
+ stream.maxWriteBufferLength = Math.min(stream.maxWriteBufferLength || limit, limit);
572
+ }
573
+ async closeDuplexStream(stream, signal) {
574
+ // close() flushes and half-closes only the writable end. Wait for the
575
+ // peer's half-close too: resetting immediately could discard final bytes
576
+ // already handed to the transport but not yet consumed by the peer.
577
+ let onClose;
578
+ let onAbort;
579
+ const settled = new Promise((resolve, reject) => {
580
+ onClose = () => stream.status === 'closed' ? resolve() : reject(new Error('Duplex stream closed before settlement'));
581
+ onAbort = () => reject(asAbortError(signal.reason));
582
+ stream.addEventListener('close', onClose, { once: true });
583
+ signal.addEventListener('abort', onAbort, { once: true });
584
+ });
585
+ // The close operation may fail before the close-event promise is awaited.
586
+ void settled.catch(() => undefined);
587
+ try {
588
+ if (signal.aborted)
589
+ throw asAbortError(signal.reason);
590
+ await stream.close({ signal });
591
+ if (stream.status !== 'closed')
592
+ await settled;
593
+ }
594
+ finally {
595
+ stream.removeEventListener('close', onClose);
596
+ signal.removeEventListener('abort', onAbort);
597
+ }
598
+ }
599
+ /**
600
+ * Admission is checked once for the operation, before any transport work.
601
+ * Each open uses a fresh connection snapshot and resolver watch. The caller
602
+ * owns payload retries and chooses when a failed direct dial permits relay
603
+ * reuse; this operation never sends or replays application bytes.
604
+ */
605
+ async createAdmittedPeerStreamOperation(peerIdStr, protocolId, signal, timeoutMs) {
606
+ if (signal.aborted)
607
+ throw asAbortError(signal.reason);
608
+ await this.requirePeerAccepted(peerIdStr, protocolId, 'outbound', { signal, timeoutMs });
609
+ if (signal.aborted)
610
+ throw asAbortError(signal.reason);
611
+ // Keep parsing lazy: pooled sends may settle without a one-shot open.
612
+ let peerId;
613
+ return async (options) => {
614
+ if (signal.aborted)
615
+ throw asAbortError(signal.reason);
616
+ peerId ??= (await import('@libp2p/peer-id')).peerIdFromString(peerIdStr);
617
+ const targetPeer = peerId;
618
+ const libp2p = this.node.libp2p;
619
+ // Raw walks heal keyed-lookup misses. Remember every observed connection
620
+ // so the resolver yields only to a connection this pass has not tried.
621
+ const considered = new WeakSet();
622
+ const getConnections = () => {
623
+ const connections = rawGetConnectionsFor(libp2p, targetPeer);
624
+ for (const connection of connections)
625
+ considered.add(connection);
626
+ return connections;
627
+ };
628
+ const reuseOptions = {
629
+ peerHasDirectAddrs: async () => {
630
+ const peer = await libp2p.peerStore.get(targetPeer);
631
+ return (peer.addresses ?? []).some(({ multiaddr }) => {
632
+ const address = multiaddr?.toString?.() ?? '';
633
+ return Boolean(address) && !address.includes('/p2p-circuit');
634
+ });
635
+ },
636
+ allowLimitedWithDirectAddrs: options.allowLimitedWithDirectAddrs,
637
+ excludeConnections: options.excludeConnections,
638
+ };
639
+ let reused = await tryReuseExistingConnection(getConnections, protocolId, signal, reuseOptions);
640
+ if (!reused && this.peerResolver && !signal.aborted) {
641
+ // Only resolution follows the connection event signal. Negotiation and
642
+ // payload work keep the caller's original cancellation/deadline signal.
643
+ const connected = watchForNewPeerConnection(libp2p, targetPeer, considered);
644
+ const resolution = composeAbortSignalsScoped(signal, connected?.signal);
645
+ try {
646
+ if (!connected?.signal.aborted) {
647
+ await this.peerResolver.resolve(peerIdStr, {
648
+ signal: resolution.signal ?? signal,
649
+ perStepTimeoutMs: options.resolverTimeoutMs,
650
+ }).catch(() => undefined);
651
+ }
652
+ }
653
+ finally {
654
+ resolution.dispose();
655
+ connected?.dispose();
656
+ }
657
+ if (connected?.signal.aborted) {
658
+ reused = await tryReuseExistingConnection(getConnections, protocolId, signal, reuseOptions);
659
+ }
660
+ }
661
+ if (signal.aborted && (reused || options.cancelledResolution === 'throw')) {
662
+ if (reused)
663
+ abortStream(reused.stream, signal.reason);
664
+ throw asAbortError(signal.reason);
665
+ }
666
+ const dialStartedAt = Date.now();
667
+ let stream;
668
+ if (reused)
669
+ stream = reused.stream;
670
+ else {
671
+ options.onNormalDial?.();
672
+ try {
673
+ stream = await this.network.dialProtocol(peerIdStr, protocolId, { signal });
674
+ }
675
+ catch (error) {
676
+ if (options.afterDialFailure === 'throw')
677
+ throw error;
678
+ if (signal.aborted)
679
+ throw asAbortError(signal.reason);
680
+ // No application bytes have been sent. A duplex scope may use an
681
+ // existing relay after the normal dial actually failed.
682
+ reused = await tryReuseExistingConnection(getConnections, protocolId, signal, { ...reuseOptions, allowLimitedWithDirectAddrs: true });
683
+ if (!reused)
684
+ throw error;
685
+ stream = reused.stream;
686
+ }
687
+ }
688
+ if (signal.aborted) {
689
+ abortStream(stream, signal.reason);
690
+ throw asAbortError(signal.reason);
691
+ }
692
+ return { stream, connection: reused?.connection ?? null, dialDurationMs: Date.now() - dialStartedAt };
693
+ };
694
+ }
483
695
  async sendInner(peerIdStr, protocolId, data, timeoutMsOrOpts = DEFAULT_SEND_TIMEOUT_MS) {
484
696
  const opts = typeof timeoutMsOrOpts === 'number' ? { timeoutMs: timeoutMsOrOpts } : timeoutMsOrOpts;
485
697
  const timeoutMs = opts.timeoutMs ?? DEFAULT_SEND_TIMEOUT_MS;
@@ -506,12 +718,7 @@ export class ProtocolRouter {
506
718
  const overallDeadline = lifecycle.deadline;
507
719
  const stopSignal = this.node.stopSignal;
508
720
  const overallSignal = lifecycle.signal;
509
- if (overallSignal.aborted)
510
- throw asAbortError(overallSignal.reason);
511
- await this.requirePeerAccepted(peerIdStr, protocolId, 'outbound', {
512
- signal: overallSignal,
513
- timeoutMs,
514
- });
721
+ const openStream = await this.createAdmittedPeerStreamOperation(peerIdStr, protocolId, overallSignal, timeoutMs);
515
722
  // Pooled overlay short-circuit. When `enablePooling(protocolId)`
516
723
  // has been called for this logical protocol AND the peer hasn't
517
724
  // been pinned to the one-shot wire variant by a prior fallback,
@@ -640,11 +847,11 @@ export class ProtocolRouter {
640
847
  if (remainingMs === 0) {
641
848
  throw new Error(`send timeout: pooled fallback exhausted the ${timeoutMs}ms budget before one-shot attempt`);
642
849
  }
643
- const libp2p = this.node.libp2p;
644
- const { peerIdFromString } = await import('@libp2p/peer-id');
645
- const peerId = peerIdFromString(peerIdStr);
646
850
  const startedAt = overallStartedAt;
647
851
  if (parallelPaths > 1) {
852
+ const libp2p = this.node.libp2p;
853
+ const { peerIdFromString } = await import('@libp2p/peer-id');
854
+ const peerId = peerIdFromString(peerIdStr);
648
855
  // Reuse the overall budget rather than starting a fresh one
649
856
  // — see comment above. Codex PR #560 round 4.
650
857
  const multipathSignalWithStop = overallSignal;
@@ -733,155 +940,19 @@ export class ProtocolRouter {
733
940
  let pickedConnection = null;
734
941
  let attemptedNormalDial = false;
735
942
  try {
736
- // RFC 07 §3.2: re-prime the libp2p peerStore on EVERY attempt.
737
- //
738
- // Was originally a single pre-loop call (PR #497) but that left
739
- // a real cold-dial gap surfaced during the two-laptop debug
740
- // session that produced PR #517 + the MessageOutbox PR: if the
741
- // first resolver call landed during a transient routing-table
742
- // miss (peer's K-bucket entry expired, no live gossip source,
743
- // DHT walk happened to time out), all 3 dialProtocol attempts
744
- // hit the same empty peerStore in the next ~1.5s and the loop
745
- // gave up with `'no valid addresses for peer'` before any DHT
746
- // advertisement / `connection:open` event from the recipient
747
- // could populate addresses for a later attempt.
748
- //
749
- // Re-running per-attempt is cheap on the warm path (the
750
- // resolver's step 1 is a sub-millisecond live-connection check
751
- // that short-circuits when we already have the peer connected
752
- // or its addresses cached in the peerStore) and only pays the
753
- // DHT-walk / registry-lookup cost on the cold path — which is
754
- // exactly the case we want to keep paying for, because that's
755
- // where address staleness actually hurts. The resolver itself
756
- // never throws (returns empty array on miss); the dial below
757
- // surfaces a real transport error if the peer is genuinely
758
- // unreachable.
759
- //
760
- // Codex review feedback on PR #497: pass the same AbortSignal +
761
- // remaining time budget to the resolver so a caller's
762
- // `timeoutMs` bounds the entire send (resolver + dial + read).
763
- // First try the existing-connection fast path: if we already
764
- // have at least one open connection to this peer (of ANY
765
- // direction, direct OR circuit-relay-limited), open the new
766
- // stream on that connection directly via `newStream` instead
767
- // of going through `dialProtocol`. This sidesteps the entire
768
- // address-resolution + peerStore lookup path that returns
769
- // "no valid addresses for peer" when libp2p's peerStore is
770
- // empty or stale for the peer — the "Window D" failure class
771
- // identified in the May 2026 Miles↔Lex 6h soak postmortem,
772
- // where 31 inbound circuit `connection:open` events from peer
773
- // P over 4 minutes failed to heal any of 20 opportunistic
774
- // outbound flushes because each one went through dialProtocol
775
- // and lost the peerStore race.
776
- //
777
- // Crucially: when peerStore is empty for P (the Window D
778
- // shape), the connection-manager-auto-dial side effect of
779
- // `peerStore.merge` documented at
780
- // docs/archive/UPSTREAM_ISSUE_DRAFT.md does NOT fire — there
781
- // are no direct addresses to upgrade to. So this fast path
782
- // does not introduce the mid-stream-negotiation race the doc
783
- // warns about; it benefits exactly the case where the doc's
784
- // race cannot apply.
785
- //
786
- // Failure here (connection died between `getConnections` and
787
- // `newStream`, peer dropped protocol support, etc.) falls
788
- // through to the dialProtocol path below WITHIN THE SAME
789
- // ATTEMPT, so we don't waste a retry slot on the fast-path
790
- // miss.
791
- // CRITICAL: feed the fast path from a RAW `getConnections()`
792
- // walk filtered by `remotePeer`, NOT from the peerId-keyed
793
- // `libp2p.getConnections(peerId)` lookup.
794
- //
795
- // The PR #533 diagnostic surface (`PeerDiagnostics`) is
796
- // explicitly built around the divergence
797
- // `rawConnectionCount > getConnectionsReturnsForPeer` as the
798
- // smoking-gun Window D signature: libp2p's peerId-keyed
799
- // lookup can return `[]` even when a raw walk over all
800
- // connections shows one or more open connections whose
801
- // `remotePeer` matches the target peerId. Using the keyed
802
- // lookup here would make the fast path miss the EXACT case
803
- // it was built to heal — `tryReuseExistingConnection` would
804
- // get an empty candidate list, fall through to the resolver
805
- // + dialProtocol path, and still fail with "no valid
806
- // addresses for peer". Walk raw, filter ourselves, and
807
- // accept that we pay the O(N) cost over the whole
808
- // connection table per send — N is the total open-conn
809
- // count of the node, typically <100, so the cost is a few
810
- // microseconds and the correctness win is large.
811
- //
812
- // Every connection the walk hands the fast path is recorded, so
813
- // the resolver watch below can tell a connection that opened
814
- // after this pass from one the pass already skipped or failed on.
815
- const consideredConnections = new WeakSet();
816
- const getPeerConnections = () => {
817
- const connections = rawGetConnectionsFor(libp2p, peerId);
818
- for (const connection of connections)
819
- consideredConnections.add(connection);
820
- return connections;
821
- };
822
- const fastPathOptions = {
823
- // Probe peerStore for non-circuit (direct) addresses; the
824
- // fast path uses this to gate whether reusing a LIMITED
825
- // (circuit-relay-v2) connection is safe or whether
826
- // libp2p's CM is about to auto-upgrade and prune it
827
- // mid-stream. See the JSDoc inside
828
- // `tryReuseExistingConnection` + the PR #537 CI
829
- // postmortem for the DCUtR upgrade race detail.
830
- peerHasDirectAddrs: async () => {
831
- const peer = await libp2p.peerStore.get(peerId);
832
- const addrs = peer.addresses ?? [];
833
- for (const a of addrs) {
834
- const ma = a.multiaddr?.toString?.() ?? '';
835
- if (ma && !ma.includes('/p2p-circuit'))
836
- return true;
837
- }
838
- return false;
839
- },
943
+ // Re-prime on each cold retry, while warm reuse skips resolution.
944
+ // A failed normal dial unlocks limited reuse on the next attempt;
945
+ // unlike a duplex scope, send() keeps its existing retry/backoff gate.
946
+ const opened = await openStream({
947
+ resolverTimeoutMs: remaining,
840
948
  allowLimitedWithDirectAddrs: normalDialFailed,
841
949
  excludeConnections: triedConnections,
842
- };
843
- let fastResult = await tryReuseExistingConnection(getPeerConnections, protocolId, attemptSignal, fastPathOptions);
844
- if (this.peerResolver && !fastResult) {
845
- // One resolver step can spend the whole remaining budget:
846
- // kad-dht parks a findPeer until its signal aborts while the
847
- // routing table is empty. A connection to the peer that opens
848
- // meanwhile (the peer dialing us, or a concurrent dial) makes
849
- // further resolution pointless, just as the resolver's own
850
- // live-connection step would, so it ends the resolver early and
851
- // the fast path runs again over it. Only the resolver's signal
852
- // is cut short; the rest of the attempt keeps `attemptSignal`.
853
- const peerConnected = watchForNewPeerConnection(libp2p, peerId, consideredConnections);
854
- const resolverSignal = composeAbortSignalsScoped(attemptSignal, peerConnected?.signal);
855
- try {
856
- if (!peerConnected?.signal.aborted) {
857
- await this.peerResolver
858
- .resolve(peerIdStr, {
859
- signal: resolverSignal.signal ?? attemptSignal,
860
- perStepTimeoutMs: remaining,
861
- })
862
- .catch(() => undefined);
863
- }
864
- }
865
- finally {
866
- resolverSignal.dispose();
867
- peerConnected?.dispose();
868
- }
869
- if (peerConnected?.signal.aborted) {
870
- fastResult = await tryReuseExistingConnection(getPeerConnections, protocolId, attemptSignal, fastPathOptions);
871
- }
872
- }
873
- const fastStream = fastResult?.stream ?? null;
874
- pickedConnection = fastResult?.connection ?? null;
875
- const dialStartedAt = Date.now();
876
- let stream;
877
- if (fastStream) {
878
- stream = fastStream;
879
- }
880
- else {
881
- attemptedNormalDial = true;
882
- stream = await this.network.dialProtocol(peerIdStr, protocolId, { signal: attemptSignal });
883
- }
884
- const dialDurationMs = Date.now() - dialStartedAt;
950
+ afterDialFailure: 'throw',
951
+ cancelledResolution: 'dial-with-signal',
952
+ onNormalDial: () => { attemptedNormalDial = true; },
953
+ });
954
+ const { stream, dialDurationMs } = opened;
955
+ pickedConnection = opened.connection;
885
956
  if (stream.writeStatus === 'closed' || stream.writeStatus === 'closing') {
886
957
  stream.abort(new Error('stream closed before send'));
887
958
  throw new Error('stream returned in closed state');
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-router.js","sourceRoot":"","sources":["../src/protocol-router.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAA8B,MAAM,8BAA8B,CAAC;AACtG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAI1D,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,yGAAyG;AACzG,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAI9C;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACzF,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC/C,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACpD,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAClC,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC7B,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzC,8DAA8D;QAC9D,iEAAiE;QACjE,0DAA0D;QAC1D,2DAA2D;QAC3D,2DAA2D;QAC3D,8DAA8D;QAC9D,EAAE;QACF,4DAA4D;QAC5D,4DAA4D;QAC5D,0DAA0D;QAC1D,+DAA+D;QAC/D,+DAA+D;QAC/D,4CAA4C;QAC5C,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1C,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACpC,CAAC;AACJ,CAAC;AAoKD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACR,IAAI,CAAU;IACd,OAAO,CAAU;IACjB,YAAY,CAAgB;IAC5B,cAAc,CAA2C;IACzD,mBAAmB,CAAgD;IACnE,wBAAwB,CAAsB;IACvD,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACvD;;;;;OAKG;IACK,qBAAqB,GAAG,KAAK,CAAC;IAC7B,YAAY,CAAS;IAC9B;;;;;;;;;;;;OAYG;IACc,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpE;;;;OAIG;IACc,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3D;;;;;;;;OAQG;IACc,eAAe,GAAG,IAAI,GAAG,EAA8C,CAAC;IAEzF,YAAY,IAAa,EAAE,OAA+B;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,CAAC;QAC9C,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;QACxD,IAAI,CAAC,wBAAwB,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,sBAAsB,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,MAAc,EAAE,UAAkB;QACnE,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7F,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACK,8BAA8B,CAAC,MAAc,EAAE,UAAkB;QACvE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC;YAAE,OAAO;QACjE,MAAM,IAAI,KAAK,CACb,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,yCAAyC,UAAU,EAAE,CAC9E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,UAAkB,EAClB,SAAiC,EACjC,OAA+B;QAE/B,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACnF,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,SAAS,aAAa,UAAU,EAAE,CACnF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,aAAa,CACX,iBAAyB,EACzB,UAAwC,EAAE;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,0DAA0D;YAC1D,yDAAyD;YACzD,gEAAgE;YAChE,6DAA6D;YAC7D,yDAAyD;YACzD,OAAO;QACT,CAAC;QACD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,IAAI,uBAAuB,CAAC;QACrE,+DAA+D;QAC/D,6DAA6D;QAC7D,2DAA2D;QAC3D,6DAA6D;QAC7D,2DAA2D;QAC3D,wDAAwD;QACxD,6CAA6C;QAC7C,EAAE;QACF,4DAA4D;QAC5D,6DAA6D;QAC7D,0DAA0D;QAC1D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,SAAS,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,gCAAgC,cAAc,yBAAyB;gBACrE,oBAAoB,SAAS,qCAAqC;gBAClE,wBAAwB,iBAAiB,GAAG,CAC/C,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,gEAAgE;QAChE,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,SAAS,GACb,OAAO,CAAC,SAAS;YACjB,CAAC,YAAY;gBACX,CAAC,CAAC,KAAK,EAAE,SAAiB,EAAE,IAA8B,EAAE,EAAE;oBAC1D,MAAM,YAAY;yBACf,OAAO,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;yBAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBACH,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,iBAAiB;QAChC,gEAAgE;QAChE,6DAA6D;QAC7D,wCAAwC;QACxC,IAAI,CAAC,IAEiD,EACtD;YACE,GAAG,OAAO;YACV,UAAU,EAAE,cAAc;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY;YACzD,SAAS;YACT,qEAAqE;YACrE,+DAA+D;YAC/D,oEAAoE;YACpE,qEAAqE;YACrE,mBAAmB,EAAE,CAAC,SAAiB,EAAE,EAAE,CACzC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,CAAC;SAChE,CACF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAC1C,IAAI;YACJ,cAAc;YACd,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC1D,iEAAiE;QACjE,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,yBAAyB,CAC/B,iBAAyB,EACzB,IAAuB;QAEvB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,iBAAiB,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,wEAAwE;YACxE,mEAAmE;YACnE,uEAAuE;YACvE,wDAAwD;YACxD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,aAAa,EAAE,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE;oBAC9E,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnF,IAAI,aAAa,EAAE,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrE,OAAO,YAAY,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACT,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY;QAKV,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1D,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CACN,UAAkB,EAClB,OAAyB,EACzB,OAAqC;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAEhC,MAAM,KAAK,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAc,EAAE,UAAU,EAAE,EAAE;YAC7D,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;YACpE,0EAA0E;YAC1E,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,gEAAgE;YAChE,sEAAsE;YACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrC,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAA8B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC1F,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACpD,qEAAqE;gBACrE,yEAAyE;gBACzE,yEAAyE;gBACzE,mEAAmE;gBACnE,iEAAiE;gBACjE,IAAI,CAAC,8BAA8B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC1E,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE;oBAChE,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG;oBACb,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;oBAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK;iBACzD,CAAC;gBACF,IAAI,aAAa,EAAE,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnF,IAAI,aAAa,EAAE,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAA8B,CAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,aAAa,EAAE,OAAO,CAAC,IAAI,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC3G,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC;wBACpF,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,qEAAqE;gBACrE,oEAAoE;gBACpE,8DAA8D;gBAC9D,IAAI,GAAG,YAAY,0BAA0B,EAAE,CAAC;oBAC9C,IAAI,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,6DAA6D,UAAU,SAAS,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7I,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,qCAAqC,UAAU,SAAS,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjK,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAA8B,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QAErC,8DAA8D;QAC9D,qDAAqD;QACrD,6DAA6D;QAC7D,wDAAwD;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,iEAAiE;QACjE,gEAAgE;QAChE,+DAA+D;QAC/D,0DAA0D;QAC1D,gEAAgE;QAChE,wDAAwD;QACxD,uDAAuD;QACvD,4DAA4D;QAC5D,0DAA0D;QAC1D,8DAA8D;QAC9D,2CAA2C;QAC3C,EAAE;QACF,2DAA2D;QAC3D,2DAA2D;QAC3D,0DAA0D;QAC1D,8DAA8D;QAC9D,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,yDAAyD;QACzD,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,+DAA+D;QAC/D,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACpD,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,oEAAoE;IACpE,wEAAwE;IACxE,KAAK,CAAC,IAAI,CACR,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,kBAAwC,uBAAuB;QAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,sBAAsB,EACtB,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,EAClE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrF,CAAC;YACF,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1E,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAkB,EAAE,SAAS,GAAG,KAAK;QAC1E,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,oEAAoE;YACpE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,yDAAyD;YAC3D,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO;gBAAE,MAAM,KAAK,CAAC;YAC/C,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,kBAAwC,uBAAuB;QAE/D,MAAM,IAAI,GACR,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,uBAAuB,CAAC;QAC5D,qEAAqE;QACrE,yEAAyE;QACzE,kBAAkB;QAClB,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACjG,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,IAAiB,EACjB,SAAiB,EACjB,SAAgC;QAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC;QAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,gBAAgB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;QACvC,IAAI,aAAa,CAAC,OAAO;YAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;YAChE,MAAM,EAAE,aAAa;YACrB,SAAS;SACV,CAAC,CAAC;QAEH,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,8DAA8D;QAC9D,4DAA4D;QAC5D,iEAAiE;QACjE,+DAA+D;QAC/D,iEAAiE;QACjE,8DAA8D;QAC9D,8DAA8D;QAC9D,iEAAiE;QACjE,6BAA6B;QAC7B,gEAAgE;QAChE,4DAA4D;QAC5D,+DAA+D;QAC/D,6DAA6D;QAC7D,8DAA8D;QAC9D,6DAA6D;QAC7D,0DAA0D;QAC1D,+DAA+D;QAC/D,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvE,0DAA0D;QAC1D,2DAA2D;QAC3D,8DAA8D;QAC9D,iEAAiE;QACjE,iEAAiE;QACjE,8DAA8D;QAC9D,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,4DAA4D;QAC5D,+DAA+D;QAC/D,yDAAyD;QACzD,gEAAgE;QAChE,+DAA+D;QAC/D,6DAA6D;QAC7D,wDAAwD;QACxD,kDAAkD;QAClD,sBAAsB;QACtB,IAAI,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,eAAe,KAAK,UAAU,CAAC;QAC5E,IAAI,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9E,aAAa,GAAG,KAAK,CAAC;YACtB,8DAA8D;YAC9D,8DAA8D;YAC9D,uDAAuD;YACvD,OAAO,CAAC,IAAI;iBACT,eAAe,CAAC,SAAS,EAAE,uCAAuC,CAAC;iBACnE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBAClF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;oBACxD,2DAA2D;oBAC3D,qDAAqD;oBACrD,MAAM,EAAE,aAAa;oBACrB,sDAAsD;oBACtD,yDAAyD;oBACzD,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACE,aAAa,CAAC,OAAO;oBACrB,eAAe,CAAC,OAAO;oBACvB,UAAU,EAAE,OAAO,EACnB,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,qDAAqD;oBACrD,0DAA0D;oBAC1D,oDAAoD;oBACpD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,gBAAgB,EAAE,CAAC;oBAC5B,qEAAqE;oBACrE,qEAAqE;oBACrE,gEAAgE;oBAChE,sEAAsE;oBACtE,qEAAqE;oBACrE,qEAAqE;oBACrE,eAAe;oBACf,MAAM,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACxC,0DAA0D;oBAC1D,yDAAyD;oBACzD,yDAAyD;oBACzD,wDAAwD;oBACxD,uDAAuD;oBACvD,0DAA0D;oBAC1D,yDAAyD;oBACzD,mCAAmC;oBACnC,MAAM,GAAG,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,0DAA0D;oBAC1D,0DAA0D;oBAC1D,wDAAwD;oBACxD,kDAAkD;oBAClD,oDAAoD;oBACpD,yDAAyD;oBACzD,qCAAqC;oBACrC,EAAE;oBACF,yDAAyD;oBACzD,wDAAwD;oBACxD,uDAAuD;oBACvD,uDAAuD;oBACvD,aAAa;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,0DAA0D;QAC1D,gEAAgE;QAChE,2DAA2D;QAC3D,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,+CAA+C,SAAS,mCAAmC,CAC5F,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,gBAAgB,CAAC;QAEnC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,4DAA4D;YAC5D,8CAA8C;YAC9C,MAAM,uBAAuB,GAAG,aAAa,CAAC;YAC9C,0DAA0D;YAC1D,2DAA2D;YAC3D,6DAA6D;YAC7D,8DAA8D;YAC9D,6DAA6D;YAC7D,oBAAoB;YACpB,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC;gBAC1C,cAAc,EAAE,GAAG,EAAE,CACnB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC;gBACtC,UAAU;gBACV,IAAI;gBACJ,aAAa;gBACb,MAAM,EAAE,uBAAuB;gBAC/B,YAAY;aACb,CAAC,CAAC;YACH,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC/C,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CACV,yBAAyB,UAAU,OAAO,SAAS,oBAAoB,eAAe,CAAC,cAAc,kBAAkB,eAAe,IAAI,CAC3I,CAAC;gBACJ,CAAC;gBACD,OAAO,eAAe,CAAC,QAAQ,CAAC;YAClC,CAAC;YACD,+DAA+D;YAC/D,8DAA8D;YAC9D,4DAA4D;YAC5D,iDAAiD;QACnD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,+DAA+D;YAC/D,+DAA+D;YAC/D,+DAA+D;YAC/D,gEAAgE;YAChE,2DAA2D;YAC3D,2DAA2D;YAC3D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO,CAAC,IAAI,CACV,oEAAoE;gBAClE,wEAAwE;gBACxE,iEAAiE;gBACjE,oEAAoE;gBACpE,wCAAwC,CAC3C,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,EAAE;QACF,sEAAsE;QACtE,8DAA8D;QAC9D,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,gEAAgE;QAChE,iEAAiE;QACjE,+DAA+D;QAC/D,oEAAoE;QACpE,+DAA+D;QAC/D,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAsB,CAAC;QAC3D,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YACvD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC5C,MAAM,OAAO,CAAC;YAChB,CAAC;YACD,mEAAmE;YACnE,2DAA2D;YAC3D,MAAM,aAAa,GAAG,aAAa,CAAC;YACpC,IAAI,aAAa,CAAC,OAAO;gBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpE,4DAA4D;YAC5D,yDAAyD;YACzD,8DAA8D;YAC9D,aAAa;YACb,IAAI,gBAAgB,GAA8B,IAAI,CAAC;YACvD,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC;gBACH,+DAA+D;gBAC/D,EAAE;gBACF,gEAAgE;gBAChE,4DAA4D;gBAC5D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,gDAAgD;gBAChD,EAAE;gBACF,wDAAwD;gBACxD,+DAA+D;gBAC/D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,eAAe;gBACf,EAAE;gBACF,gEAAgE;gBAChE,sDAAsD;gBACtD,+DAA+D;gBAC/D,6DAA6D;gBAC7D,yDAAyD;gBACzD,4DAA4D;gBAC5D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,0DAA0D;gBAC1D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,8DAA8D;gBAC9D,+BAA+B;gBAC/B,EAAE;gBACF,yDAAyD;gBACzD,0DAA0D;gBAC1D,kCAAkC;gBAClC,6DAA6D;gBAC7D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,qBAAqB;gBACrB,EAAE;gBACF,6DAA6D;gBAC7D,0DAA0D;gBAC1D,yDAAyD;gBACzD,2DAA2D;gBAC3D,QAAQ;gBACR,6DAA6D;gBAC7D,2DAA2D;gBAC3D,0CAA0C;gBAC1C,EAAE;gBACF,wDAAwD;gBACxD,yCAAyC;gBACzC,6DAA6D;gBAC7D,wDAAwD;gBACxD,uDAAuD;gBACvD,uDAAuD;gBACvD,0DAA0D;gBAC1D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,4DAA4D;gBAC5D,qDAAqD;gBACrD,uDAAuD;gBACvD,kDAAkD;gBAClD,uDAAuD;gBACvD,0DAA0D;gBAC1D,iDAAiD;gBACjD,EAAE;gBACF,gEAAgE;gBAChE,6DAA6D;gBAC7D,kEAAkE;gBAClE,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAsB,CAAC;gBAChE,MAAM,kBAAkB,GAAG,GAAsC,EAAE;oBACjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACzD,KAAK,MAAM,UAAU,IAAI,WAAW;wBAAE,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5E,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC;gBACF,MAAM,eAAe,GAAsC;oBACzD,0DAA0D;oBAC1D,wDAAwD;oBACxD,mDAAmD;oBACnD,oDAAoD;oBACpD,mCAAmC;oBACnC,gDAAgD;oBAChD,gDAAgD;oBAChD,kBAAkB,EAAE,KAAK,IAAsB,EAAE;wBAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;wBACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;4BACtB,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;4BAC3C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gCAAE,OAAO,IAAI,CAAC;wBACtD,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,2BAA2B,EAAE,gBAAgB;oBAC7C,kBAAkB,EAAE,gBAAgB;iBACrC,CAAC;gBACF,IAAI,UAAU,GAAG,MAAM,0BAA0B,CAC/C,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CAAC;gBAEF,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrC,0DAA0D;oBAC1D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,8DAA8D;oBAC9D,2DAA2D;oBAC3D,gEAAgE;oBAChE,+DAA+D;oBAC/D,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;oBACvF,MAAM,cAAc,GAAG,yBAAyB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;oBACvF,IAAI,CAAC;wBACH,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnC,MAAM,IAAI,CAAC,YAAY;iCACpB,OAAO,CAAC,SAAS,EAAE;gCAClB,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,aAAa;gCAC9C,gBAAgB,EAAE,SAAS;6BAC5B,CAAC;iCACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,cAAc,CAAC,OAAO,EAAE,CAAC;wBACzB,aAAa,EAAE,OAAO,EAAE,CAAC;oBAC3B,CAAC;oBACD,IAAI,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;wBAClC,UAAU,GAAG,MAAM,0BAA0B,CAC3C,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;gBAC9C,gBAAgB,GAAG,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC;gBAElD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,MAAc,CAAC;gBACnB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,GAAG,UAAU,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC7F,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAElD,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACxE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;oBACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAElD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,6DAA6D;gBAC7D,0DAA0D;gBAC1D,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAClF,MAAM,QAAQ,GAAG,YAAY,CAAC;gBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAClD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC/C,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,yBAAyB,UAAU,OAAO,SAAS,UAAU,cAAc,WAAW,cAAc,WAAW,cAAc,YAAY,eAAe,IAAI,CAAC,CAAC;gBAC7K,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,GAAG,GAAG,CAAC;gBACd,IAAI,mBAAmB,EAAE,CAAC;oBACxB,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,4DAA4D;gBAC5D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,yDAAyD;gBACzD,6DAA6D;gBAC7D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,aAAa;gBACb,IAAI,gBAAgB,EAAE,CAAC;oBACrB,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO;oBAAE,MAAM,GAAG,CAAC;gBAC9D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,WAAW,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAC1E,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gBACpC,wDAAwD;gBACxD,4DAA4D;gBAC5D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,uDAAuD;gBACvD,8DAA8D;gBAC9D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;wBACxB,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACpD,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,OAAO,CAAC,CAAC;oBACZ,MAAM,OAAO,GAAG,GAAS,EAAE;wBACzB,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChB,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;4BACxB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;4BACxC,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;4BAC7B,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;4BAC3C,OAAO;wBACT,CAAC;wBACD,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,SAAS,KAAK,CAAC,CAAC,CAAC;oBAC1F,CAAC,CAAC;oBACF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,6BAA6B,CAAC,SAAiB;QACrD,IAAI,GAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAuC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,SAAS,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAS;YACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AAeD;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,IAAwB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAgGD,kEAAkE;AAClE,kEAAkE;AAClE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAuD,EACvD,UAAkB,EAClB,MAAmB,EACnB,OAA0C;IAE1C,IAAI,UAAU,GAAsC,EAAE,CAAC;IACvD,IAAI,CAAC;QACH,UAAU,GAAG,cAAc,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE3C,gDAAgD;IAChD,EAAE;IACF,oEAAoE;IACpE,8DAA8D;IAC9D,8DAA8D;IAC9D,gEAAgE;IAChE,8DAA8D;IAC9D,iEAAiE;IACjE,iEAAiE;IACjE,4DAA4D;IAC5D,+DAA+D;IAC/D,2DAA2D;IAC3D,+DAA+D;IAC/D,8DAA8D;IAC9D,+DAA+D;IAC/D,6BAA6B;IAC7B,EAAE;IACF,wDAAwD;IACxD,8DAA8D;IAC9D,wDAAwD;IACxD,2DAA2D;IAC3D,6DAA6D;IAC7D,wDAAwD;IACxD,sCAAsC;IACtC,EAAE;IACF,8DAA8D;IAC9D,gEAAgE;IAChE,+DAA+D;IAC/D,4DAA4D;IAC5D,2DAA2D;IAC3D,IAAI,2BAA2B,GAAmB,IAAI,CAAC;IACvD,MAAM,uBAAuB,GAAG,KAAK,IAAsB,EAAE;QAC3D,IAAI,2BAA2B,KAAK,IAAI;YAAE,OAAO,2BAA2B,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClD,2BAA2B,GAAG,MAAM,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;YAC5D,wDAAwD;YACxD,2BAA2B,GAAG,KAAK,CAAC;QACtC,CAAC;QACD,OAAO,2BAA2B,CAAC;IACrC,CAAC,CAAC;IAEF,wEAAwE;IACxE,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QACpD,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,IAAK,IAAwC,CAAC,MAAM,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,MAAM,uBAAuB,EAAE,EAAE,CAAC;gBAC5E,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gBACzC,sBAAsB,EAAE,IAAI;gBAC5B,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9D,wCAAwC;gBACxC,yDAAyD;gBACzD,0DAA0D;gBAC1D,wDAAwD;gBACxD,oDAAoD;gBACpD,yDAAyD;gBACzD,0DAA0D;gBAC1D,uDAAuD;gBACvD,qDAAqD;gBACrD,4DAA4D;gBAC5D,wDAAwD;gBACxD,4DAA4D;gBAC5D,wDAAwD;gBACxD,yDAAyD;gBACzD,wDAAwD;gBACxD,IAAI,CAAC;oBACH,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;oBACnD,uDAAuD;oBACvD,gDAAgD;gBAClD,CAAC;gBACD,SAAS;YACX,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,8DAA8D;YAC9D,6DAA6D;YAC7D,oDAAoD;YACpD,wDAAwD;YACxD,uCAAuC;YACvC,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,MAAwD,EACxD,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,EAAuC,CAAC;QACzE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAmB,EAAE,MAAe;IAC9D,IAAI,CAAC;QACH,MAAM,UAAU,GAAI,UAA+E;YACjG,EAAE,UAAU,CAAC;QACf,OAAO,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAWD;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAChC,MAA+E,EAC/E,MAAe,EACf,UAAuC;IAEvC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,CAAC,GAAU,EAAQ,EAAE;QAC5C,IAAI,kBAAkB,CAAE,GAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACrE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAC/D,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CACpG,CAAC;IACF,IAAI,eAAe;QAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC7F,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;KACjF,CAAC;AACJ,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAOnC;IACC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACvE,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,+DAA+D;QAC/D,iEAAiE;QACjE,sCAAsC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,OAAO,GACX,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,MAAa,EAAQ,EAAE;QACrD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO;QAC5B,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAQ,EAAE;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACrB,SAAS,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAuB,EAAE;QACnE,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC9C,sBAAsB,EAAE,IAAI;YAC5B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC1C,SAAS,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3C,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,GAAsB,IAAI,CAAC;IAC7C,IAAI,CAAC;QACH,+DAA+D;QAC/D,cAAc,GAAG,MAAM,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,IAAI,GAAc,EAAE,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;wBACrB,SAAS,GAAG,CAAC,CAAC;wBACd,WAAW,CAAC,CAAC,CAAC,CAAC;wBACf,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;yBAAM,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;wBAC3B,SAAS,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,QAAQ,IAAI,CAAC,CAAC;oBACd,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;QAC9D,0EAA0E;QAC1E,4EAA4E;QAC5E,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC;oBACH,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,SAA6B,EAAE,SAAiB;IAC/E,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA2B,EAC3B,QAAgB,EAChB,MAAoB;IAEpB,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,aAAuC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7D,aAAa,GAAG,GAAG,EAAE;YACnB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,IAAI,aAAa;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgC,EAChC,SAAkC;IAElC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/B,MAAM,OAAO,GAAI,WAA4E,CAAC,GAAG,CAAC;IAClG,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrD,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC/C,IAAI,SAAS,CAAC,OAAO;QAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACxD,CAAC;QACJ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAgC,EAChC,SAAkC;IAElC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrD,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,MAA2B,EAAE,MAAe;IAC/D,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACnC,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,MAAM,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QAClD,GAAgC,CAAC,IAAI,GAAG,YAAY,CAAC;QACrD,GAAmC,CAAC,KAAK,GAAG,MAAM,CAAC;QACpD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,GAAgC,CAAC,IAAI,GAAG,YAAY,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAY,EACZ,aAAsC,EACtC,UAAmC;IAEnC,IAAI,GAAG,KAAK,aAAa,EAAE,MAAM,IAAI,GAAG,KAAK,UAAU,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,sEAAsE;AACtE,kBAAkB;AAClB,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,qEAAqE;AACrE,SAAS,qBAAqB,CAAC,GAAY;IACzC,MAAM,GAAG,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,MAA0C,EAC1C,QAAQ,GAAG,sBAAsB;IAEjC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnF,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;QACpB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,IAAI,MAAM,IAAI,OAAQ,MAAiB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACvE,MAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,SAAS,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,MAAM,GAAG,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,+DAA+D;IAC/D,4DAA4D;IAC5D,6BAA6B;IAC7B,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAClC,CAAC;AACJ,CAAC;AAYD,cAAc,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAE5C,SAAiB,EACjB,iBAAyB;IAEzB,MAAM,GAAG,GAAI,IAAwF;SAClG,eAAe,CAAC;IACnB,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,cAAc,CAAC,SAAS,CAAC,eAAe,GAAG,UAEzC,SAAiB,EACjB,iBAAyB,EACzB,OAA8B;IAE9B,MAAM,GAAG,GAAI,IAAwF;SAClG,eAAe,CAAC;IACnB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,MAAoB;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACtB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"protocol-router.js","sourceRoot":"","sources":["../src/protocol-router.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,14 @@
14
14
  * - **Integers**: validate type and optional bounds.
15
15
  * Use `sparqlInt`.
16
16
  */
17
+ /**
18
+ * A value that cannot be interpolated into SPARQL safely. {@link assertSafeIri}
19
+ * and {@link assertSafeRdfTerm} throw only this, so a caller can tell bad
20
+ * input from a bug in the validator.
21
+ */
22
+ export declare class UnsafeSparqlValueError extends Error {
23
+ constructor(message: string);
24
+ }
17
25
  /**
18
26
  * Throws if `value` contains characters that would break a SPARQL IRI (`<...>`).
19
27
  * Returns the value unchanged when safe, for ergonomic inline use: