@honeybbq/teamspeak 1.0.0-beta.19 → 1.0.0-beta.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 (179) hide show
  1. package/dist/client/api/avatars.d.ts.map +1 -1
  2. package/dist/client/api/avatars.js +11 -2
  3. package/dist/client/api/avatars.js.map +1 -1
  4. package/dist/client/api/files.d.ts +36 -14
  5. package/dist/client/api/files.d.ts.map +1 -1
  6. package/dist/client/api/files.js +58 -9
  7. package/dist/client/api/files.js.map +1 -1
  8. package/dist/client/api/upload-checks.d.ts +36 -0
  9. package/dist/client/api/upload-checks.d.ts.map +1 -0
  10. package/dist/client/api/upload-checks.js +77 -0
  11. package/dist/client/api/upload-checks.js.map +1 -0
  12. package/dist/client/api/voice.d.ts +2 -1
  13. package/dist/client/api/voice.d.ts.map +1 -1
  14. package/dist/client/api/voice.js +6 -2
  15. package/dist/client/api/voice.js.map +1 -1
  16. package/dist/client/client.d.ts +13 -3
  17. package/dist/client/client.d.ts.map +1 -1
  18. package/dist/client/client.js +151 -49
  19. package/dist/client/client.js.map +1 -1
  20. package/dist/client/crypto/crypt.d.ts +6 -0
  21. package/dist/client/crypto/crypt.d.ts.map +1 -1
  22. package/dist/client/crypto/crypt.js +13 -7
  23. package/dist/client/crypto/crypt.js.map +1 -1
  24. package/dist/client/crypto/eax.d.ts +4 -0
  25. package/dist/client/crypto/eax.d.ts.map +1 -1
  26. package/dist/client/crypto/eax.js +27 -21
  27. package/dist/client/crypto/eax.js.map +1 -1
  28. package/dist/client/errors.d.ts +13 -0
  29. package/dist/client/errors.d.ts.map +1 -1
  30. package/dist/client/errors.js +23 -0
  31. package/dist/client/errors.js.map +1 -1
  32. package/dist/client/handshake/crypt-handshake.d.ts +2 -1
  33. package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
  34. package/dist/client/handshake/crypt-handshake.js +4 -2
  35. package/dist/client/handshake/crypt-handshake.js.map +1 -1
  36. package/dist/client/index.d.ts +1 -1
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js +1 -1
  39. package/dist/client/index.js.map +1 -1
  40. package/dist/client/throttle.d.ts +11 -0
  41. package/dist/client/throttle.d.ts.map +1 -1
  42. package/dist/client/throttle.js +38 -3
  43. package/dist/client/throttle.js.map +1 -1
  44. package/dist/client/transfer.d.ts +37 -4
  45. package/dist/client/transfer.d.ts.map +1 -1
  46. package/dist/client/transfer.js +155 -15
  47. package/dist/client/transfer.js.map +1 -1
  48. package/dist/client/transport/handler.d.ts.map +1 -1
  49. package/dist/client/transport/handler.js +47 -43
  50. package/dist/client/transport/handler.js.map +1 -1
  51. package/dist/core/api/clients.d.ts +15 -15
  52. package/dist/core/api/clients.d.ts.map +1 -1
  53. package/dist/core/api/clients.js.map +1 -1
  54. package/dist/core/api/command.d.ts +8 -6
  55. package/dist/core/api/command.d.ts.map +1 -1
  56. package/dist/core/api/command.js +1 -1
  57. package/dist/core/api/command.js.map +1 -1
  58. package/dist/core/api/files.d.ts +23 -6
  59. package/dist/core/api/files.d.ts.map +1 -1
  60. package/dist/core/api/files.js +12 -9
  61. package/dist/core/api/files.js.map +1 -1
  62. package/dist/core/api/groups.d.ts +17 -2
  63. package/dist/core/api/groups.d.ts.map +1 -1
  64. package/dist/core/api/groups.js +13 -11
  65. package/dist/core/api/groups.js.map +1 -1
  66. package/dist/core/api/parse.d.ts +5 -5
  67. package/dist/core/api/parse.d.ts.map +1 -1
  68. package/dist/core/api/parse.js +16 -15
  69. package/dist/core/api/parse.js.map +1 -1
  70. package/dist/core/command/request.d.ts +6 -0
  71. package/dist/core/command/request.d.ts.map +1 -1
  72. package/dist/core/command/request.js +12 -0
  73. package/dist/core/command/request.js.map +1 -1
  74. package/dist/core/errors.d.ts +46 -3
  75. package/dist/core/errors.d.ts.map +1 -1
  76. package/dist/core/errors.js +73 -20
  77. package/dist/core/errors.js.map +1 -1
  78. package/dist/core/events.d.ts +24 -8
  79. package/dist/core/events.d.ts.map +1 -1
  80. package/dist/core/internal.d.ts +1 -1
  81. package/dist/core/internal.d.ts.map +1 -1
  82. package/dist/core/internal.js +1 -1
  83. package/dist/core/internal.js.map +1 -1
  84. package/dist/core/notifications.d.ts +1 -1
  85. package/dist/core/notifications.js +9 -8
  86. package/dist/core/notifications.js.map +1 -1
  87. package/dist/core/reconnect.d.ts +16 -5
  88. package/dist/core/reconnect.d.ts.map +1 -1
  89. package/dist/core/reconnect.js +32 -4
  90. package/dist/core/reconnect.js.map +1 -1
  91. package/dist/core/types.d.ts +15 -16
  92. package/dist/core/types.d.ts.map +1 -1
  93. package/dist/core/types.js.map +1 -1
  94. package/dist/query/client.d.ts +4 -0
  95. package/dist/query/client.d.ts.map +1 -1
  96. package/dist/query/client.js +145 -23
  97. package/dist/query/client.js.map +1 -1
  98. package/dist/query/errors.d.ts +20 -0
  99. package/dist/query/errors.d.ts.map +1 -1
  100. package/dist/query/errors.js +31 -0
  101. package/dist/query/errors.js.map +1 -1
  102. package/dist/query/index.d.ts +1 -1
  103. package/dist/query/index.d.ts.map +1 -1
  104. package/dist/query/index.js +1 -1
  105. package/dist/query/index.js.map +1 -1
  106. package/dist/query/lines.d.ts +11 -0
  107. package/dist/query/lines.d.ts.map +1 -1
  108. package/dist/query/lines.js +36 -6
  109. package/dist/query/lines.js.map +1 -1
  110. package/dist/query/options.d.ts +30 -0
  111. package/dist/query/options.d.ts.map +1 -1
  112. package/dist/query/options.js +7 -0
  113. package/dist/query/options.js.map +1 -1
  114. package/dist/query/reconnect.d.ts +5 -0
  115. package/dist/query/reconnect.d.ts.map +1 -1
  116. package/dist/query/reconnect.js +26 -7
  117. package/dist/query/reconnect.js.map +1 -1
  118. package/dist/query/ssh.js +9 -4
  119. package/dist/query/ssh.js.map +1 -1
  120. package/dist/query/stream.d.ts +2 -0
  121. package/dist/query/stream.d.ts.map +1 -1
  122. package/dist/query/stream.js +19 -1
  123. package/dist/query/stream.js.map +1 -1
  124. package/dist/query/transport.d.ts +12 -2
  125. package/dist/query/transport.d.ts.map +1 -1
  126. package/dist/query/web.d.ts +3 -1
  127. package/dist/query/web.d.ts.map +1 -1
  128. package/dist/query/web.js +82 -18
  129. package/dist/query/web.js.map +1 -1
  130. package/dist/stream/published.d.ts.map +1 -1
  131. package/dist/stream/published.js +61 -25
  132. package/dist/stream/published.js.map +1 -1
  133. package/dist/stream/streams.d.ts.map +1 -1
  134. package/dist/stream/streams.js +51 -10
  135. package/dist/stream/streams.js.map +1 -1
  136. package/dist/stream/wire.d.ts +2 -2
  137. package/dist/stream/wire.d.ts.map +1 -1
  138. package/dist/stream/wire.js +27 -7
  139. package/dist/stream/wire.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/client/api/avatars.ts +15 -2
  142. package/src/client/api/files.ts +83 -23
  143. package/src/client/api/upload-checks.ts +96 -0
  144. package/src/client/api/voice.ts +5 -2
  145. package/src/client/client.ts +154 -42
  146. package/src/client/crypto/crypt.ts +15 -7
  147. package/src/client/crypto/eax.ts +27 -22
  148. package/src/client/errors.ts +25 -0
  149. package/src/client/handshake/crypt-handshake.ts +6 -3
  150. package/src/client/index.ts +1 -0
  151. package/src/client/throttle.ts +41 -3
  152. package/src/client/transfer.ts +172 -28
  153. package/src/client/transport/handler.ts +54 -46
  154. package/src/core/api/clients.ts +24 -21
  155. package/src/core/api/command.ts +9 -7
  156. package/src/core/api/files.ts +30 -16
  157. package/src/core/api/groups.ts +32 -13
  158. package/src/core/api/parse.ts +16 -15
  159. package/src/core/command/request.ts +18 -0
  160. package/src/core/errors.ts +74 -20
  161. package/src/core/events.ts +24 -8
  162. package/src/core/internal.ts +7 -1
  163. package/src/core/notifications.ts +9 -8
  164. package/src/core/reconnect.ts +60 -8
  165. package/src/core/types.ts +15 -16
  166. package/src/query/client.ts +144 -20
  167. package/src/query/errors.ts +34 -0
  168. package/src/query/index.ts +1 -0
  169. package/src/query/lines.ts +38 -6
  170. package/src/query/options.ts +36 -0
  171. package/src/query/reconnect.ts +27 -7
  172. package/src/query/ssh.ts +11 -4
  173. package/src/query/stream.ts +17 -1
  174. package/src/query/testing/live.ts +4 -4
  175. package/src/query/transport.ts +10 -2
  176. package/src/query/web.ts +76 -21
  177. package/src/stream/published.ts +70 -23
  178. package/src/stream/streams.ts +47 -13
  179. package/src/stream/wire.ts +30 -11
@@ -10,7 +10,7 @@ import { RESOLVE_BUDGET_MS, Resolver } from "./discovery/resolver.js";
10
10
  import { PacketHandler } from "./transport/handler.js";
11
11
  import { PacketType } from "./transport/packet.js";
12
12
  import { CommandTracker, appendReturnCode } from "./commands.js";
13
- import { buildCommand, buildCommandChain, encodeRequest, parseServerError, resolveBackoffPolicy, } from "../core/internal.js";
13
+ import { buildCommand, buildCommandChain, encodeRequest, floodHoldMs, FLOOD_RETRIES, floodRetryDelayMs, parseServerError, resolveBackoffPolicy, } from "../core/internal.js";
14
14
  import { uploadFileData, downloadFileData } from "./transfer.js";
15
15
  import { buildSetConnectionInfo } from "./connection-info.js";
16
16
  import { buildEventChain } from "./events.js";
@@ -267,6 +267,9 @@ export class Client {
267
267
  this.#clientInitOptions = normalizeClientInitOptions(options);
268
268
  this.#socketFactory = options.socketFactory;
269
269
  this.#fileTransferSocketFactory = options.fileTransferSocketFactory;
270
+ // Refused here, not when the loop first runs: a bad policy would flood.
271
+ if (options.reconnect !== undefined)
272
+ resolveBackoffPolicy(options.reconnect);
270
273
  this.#reconnectOptions = options.reconnect;
271
274
  this.#trace = options.trace === undefined ? undefined : { ...options.trace };
272
275
  this.#viewStore = new ViewStore(this.#logger, () => this.#clid, () => this.#scheduleDrain());
@@ -478,7 +481,10 @@ export class Client {
478
481
  * Leave the server and close the connection.
479
482
  *
480
483
  * Says goodbye first, waiting for the server's acknowledgement for a second
481
- * at most, or less if `signal` aborts sooner. The connection is closed
484
+ * at most, or less if `signal` aborts sooner. The goodbye is sent at once,
485
+ * past the flood throttle, and also by a client still connecting whose
486
+ * clientinit is out; commands still waiting for their turn reject with a
487
+ * NotConnectedError and are never sent. The connection is closed
482
488
  * either way. A `connect()` still waiting for its handshake rejects with a
483
489
  * NotConnectedError, and so do the commands still waiting for an answer.
484
490
  * Resolves once `disconnected` has been delivered to the listeners, so one
@@ -505,11 +511,17 @@ export class Client {
505
511
  // still be on its way.
506
512
  if (this.#status === ClientStatus.Disconnected)
507
513
  return this.#disconnectedDelivered;
508
- const wasConnected = this.#status === ClientStatus.Connected;
514
+ // The server may hold a session for this client from the moment clientinit
515
+ // is out, which is as soon as the keys exist, well before Connected.
516
+ const holdsSession = this.#status === ClientStatus.Connected ||
517
+ (this.#status === ClientStatus.Connecting && this.#crypt.cryptoInitComplete);
509
518
  this.#status = ClientStatus.Disconnected;
519
+ // Whatever still waits for its turn is rejected and never sent; the
520
+ // goodbye does not wait for one.
521
+ this.#throttle.rejectAll(new NotConnectedError());
510
522
  let left;
511
523
  this.#attempt.rejectAfter(new NotConnectedError(), new Promise((r) => (left = r)));
512
- const leaving = this.#leave(wasConnected, options.signal, options.reasonMessage ?? "Shutdown").finally(left);
524
+ const leaving = this.#leave(holdsSession, options.signal, options.reasonMessage ?? "Shutdown").finally(left);
513
525
  this.#leaving = leaving;
514
526
  try {
515
527
  await leaving;
@@ -518,9 +530,9 @@ export class Client {
518
530
  this.#leaving = undefined;
519
531
  }
520
532
  }
521
- async #leave(wasConnected, signal, reasonMessage) {
533
+ async #leave(holdsSession, signal, reasonMessage) {
522
534
  this.#logger.info("disconnecting from server");
523
- if (wasConnected) {
535
+ if (holdsSession) {
524
536
  this.#callHook(this.#trace?.disconnectStart, () => ({}));
525
537
  const goodbyeStarted = performance.now();
526
538
  // The server answers clientdisconnect with a notifyclientleftview about
@@ -534,7 +546,7 @@ export class Client {
534
546
  const answered = this.#exec(buildCommand("clientdisconnect", {
535
547
  reasonid: String(Reason.Disconnect),
536
548
  reasonmsg: reasonMessage,
537
- }), { signal, timeoutMs: DISCONNECT_TIMEOUT_MS }, true).then(() => true, () => false);
549
+ }), { signal, timeoutMs: DISCONNECT_TIMEOUT_MS }, true, true).then(() => true, () => false);
538
550
  const acknowledged = await Promise.race([answered, left]);
539
551
  this.#goodbyeAnswered = undefined;
540
552
  this.#callHook(this.#trace?.disconnectDone, () => ({
@@ -562,6 +574,11 @@ export class Client {
562
574
  *
563
575
  * Rejects with a NotConnectedError unless the client is connected: while it
564
576
  * is still connecting, the session's keys may not exist yet.
577
+ *
578
+ * A command the server refuses as flooding (`ErrorCode.ClientIsFlooding`)
579
+ * with a time to wait is sent again after it, and every other command waits
580
+ * too, up to three times and while its timeout allows; the refusal that
581
+ * remains rejects as it is.
565
582
  */
566
583
  // oxlint-disable-next-line typescript/array-type -- the public API report spells this `[]`; respelling it changes the report
567
584
  exec(command, options = {}) {
@@ -615,14 +632,18 @@ export class Client {
615
632
  hook(this, line);
616
633
  this.#handler.sendPacket(PacketType.Command, Buffer.from(line), 0);
617
634
  }
618
- #exec(command, options, internal) {
619
- if (!commandChannel.hasSubscribers)
620
- return this.#execUntraced(command, options, internal);
621
- const trace = { command: parseCommand(command)?.name ?? "", client: this };
622
- return commandChannel.tracePromise(() => this.#execUntraced(command, options, internal), trace);
635
+ #exec(command, options, internal, goodbye = false) {
636
+ if (!commandChannel.hasSubscribers) {
637
+ return this.#execUntraced(command, options, internal, goodbye);
638
+ }
639
+ const trace = {
640
+ command: parseCommand(command)?.name ?? "",
641
+ client: this,
642
+ };
643
+ return commandChannel.tracePromise(() => this.#execUntraced(command, options, internal, goodbye), trace);
623
644
  }
624
- async #execUntraced(command, options, internal) {
625
- const { signal, timeoutMs = DEFAULT_COMMAND_TIMEOUT_MS } = options;
645
+ async #execUntraced(command, options, internal, goodbye) {
646
+ const { signal, timeoutMs = DEFAULT_COMMAND_TIMEOUT_MS, onSent } = options;
626
647
  signal?.throwIfAborted();
627
648
  // A command sent on no socket used to vanish and surface 10 seconds later
628
649
  // as a timeout, which reads like a slow server rather than a usage error.
@@ -635,7 +656,8 @@ export class Client {
635
656
  const key = spec?.correlated?.key;
636
657
  const correlation = key === undefined ? undefined : parsed?.params[key];
637
658
  const echo = spec?.echoKey === undefined ? undefined : parsed?.params[spec.echoKey];
638
- const [rc, answered] = this.#cmdTrack.register(spec, correlation, echo);
659
+ let [rc, answered] = this.#cmdTrack.register(spec, correlation, echo);
660
+ const deadline = performance.now() + timeoutMs;
639
661
  let timer;
640
662
  let onAbort;
641
663
  // Started before the throttle: the timeout bounds the whole command, its
@@ -648,21 +670,47 @@ export class Client {
648
670
  givenUp.catch(() => { });
649
671
  const throttleAbort = new AbortController();
650
672
  try {
651
- const withRc = appendReturnCode(command, rc);
652
- await Promise.race([this.#throttle.wait(throttleAbort.signal), givenUp]);
653
- if (!this.#canSend(internal))
654
- throw new NotConnectedError();
655
- this.#sendLine(withRc);
656
- const result = await Promise.race([answered, givenUp]);
657
- if (result.err)
658
- throw result.err;
659
- // The server took the rename, so it is what this client now asks for.
660
- if (!internal && parsed?.name === "clientupdate") {
661
- const renamed = parsed.params["client_nickname"];
662
- if (renamed !== undefined)
663
- this.#requestedNickname = renamed;
673
+ for (let refused = 0;; refused++) {
674
+ const withRc = appendReturnCode(command, rc);
675
+ // The goodbye of a disconnect goes out at once: queued behind other
676
+ // commands it would not leave in time, and the server would keep the
677
+ // session.
678
+ if (!goodbye)
679
+ await Promise.race([this.#throttle.wait(throttleAbort.signal), givenUp]);
680
+ if (!this.#canSend(internal))
681
+ throw new NotConnectedError();
682
+ this.#sendLine(withRc);
683
+ if (refused === 0)
684
+ onSent?.();
685
+ const result = await Promise.race([answered, givenUp]);
686
+ // Refused as flooding with a time to wait, which the command can
687
+ // afford: nothing is sent until then, and the command, which the
688
+ // server did not run, goes out again.
689
+ const wait = result.err ? floodRetryDelayMs(result.err) : undefined;
690
+ const hold = wait === undefined ? undefined : floodHoldMs(wait);
691
+ if (hold !== undefined &&
692
+ !goodbye &&
693
+ refused < FLOOD_RETRIES &&
694
+ hold < deadline - performance.now()) {
695
+ this.#logger.debug("the server asked for a pause", {
696
+ command: parsed?.name,
697
+ waitMs: wait,
698
+ });
699
+ this.#throttle.hold(hold);
700
+ this.#cmdTrack.unregister(rc);
701
+ [rc, answered] = this.#cmdTrack.register(spec, correlation, echo);
702
+ continue;
703
+ }
704
+ if (result.err)
705
+ throw result.err;
706
+ // The server took the rename, so it is what this client now asks for.
707
+ if (!internal && parsed?.name === "clientupdate") {
708
+ const renamed = parsed.params["client_nickname"];
709
+ if (renamed !== undefined)
710
+ this.#requestedNickname = renamed;
711
+ }
712
+ return result.data;
664
713
  }
665
- return result.data;
666
714
  }
667
715
  finally {
668
716
  // A command given up while it waited for its turn gives the turn back.
@@ -882,8 +930,10 @@ export class Client {
882
930
  this.#handler.sendGroupWhisperPacket(data, target.type, target.scope, id, codec);
883
931
  }
884
932
  /**
885
- * Send one encoded audio frame to the channel this client is in. Throws a
886
- * NotConnectedError unless the client is connected.
933
+ * Send one encoded audio frame to the channel this client is in. An empty
934
+ * frame marks the end of speech: the server relays it, and listeners get a
935
+ * `voiceData` event with empty `data`. Throws a NotConnectedError unless the
936
+ * client is connected.
887
937
  */
888
938
  sendVoice(data, codec, options) {
889
939
  // Reserved: VoiceOptions has no fields to read yet.
@@ -923,7 +973,10 @@ export class Client {
923
973
  // A privilege key is spent by the join that used it: a reconnection must
924
974
  // not present it again.
925
975
  if (this.#clientInitOptions.privilegeKey !== "") {
926
- this.#clientInitOptions = { ...this.#clientInitOptions, privilegeKey: "" };
976
+ this.#clientInitOptions = {
977
+ ...this.#clientInitOptions,
978
+ privilegeKey: "",
979
+ };
927
980
  }
928
981
  // Settled before the hook runs, so that nothing it does can turn this
929
982
  // attempt into a failed one; connect() resumes only after the hook returns.
@@ -1118,7 +1171,9 @@ export class Client {
1118
1171
  if (this.#status !== ClientStatus.Connected) {
1119
1172
  this.#failConnection(error instanceof HandshakeError
1120
1173
  ? error
1121
- : new HandshakeError("the handshake failed on a malformed packet", { cause: error }));
1174
+ : new HandshakeError("the handshake failed on a malformed packet", {
1175
+ cause: error,
1176
+ }));
1122
1177
  return;
1123
1178
  }
1124
1179
  this.#logger.debug("dropped a malformed packet", { error: String(error) });
@@ -1157,7 +1212,7 @@ export class Client {
1157
1212
  }
1158
1213
  return;
1159
1214
  }
1160
- if ((pType === 0 /* Voice */ || pType === 1) /* VoiceWhisper */ && p.data.length > 5) {
1215
+ if ((pType === 0 /* Voice */ || pType === 1) /* VoiceWhisper */ && p.data.length >= 5) {
1161
1216
  this.#handleVoicePacket(p.data);
1162
1217
  return;
1163
1218
  }
@@ -1168,6 +1223,12 @@ export class Client {
1168
1223
  /**
1169
1224
  * Parse an incoming S2C voice packet.
1170
1225
  * Format: [VId: u16] [CId: u16] [Codec: u8] [Data: var]
1226
+ *
1227
+ * A packet with no data is how a speaker's last frame is followed: the
1228
+ * server relays the empty frame a client sends when it stops talking, and it
1229
+ * is delivered as an event with empty `data`. Measured on TeamSpeak 3 3.13.8
1230
+ * and TeamSpeak 6 6.0.0: the frames of `sendVoice` arrive as 45-byte packets
1231
+ * and an empty one as a 5-byte packet.
1171
1232
  */
1172
1233
  #handleVoicePacket(payload) {
1173
1234
  // Audio arrives fifty times a second per speaker; build no event nobody
@@ -1349,7 +1410,9 @@ export class Client {
1349
1410
  #answerConnectionInfoRequest() {
1350
1411
  const line = buildSetConnectionInfo(this.#handler.trafficSnapshot(), this.#handler.roundTrip);
1351
1412
  this.#execNoWait(line, undefined, false).catch((error) => {
1352
- this.#logger.debug("could not answer a connection info request", { error: String(error) });
1413
+ this.#logger.debug("could not answer a connection info request", {
1414
+ error: String(error),
1415
+ });
1353
1416
  });
1354
1417
  }
1355
1418
  #handleError(params) {
@@ -1442,17 +1505,29 @@ export class Client {
1442
1505
  this.#emitServerEvent({ name: "clientUpdated", payload: result.event });
1443
1506
  break;
1444
1507
  case "clientServerGroupAdded":
1445
- this.#emitServerEvent({ name: "clientServerGroupAdded", payload: result.event });
1508
+ this.#emitServerEvent({
1509
+ name: "clientServerGroupAdded",
1510
+ payload: result.event,
1511
+ });
1446
1512
  break;
1447
1513
  case "clientServerGroupRemoved":
1448
- this.#emitServerEvent({ name: "clientServerGroupRemoved", payload: result.event });
1514
+ this.#emitServerEvent({
1515
+ name: "clientServerGroupRemoved",
1516
+ payload: result.event,
1517
+ });
1449
1518
  break;
1450
1519
  case "clientChannelGroupChanged":
1451
- this.#emitServerEvent({ name: "clientChannelGroupChanged", payload: result.event });
1520
+ this.#emitServerEvent({
1521
+ name: "clientChannelGroupChanged",
1522
+ payload: result.event,
1523
+ });
1452
1524
  break;
1453
1525
  case "channelCreated":
1454
1526
  this.#viewStore.applyCreated(result.event);
1455
- this.#emitServerEvent({ name: "channelCreated", payload: result.event });
1527
+ this.#emitServerEvent({
1528
+ name: "channelCreated",
1529
+ payload: result.event,
1530
+ });
1456
1531
  break;
1457
1532
  case "channelEdited":
1458
1533
  this.#viewStore.applyEdited(result.event);
@@ -1472,31 +1547,49 @@ export class Client {
1472
1547
  break;
1473
1548
  }
1474
1549
  case "channelDescriptionChanged":
1475
- this.#emitServerEvent({ name: "channelDescriptionChanged", payload: result.event });
1550
+ this.#emitServerEvent({
1551
+ name: "channelDescriptionChanged",
1552
+ payload: result.event,
1553
+ });
1476
1554
  break;
1477
1555
  case "channelPasswordChanged":
1478
- this.#emitServerEvent({ name: "channelPasswordChanged", payload: result.event });
1556
+ this.#emitServerEvent({
1557
+ name: "channelPasswordChanged",
1558
+ payload: result.event,
1559
+ });
1479
1560
  break;
1480
1561
  case "serverEdited":
1481
1562
  this.#viewStore.patchServer(result.event.changes);
1482
1563
  this.#emitServerEvent({ name: "serverEdited", payload: result.event });
1483
1564
  break;
1484
1565
  case "channelSubscribed":
1485
- this.#emitServerEvent({ name: "channelSubscribed", payload: result.event });
1566
+ this.#emitServerEvent({
1567
+ name: "channelSubscribed",
1568
+ payload: result.event,
1569
+ });
1486
1570
  break;
1487
1571
  case "channelUnsubscribed":
1488
1572
  // The server does not say the clients of the channel left.
1489
1573
  this.#viewStore.dropChannel(result.event.channelID);
1490
- this.#emitServerEvent({ name: "channelUnsubscribed", payload: result.event });
1574
+ this.#emitServerEvent({
1575
+ name: "channelUnsubscribed",
1576
+ payload: result.event,
1577
+ });
1491
1578
  break;
1492
1579
  case "pluginCommand":
1493
1580
  this.#emitServerEvent({ name: "pluginCommand", payload: result.event });
1494
1581
  break;
1495
1582
  case "clientChatComposing":
1496
- this.#emitServerEvent({ name: "clientChatComposing", payload: result.event });
1583
+ this.#emitServerEvent({
1584
+ name: "clientChatComposing",
1585
+ payload: result.event,
1586
+ });
1497
1587
  break;
1498
1588
  case "clientChatClosed":
1499
- this.#emitServerEvent({ name: "clientChatClosed", payload: result.event });
1589
+ this.#emitServerEvent({
1590
+ name: "clientChatClosed",
1591
+ payload: result.event,
1592
+ });
1500
1593
  break;
1501
1594
  case "poked":
1502
1595
  this.#emitServerEvent({ name: "poked", payload: result.event });
@@ -1658,7 +1751,9 @@ export class Client {
1658
1751
  retry = (options.shouldRetry ?? defaultShouldRetry)(err, attempt);
1659
1752
  }
1660
1753
  catch (error) {
1661
- this.#logger.error("shouldRetry threw; not reconnecting", { error: String(error) });
1754
+ this.#logger.error("shouldRetry threw; not reconnecting", {
1755
+ error: String(error),
1756
+ });
1662
1757
  retry = false;
1663
1758
  threw = true;
1664
1759
  }
@@ -1715,7 +1810,9 @@ export class Client {
1715
1810
  // Connected, or connecting, by hand during the wait: nothing is left to
1716
1811
  // retry, and an attempt now would only fail with AlreadyConnectedError.
1717
1812
  if (this.#status !== ClientStatus.Disconnected) {
1718
- this.#logger.info("reconnect loop ended: connected by other means", { attempt });
1813
+ this.#logger.info("reconnect loop ended: connected by other means", {
1814
+ attempt,
1815
+ });
1719
1816
  return;
1720
1817
  }
1721
1818
  try {
@@ -1741,13 +1838,18 @@ export class Client {
1741
1838
  : new TeamspeakError(String(retryErr), { cause: retryErr });
1742
1839
  }
1743
1840
  }
1744
- this.#logger.warn("reconnect attempts exhausted", { attempts: policy.maxAttempts });
1841
+ this.#logger.warn("reconnect attempts exhausted", {
1842
+ attempts: policy.maxAttempts,
1843
+ });
1745
1844
  stoppedBy = { cause: err };
1746
1845
  }
1747
1846
  finally {
1748
1847
  if (stoppedBy !== undefined) {
1749
1848
  const { cause } = stoppedBy;
1750
- this.#callHook(this.#trace?.reconnectStopped, () => ({ attempts: made, cause }));
1849
+ this.#callHook(this.#trace?.reconnectStopped, () => ({
1850
+ attempts: made,
1851
+ cause,
1852
+ }));
1751
1853
  }
1752
1854
  this.#reconnecting = false;
1753
1855
  this.#loopAttempt = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAYN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EASL,WAAW,EACX,UAAU,EAKV,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,EACN,cAAc,EACd,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAA4B,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAA2B,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAmB,MAAM,WAAW,CAAC;AAmBvD,gGAAgG;AAChG,SAAS,sBAAsB,CAAC,OAAkC;IAChE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,UAAU,EAAE,QAAQ,CAAC;QACtB,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,MAAM,EAAE,IAAI,CAAC;KACN,EAAE,CAAC;QACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,UAAU,CAAC,8DAA8D,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAsB;IACxD,OAAO;QACL,kBAAkB,EAAE,qBAAqB,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACvE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,0BAA0B,EAAE,qBAAqB,CAAC,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACvF,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC;KACjD,CAAC;AACJ,CAAC;AAuCD,IAAI,WAAgD,CAAC;AAErD,IAAI,YAAkE,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAA0D;IACnF,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,qEAAqE;AACrE,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC,mDAAmD;AACnD,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAuB5C,mFAAmF;AACnF,SAAS,eAAe,CAAC,KAAmB,EAAE,eAAwB;IACpE,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAC1F,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,eAAe;YACpB,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,mCAAmC,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe;QAAE,OAAO,6BAA6B,CAAC;IAC1E,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB;QAAE,OAAO,uCAAuC,CAAC;IACrF,OAAO,KAAK,CAAC,SAAS,GAAG,CAAC;QACxB,CAAC,CAAC,oCAAoC;QACtC,CAAC,CAAC,sCAAsC,KAAK,CAAC,SAAS,EAAE,CAAC;AAC9D,CAAC;AAUD,yFAAyF;AACzF,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,wBAAwB;IACxB,iCAAiC;IACjC,sBAAsB;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAkCH,SAAS,iBAAiB;IACxB,IAAI,OAAoB,CAAC;IACzB,IAAI,MAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,yEAAyE;IACzE,8DAA8D;IAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAmB;QAC9B,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,OAAO;YACL,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO;YAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,KAAK;YACV,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO;YAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;YACxB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,WAAW,CAAC,KAAK,EAAE,KAAK;YACtB,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO;YAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;YACxB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,oDAAoD;AACpD,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C,8DAA8D;AAC9D,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAOnG;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACjB;QACE,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,MAAM,CAAQ;IACd,QAAQ,CAAgB;IACxB,OAAO,CAAS;IAChB;;;;OAIG;IACH,SAAS,CAAS;IAClB;;;;OAIG;IACH,kBAAkB,CAAS;IAC3B,KAAK,GAAG,CAAC,CAAC;IACV;;;OAGG;IACH,aAAa,GAAuB,yBAAyB,EAAE,CAAC;IAChE,UAAU,CAAkB;IAE5B,SAAS,CAAW;IACpB,KAAK,CAAS;IACd,SAAS,CAAe;IACxB,kBAAkB,CAAoB;IACtC,cAAc,CAA4B;IAC1C,0BAA0B,CAAwC;IAClE,8EAA8E;IAC9E,MAAM,CAA0B;IAChC,0FAA0F;IAC1F,QAAQ,CAA4B;IACpC,oDAAoD;IACpD,iBAAiB,CAA+B;IAChD;;;OAGG;IACH,aAAa,GAAG,KAAK,CAAC;IACtB,qEAAqE;IACrE,YAAY,GAAG,CAAC,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAOE;IACd;;;OAGG;IACH,SAAS,CAAoB;IAC7B,8EAA8E;IAC9E,QAAQ,GAAG,KAAK,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAA4B;IACpC,iFAAiF;IACjF,gBAAgB,CAA2B;IAC3C,+EAA+E;IAC/E,YAAY,GAAG,CAAC,CAAC;IACjB;;;;;OAKG;IACH,sBAAsB,CAA4B;IAClD,6DAA6D;IAC7D,iBAAiB,CAA8B;IAC/C,OAAO,GAAiB,YAAY,CAAC,YAAY,CAAC;IAClD,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,SAAS,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,UAAU,CAAY;IACtB,QAAQ,CAA2B;IACnC,QAAQ,GAAmB,iBAAiB,EAAE,CAAC;IAE/C,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IACvD,oDAAoD;IACpD,MAAM,GAAsB,EAAE,CAAC;IAC/B,SAAS,GAAG,KAAK,CAAC;IAClB,sFAAsF;IACtF,UAAU,CAAsF;IAChG,aAAa,GAAG,CAAC,CAAC;IAClB,kBAAkB,GAAG,CAAC,QAAQ,CAAC;IAE/B,iBAAiB,CAA6B;IAC9C,KAAK,CAA0B;IAC/B,WAAW,CAA+B;IAE1C,YAAY,QAAkB,EAAE,IAAY,EAAE,QAAgB,EAAE,OAAO,GAAkB,EAAE;QACzF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,QAAQ,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACpE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7E,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAC7B,IAAI,CAAC,OAAO,EACZ,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnC,gFAAgF;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,KAAK;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,IAAI,CAAC,kBAAkB,CAAC;YACjC,CAAC;YACD,IAAI,QAAQ;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK;gBAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,IAAI,iBAAiB;gBACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;YACjC,CAAC;YACD,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK;gBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC;YACD,IAAI,YAAY,CAAC,KAAK;gBACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;YACD,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAC9D,iBAAiB,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC;YAChF,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;YACnE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACrD,CAAC;QAEF,kEAAkE;QAClE,2EAA2E;QAC3E,MAAM,cAAc,GAAiC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACrF,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,CAC9E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,CACjF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACxE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,oDAAoD;IACpD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,8EAA8E;IAE9E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,OAAO,CAAC,OAAO,GAAkD,EAAE;QACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAsD,EACtD,aAAqB,EACrB,SAAkB;QAElB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACrE,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,YAAY;YAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;QAClF,yEAAyE;QACzE,gEAAgE;QAChE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAiB;YAC1B,OAAO,EAAE,aAAa;YACtB,SAAS;YACT,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;YAC5B,gBAAgB,EAAE,CAAC;YACnB,KAAK,EAAE,YAAY,CAAC,IAAI;YACxB,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,CAAC,CAAC;SACd,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU;gBACV,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS;aAChD,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,qEAAqE;QACrE,mEAAmE;QACnE,kEAAkE;QAClE,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAO,CAAC,CAAC,CAAC;QACvE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;iBACjB,CAAC,CAAC,CAAC;gBACJ,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBACrC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;qBAC/C,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnE,KAAK,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,MAAM,EAAE,UAAU;qBACnB,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACxD,iEAAiE;oBACjE,gDAAgD;oBAChD,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,IAAI;wBAAE,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;gBAC9E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qEAAqE;gBACrE,oCAAoC;gBACpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,UAAU,CACd,OAAO,GAGH,EAAE;QAEN,2EAA2E;QAC3E,qDAAqD;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtD,uEAAuE;QACvE,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC;QAEnF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC;QACzC,IAAI,IAAiB,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,iBAAiB,EAAE,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,IAAI,UAAU,CACpC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,YAAqB,EACrB,MAA+B,EAC/B,aAAqB;QAErB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE/C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACzC,wEAAwE;YACxE,sEAAsE;YACtE,kEAAkE;YAClE,qBAAqB;YACrB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,YAAY,CAAC,kBAAkB,EAAE;gBAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,aAAa;aACzB,CAAC,EACF,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAC5C,IAAI,CACL,CAAC,IAAI,CACJ,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,YAAY;gBACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;aAC/C,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5B,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,gEAAgE;IAChE,CAAC,MAAM,CAAC,YAAY,CAAC;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,6HAA6H;IAC7H,IAAI,CAAC,OAAe,EAAE,OAAO,GAAmB,EAAE;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CACR,OAAe,EACf,OAAO,GAAkD,EAAE;QAE3D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,QAAiB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,MAA+B,EAC/B,QAAiB;QAEjB,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACH,6HAA6H;IAC7H,IAAI,CAAC,OAAuB,EAAE,OAAO,GAAmB,EAAE;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CACH,OAAe,EACf,OAAuB,EACvB,QAAiB;QAEjB,IAAI,CAAC,cAAc,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAiB,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACzF,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,OAAuB,EACvB,QAAiB;QAEjB,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,0BAA0B,EAAE,GAAG,OAAO,CAAC;QACnE,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAE5D,yEAAyE;QACzE,wDAAwD;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC;QAClC,MAAM,WAAW,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpF,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,KAAgD,CAAC;QACrD,IAAI,OAAiC,CAAC;QACtC,yEAAyE;QACzE,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACzF,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAO,CAAC,CAAC,CAAC;YAC7C,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,GAAG;gBAAE,MAAM,MAAM,CAAC,GAAG,CAAC;YACjC,sEAAsE;YACtE,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACjD,IAAI,OAAO,KAAK,SAAS;oBAAE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,yEAAyE;YACzE,kEAAkE;YAClE,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,OAAO;gBAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;;;;OAgBG;IACH,EAAE,CAA2B,KAAQ,EAAE,QAA+B;QACpE,MAAM,YAAY,GAAiB;YACjC,QAAQ,EAAE,QAAsC;YAChD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,wEAAwE;QACxE,oBAAoB;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAElF,MAAM,WAAW,GAAG,GAAS,EAAE;YAC7B,IAAI,YAAY,CAAC,OAAO;gBAAE,OAAO;YACjC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,uDAAuD;IACvD,IAAI,CAA2B,KAAQ,EAAE,QAA+B;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAoB,EAAE,EAAE;YAC3D,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAA0B,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CACJ,KAAQ,EACR,OAAO,GAAkD,EAAE;QAE3D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,uDAAuD;QACvD,MAAM,OAAO,GAGR,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAoB,EAAE,EAAE;YAC7D,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;gBACvE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAA0B,CAAC,CAAC;QAC7B,4EAA4E;QAC5E,MAAM,gBAAgB,GACpB,KAAK,KAAK,cAAc;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,aAAa,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;QACT,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,EAAE,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,WAAW,CAAC,MAAO,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,EAAE,CAAC;;YACxB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAuC;YACnD,IAAI;gBACF,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAO,CAAC,CAAC,CAAC;gBACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM;gBACJ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;gBACV,aAAa,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6EAA6E;IAE7E,8EAA8E;IAC9E,IAAI,QAAQ;QACV,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,8EAA8E;IAC9E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,IAAgB,EAAE,OAAuB,EAAE,KAAY;QACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE;YACzE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,IAAgB,EAAE,MAA0B,EAAE,KAAY;QACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACzD,MAAM,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAgB,EAAE,KAAY,EAAE,OAAsB;QAC9D,oDAAoD;QACpD,KAAK,OAAO,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,cAAc,CACZ,IAAY,EACZ,IAAoB,EACpB,IAAc,EACd,OAAO,GAAoE,EAAE;QAE7E,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YACtC,GAAG,OAAO;YACV,aAAa,EAAE,IAAI,CAAC,0BAA0B;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,IAAY,EACZ,IAAsB,EACtB,IAAc,EACd,OAAO,GAAoE,EAAE;QAE7E,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YACxC,GAAG,OAAO;YACV,aAAa,EAAE,IAAI,CAAC,0BAA0B;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAE7E,cAAc,CAAC,UAAU,GAAqC,EAAE;QAC9D,yEAAyE;QACzE,kCAAkC;QAClC,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9E,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;QACtC,yEAAyE;QACzE,wBAAwB;QACxB,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAC7E,CAAC;QACD,sEAAsE;QACtE,4EAA4E;QAC5E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG;gBACd,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE;gBAC7C,MAAM,IAAI,GAA2B,EAAE,CAAC;gBACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5D,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7E,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBAChC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB;oBACtD,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC/B,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB;iBACvD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,0DAA0D;IAC1D,gBAAgB,CAAC,MAAsB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,IAAI;YAAE,OAAO;QAC9F,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE;YAC5C,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACvF,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS;gBACT,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,eAAe,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB;gBACtD,WAAW,EAAE,MAAM,CAAC,KAAK;gBACzB,gBAAgB,EAAE,MAAM,CAAC,UAAU;gBACnC,wEAAwE;gBACxE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,eAAe;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO;QAC9E,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS;YAAE,OAAO;QACpD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC3B,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB;SACvD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uDAAuD;IACvD,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK;YACL,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;YACjD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,SAAS,CAAI,IAAwC,EAAE,IAAa;QAClE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,6EAA6E;IAE7E,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClF,oEAAoE;QACpE,0EAA0E;QAC1E,oDAAoD;QACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;YACvB,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,yBAAyB,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB;QAMpC,0EAA0E;QAC1E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,sEAAsE;QACtE,+DAA+D;QAC/D,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,kCAAkC,CAAC,CAAC,EAC1E,iBAAiB,CAClB,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,sEAAsE;YACtE,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EACtD,MAAM,CACP,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ;gBAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBACrE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,KAAc;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,CAClB,KAAK,YAAY,cAAc;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,cAAc,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACvF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAAE,OAAO;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;gBAChC,qEAAqE;gBACrE,IAAI,KAAK,KAAK,SAAS;oBAAE,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;gBACvD,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE;oBACT,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC9B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;wBAChD,IAAI,KAAK,KAAK,SAAS;4BAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBAC1D,CAAC;gBACH,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;oBACjB,iEAAiE;oBACjE,oCAAoC;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvD,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS;oBAAE,KAAK,CAAC,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,aAAa,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,OAAmB;QACpC,wEAAwE;QACxE,YAAY;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7F,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO;QAEpC,0EAA0E;QAC1E,cAAc;QACd,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,CAAS;QAC3B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,eAAe,CAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,CAAS;QACzB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE;gBACtE,OAAO,EAAE,GAAG,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,eAAe,CAAC,cAAc;YAChC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,4EAA4E;QAC5E,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACvC,wEAAwE;YACxE,qEAAqE;YACrE,sBAAsB;YACtB,MAAM,QAAQ,GACZ,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9C,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,gEAAgE;QAChE,IACE,GAAG,CAAC,IAAI,KAAK,sBAAsB;YACnC,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EACzC,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,qEAAqE;YACrE,gEAAgE;YAChE,wCAAwC;YACxC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,6BAA6B;gBAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpF,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBAClF,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI;oBAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/D,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YACD,oEAAoE;YACpE,MAAM,OAAO,GACX,GAAG,CAAC,IAAI,KAAK,sBAAsB;gBACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrF,IAAI,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE;iBACvD,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,sEAAsE;YACtE,qEAAqE;YACrE,KAAK,cAAc;gBACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAAE,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxF,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzF,MAAM;YACR,KAAK,YAAY;gBACf,qEAAqE;gBACrE,uEAAuE;gBACvE,wEAAwE;gBACxE,qDAAqD;gBACrD,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC/E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACvC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,sEAAsE;gBACtE,wEAAwE;gBACxE,mCAAmC;gBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,4BAA4B;QAC1B,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAA8B;QACzC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,0EAA0E;YAC1E,6DAA6D;YAC7D,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC;QAED,wEAAwE;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAClE,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,MAA0B,EAAE,OAAqB;QAC1E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,uEAAuE;gBACvE,gEAAgE;gBAChE,kEAAkE;gBAClE,qEAAqE;gBACrE,wEAAwE;gBACxE,mDAAmD;gBACnD,EAAE;gBACF,mEAAmE;gBACnE,qEAAqE;gBACrE,mBAAmB;gBACnB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC3B,mEAAmE;oBACnE,0CAA0C;oBAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACjC,CAAC;qBAAM,IACL,IAAI,CAAC,KAAK,KAAK,CAAC;oBAChB,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC3D,CAAC;oBACD,oEAAoE;oBACpE,kEAAkE;oBAClE,qDAAqD;oBACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YACD,KAAK,aAAa,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAC5F,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,MAAM;gBAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;oBAChF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,gBAAgB,CACnB,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CACvE,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,aAAa;gBAChB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtE,qEAAqE;gBACrE,sEAAsE;gBACtE,OAAO;gBACP,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,eAAe;gBAClB,sEAAsE;gBACtE,qEAAqE;gBACrE,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC/E,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;gBACnE,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjF,MAAM;YACR,KAAK,0BAA0B;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,gBAAgB,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/E,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE;iBAC/E,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjF,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5E,MAAM;YACR,KAAK,qBAAqB;gBACxB,2DAA2D;gBAC3D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAY;QAC3B,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,2BAA2B;YAAE,OAAO;QACxE,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC9B,wEAAwE;QACxE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE;YAC/D,OAAO,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,0DAA0D;IAC1D,gBAAgB,CAAC,KAAkB;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,KAAwB,EAAE,aAAsB;QACpE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YACjE,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACxC,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS;gBAAE,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAqD,KAAQ,EAAE,OAAoB;QACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAA2B,KAAQ,EAAE,OAAoB;QAC/D,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5D,qEAAqE;YACrE,mBAAmB;YACnB,IAAI,YAAY,CAAC,OAAO;gBAAE,SAAS;YACnC,IAAI,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uEAAuE;gBACvE,kEAAkE;gBAClE,uBAAuB;gBACvB,cAAc,CAAC,GAAG,EAAE;oBAClB,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,QAAoB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,GAAG,GAAS,EAAE;QAClB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EAAE,CAAC;YACtD,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;gBACjD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,uBAAuB,CAAC,GAAiB;QACvC,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO;QACvD,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5C,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,CAAC,eAAe,CAClB,GAAG,IAAI,IAAI,cAAc,CAAC,4DAA4D,CAAC,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC;QACzC,iEAAiE;QACjE,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,yEAAyE;QACzE,2EAA2E;QAC3E,qCAAqC;QACrC,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,GAAU,EAAE,OAAe;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,CAAC,IAAI,OAAO,GAAG,WAAW;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACxE,IAAI,KAAc,CAAC;QACnB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,KAAK,GAAG,KAAK,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,GAAU;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAEzE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,8EAA8E;QAC9E,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,SAAkD,CAAC;QACvD,IAAI,CAAC;YACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC3F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;wBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,SAAS,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrD,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC,CAAC;gBACJ,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,wEAAwE;gBACxE,wEAAwE;gBACxE,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACjF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,MAAM,IAAI,CAAC,QAAQ,CACjB,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE,EAC7D,OAAO,EACP,IAAI,CACL,CAAC;oBACF,qEAAqE;oBACrE,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;wBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC9C,OAAO;oBACT,CAAC;oBACD,oEAAoE;oBACpE,kEAAkE;oBAClE,4CAA4C;oBAC5C,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,IAAI,QAAQ,YAAY,qBAAqB;wBAAE,OAAO;oBACtD,GAAG;wBACD,QAAQ,YAAY,KAAK;4BACvB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,SAAS,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;gBAAE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CAAC,KAAc;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,SAAS;YAAE,OAAO;QACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO;QACvD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,sEAAsE;QACtE,iDAAiD;QACjD,KAAK,IAAI,CAAC,qBAAqB,CAC7B,KAAK,EACL,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAMpB;IACC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}