@neykoor/baileys 7.0.20-rc15 → 7.0.20-rc16

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.
@@ -14,12 +14,6 @@ import { BinaryInfo } from '../WAM/BinaryInfo.js';
14
14
  import { USyncQuery, USyncUser } from '../WAUSync/index.js';
15
15
  import { WebSocketClient } from './Client/index.js';
16
16
  import { executeWMexQuery } from './mex.js';
17
- /**
18
- * Connects to WA servers and performs:
19
- * - simple queries (no retry mechanism, wait for connection establishment)
20
- * - listen to messages and emit events
21
- * - query phone connection
22
- */
23
17
  export const makeSocket = (config) => {
24
18
  const { waWebSocketUrl, connectTimeoutMs, logger, keepAliveIntervalMs, browser, auth: authState, printQRInTerminal, defaultQueryTimeoutMs, transactionOpts, qrTimeout, makeSignalRepository } = config;
25
19
  const publicWAMBuffer = new BinaryInfo();
@@ -44,19 +38,13 @@ export const makeSocket = (config) => {
44
38
  if (url.protocol === 'wss:' && authState?.creds?.routingInfo) {
45
39
  url.searchParams.append('ED', authState.creds.routingInfo.toString('base64url'));
46
40
  }
47
- /** ephemeral key pair used to encrypt/decrypt communication. Unique for each connection */
48
41
  const ephemeralKeyPair = Curve.generateKeyPair();
49
- /** WA noise protocol wrapper */
50
42
  const noise = makeNoiseHandler({
51
43
  keyPair: ephemeralKeyPair,
52
44
  NOISE_HEADER: NOISE_WA_HEADER,
53
45
  logger,
54
46
  routingInfo: authState?.creds?.routingInfo
55
47
  });
56
- /**
57
- * started before the WS connect so asking WA for its current web version
58
- * overlaps with the socket coming up & costs the handshake no extra time
59
- */
60
48
  const waWebVersionPromise = config.syncWaWebVersion
61
49
  ? resolveWaWebVersion({ logger, options: config.options, timeoutMs: connectTimeoutMs }).then(liveVersion => {
62
50
  if (liveVersion) {
@@ -65,8 +53,6 @@ export const makeSocket = (config) => {
65
53
  else {
66
54
  logger.warn({ version: config.version }, 'could not resolve live WA Web version, using configured version');
67
55
  }
68
- // avisarlo apenas se sepa: los bots suelen correr con logger silencioso &
69
- // una versión vieja es la causa habitual de que WhatsApp rechace el vinculado
70
56
  printWaVersionNotice({
71
57
  version: liveVersion || config.version,
72
58
  source: liveVersion ? 'live' : 'bundled'
@@ -75,11 +61,8 @@ export const makeSocket = (config) => {
75
61
  })
76
62
  : undefined;
77
63
  if (!config.syncWaWebVersion) {
78
- // el sync está desactivado, así que la versión es la que el bot fijó -- vale la
79
- // pena mostrarla igual, ya que una versión fijada y vieja es lo que rompe el vinculado
80
64
  printWaVersionNotice({ version: config.version, source: 'pinned' });
81
65
  }
82
- /** connect with the version WA Web is serving right now, else keep the configured one */
83
66
  const syncWaWebVersion = async () => {
84
67
  const liveVersion = await waWebVersionPromise;
85
68
  if (!liveVersion || liveVersion.join('.') === config.version?.join('.')) {
@@ -91,7 +74,6 @@ export const makeSocket = (config) => {
91
74
  const ws = new WebSocketClient(url, config);
92
75
  ws.connect();
93
76
  const sendPromise = promisify(ws.send);
94
- /** send a raw buffer */
95
77
  const sendRawMessage = async (data) => {
96
78
  if (!ws.isOpen) {
97
79
  throw new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed });
@@ -107,7 +89,6 @@ export const makeSocket = (config) => {
107
89
  }
108
90
  });
109
91
  };
110
- /** send a binary node */
111
92
  const sendNode = (frame) => {
112
93
  if (logger.level === 'trace') {
113
94
  logger.trace({ xml: binaryNodeToString(frame), msg: 'xml send' });
@@ -115,11 +96,6 @@ export const makeSocket = (config) => {
115
96
  const buff = encodeBinaryNode(frame);
116
97
  return sendRawMessage(buff);
117
98
  };
118
- /**
119
- * Wait for a message with a certain tag to be received
120
- * @param msgId the message tag to await
121
- * @param timeoutMs timeout after which the promise will reject
122
- */
123
99
  const waitForMessage = async (msgId, timeoutMs = defaultQueryTimeoutMs) => {
124
100
  let onRecv;
125
101
  let onErr;
@@ -142,7 +118,6 @@ export const makeSocket = (config) => {
142
118
  return result;
143
119
  }
144
120
  catch (error) {
145
- // Catch timeout and return undefined instead of throwing
146
121
  if (error instanceof Boom && error.output?.statusCode === DisconnectReason.timedOut) {
147
122
  logger?.warn?.({ msgId }, 'timed out waiting for message');
148
123
  return undefined;
@@ -158,24 +133,25 @@ export const makeSocket = (config) => {
158
133
  }
159
134
  }
160
135
  };
161
- /** send a query, and wait for its response. auto-generates message ID if not provided */
162
136
  const query = async (node, timeoutMs) => {
163
137
  if (!node.attrs.id) {
164
138
  node.attrs.id = generateMessageTag();
165
139
  }
166
140
  const msgId = node.attrs.id;
167
- const result = await promiseTimeout(timeoutMs, async (resolve, reject) => {
168
- const result = waitForMessage(msgId, timeoutMs).catch(reject);
169
- sendNode(node)
170
- .then(async () => resolve(await result))
171
- .catch(reject);
172
- });
141
+ const waitPromise = waitForMessage(msgId, timeoutMs);
142
+ try {
143
+ await sendNode(node);
144
+ }
145
+ catch (err) {
146
+ waitPromise.catch(() => { });
147
+ throw err;
148
+ }
149
+ const result = await waitPromise;
173
150
  if (result && 'tag' in result) {
174
151
  assertNodeErrorFree(result);
175
152
  }
176
153
  return result;
177
154
  };
178
- // Validate current key-bundle on server; on failure, trigger pre-key upload and rethrow
179
155
  const digestKeyBundle = async () => {
180
156
  const res = await query({
181
157
  tag: 'iq',
@@ -188,7 +164,6 @@ export const makeSocket = (config) => {
188
164
  throw new Error('encrypt/get digest returned no digest node');
189
165
  }
190
166
  };
191
- // Rotate our signed pre-key on server; on failure, run digest as fallback and rethrow
192
167
  const rotateSignedPreKey = async () => {
193
168
  const newId = (creds.signedPreKey.keyId || 0) + 1;
194
169
  const oldPrivateKey = creds.signedPreKey.keyPair.private;
@@ -219,8 +194,6 @@ export const makeSocket = (config) => {
219
194
  if (usyncQuery.protocols.length === 0) {
220
195
  throw new Boom('USyncQuery must have at least one protocol');
221
196
  }
222
- // todo: validate users, throw WARNING on no valid users
223
- // variable below has only validated users
224
197
  const validUsers = usyncQuery.users;
225
198
  const userNodes = validUsers.map(user => {
226
199
  return {
@@ -300,7 +273,7 @@ export const makeSocket = (config) => {
300
273
  usyncQuery.withUser(new USyncUser().withPhone(phone));
301
274
  }
302
275
  if (usyncQuery.users.length === 0) {
303
- return []; // return early without forcing an empty query
276
+ return [];
304
277
  }
305
278
  const results = await executeUSyncQuery(usyncQuery);
306
279
  if (results) {
@@ -319,7 +292,7 @@ export const makeSocket = (config) => {
319
292
  }
320
293
  }
321
294
  if (usyncQuery.users.length === 0) {
322
- return []; // return early without forcing an empty query
295
+ return [];
323
296
  }
324
297
  const results = await executeUSyncQuery(usyncQuery);
325
298
  if (results) {
@@ -329,7 +302,6 @@ export const makeSocket = (config) => {
329
302
  };
330
303
  const ev = makeEventBuffer(logger);
331
304
  const { creds } = authState;
332
- // add transaction capability
333
305
  const keys = addTransactionCapability(authState.keys, logger, transactionOpts);
334
306
  const signalRepository = makeSignalRepository({ creds, keys }, logger, pnFromLIDUSync);
335
307
  let lastDateRecv;
@@ -339,11 +311,9 @@ export const makeSocket = (config) => {
339
311
  let qrTimer;
340
312
  let closed = false;
341
313
  const socketEndHandlers = [];
342
- /** log & process any unexpected errors */
343
314
  const onUnexpectedError = (err, msg) => {
344
315
  logger.error({ err }, `unexpected error in '${msg}'`);
345
316
  };
346
- /** await the next incoming message */
347
317
  const awaitNextMessage = async (sendMsg) => {
348
318
  if (!ws.isOpen) {
349
319
  throw new Boom('Connection Closed', {
@@ -370,15 +340,10 @@ export const makeSocket = (config) => {
370
340
  };
371
341
  let handshakeDone;
372
342
  let handshakeFailed;
373
- /**
374
- * resolves once the noise handshake is over & nodes can actually reach WA.
375
- * anything sent before that is framed as a handshake message and lost
376
- */
377
343
  const handshakePromise = new Promise((resolve, reject) => {
378
344
  handshakeDone = resolve;
379
345
  handshakeFailed = reject;
380
346
  });
381
- // nobody may be waiting on it when the connection dies
382
347
  handshakePromise.catch(() => { });
383
348
  const waitForHandshake = async () => {
384
349
  if (ws.isClosed || ws.isClosing) {
@@ -388,7 +353,6 @@ export const makeSocket = (config) => {
388
353
  handshakePromise.then(() => resolve(), reject);
389
354
  });
390
355
  };
391
- /** connection handshake */
392
356
  const validateConnection = async () => {
393
357
  let helloMsg = {
394
358
  clientHello: { ephemeral: ephemeralKeyPair.public }
@@ -400,7 +364,6 @@ export const makeSocket = (config) => {
400
364
  const handshake = proto.HandshakeMessage.decode(result);
401
365
  logger.trace({ handshake }, 'handshake recv from WA');
402
366
  const keyEnc = noise.processHandshake(handshake, creds.noiseKey);
403
- // the payload below announces the client version, so settle it first
404
367
  await syncWaWebVersion();
405
368
  let node;
406
369
  if (!creds.me) {
@@ -437,9 +400,7 @@ export const makeSocket = (config) => {
437
400
  const countChild = getBinaryNodeChild(result, 'count');
438
401
  return +countChild.attrs.value;
439
402
  };
440
- // WAWeb has no time throttle here; the server drives uploads via PreKeyLow notifications.
441
403
  let uploadPreKeysPromise = null;
442
- /** generates and uploads a set of pre-keys to the server */
443
404
  const uploadPreKeys = async (count = MIN_PREKEY_COUNT) => {
444
405
  if (uploadPreKeysPromise) {
445
406
  logger.debug('Pre-key upload already in progress, waiting for completion');
@@ -448,22 +409,18 @@ export const makeSocket = (config) => {
448
409
  }
449
410
  const uploadLogic = async (retryCount) => {
450
411
  logger.info({ count, retryCount }, 'uploading pre-keys');
451
- // Generate and save pre-keys atomically (prevents ID collisions on retry)
452
412
  const node = await keys.transaction(async () => {
453
413
  logger.debug({ requestedCount: count }, 'generating pre-keys with requested count');
454
414
  const { update, node } = await getNextPreKeysNode({ creds, keys }, count);
455
- // Update credentials immediately to prevent duplicate IDs on retry
456
415
  ev.emit('creds.update', update);
457
416
  return node;
458
417
  }, creds?.me?.id || 'upload-pre-keys');
459
- // Upload to server (outside transaction, can fail without affecting local keys)
460
418
  try {
461
419
  await query(node);
462
420
  logger.info({ count }, 'uploaded pre-keys successfully');
463
421
  }
464
422
  catch (uploadError) {
465
423
  logger.error({ uploadError: uploadError.toString(), count }, 'Failed to upload pre-keys to server');
466
- // Recurse into uploadLogic; calling uploadPreKeys would await its own in-flight promise.
467
424
  if (retryCount < 3) {
468
425
  const backoffDelay = Math.min(1000 * Math.pow(2, retryCount), 10000);
469
426
  logger.info(`Retrying pre-key upload in ${backoffDelay}ms`);
@@ -473,7 +430,6 @@ export const makeSocket = (config) => {
473
430
  throw uploadError;
474
431
  }
475
432
  };
476
- // Add timeout protection
477
433
  uploadPreKeysPromise = Promise.race([
478
434
  uploadLogic(0),
479
435
  new Promise((_, reject) => setTimeout(() => reject(new Boom('Pre-key upload timeout', { statusCode: 408 })), UPLOAD_TIMEOUT))
@@ -523,24 +479,19 @@ export const makeSocket = (config) => {
523
479
  }
524
480
  catch (error) {
525
481
  logger.error({ error }, 'Failed to check/upload pre-keys during initialization');
526
- // Don't throw - allow connection to continue even if pre-key check fails
527
482
  }
528
483
  };
529
484
  const onMessageReceived = async (data) => {
530
485
  await noise.decodeFrame(data, frame => {
531
- // reset ping timeout
532
486
  lastDateRecv = new Date();
533
487
  let anyTriggered = false;
534
488
  anyTriggered = ws.emit('frame', frame);
535
- // if it's a binary node
536
489
  if (!(frame instanceof Uint8Array)) {
537
490
  const msgId = frame.attrs.id;
538
491
  if (logger.level === 'trace') {
539
492
  logger.trace({ xml: binaryNodeToString(frame), msg: 'recv xml' });
540
493
  }
541
- /* Check if this is a response to a message we sent */
542
494
  anyTriggered = ws.emit(`${DEF_TAG_PREFIX}${msgId}`, frame) || anyTriggered;
543
- /* Check if this is a response to a message we are expecting */
544
495
  const l0 = frame.tag;
545
496
  const l1 = frame.attrs || {};
546
497
  const l2 = Array.isArray(frame.content) ? frame.content[0]?.tag : '';
@@ -564,11 +515,9 @@ export const makeSocket = (config) => {
564
515
  }
565
516
  closed = true;
566
517
  logger.info({ trace: error?.stack }, error ? 'connection errored' : 'connection closed');
567
- // a 405 means WA turned down the version we announced, so never reuse it
568
518
  if (error instanceof Boom && error.output?.statusCode === 405) {
569
519
  clearWaWebVersionCache();
570
520
  }
571
- // fail whoever is waiting on the handshake instead of leaving them hanging
572
521
  handshakeFailed(error || new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed }));
573
522
  clearInterval(keepAliveReq);
574
523
  clearInterval(signedPreKeyRotationReq);
@@ -627,15 +576,10 @@ export const makeSocket = (config) => {
627
576
  lastDateRecv = new Date();
628
577
  }
629
578
  const diff = Date.now() - lastDateRecv.getTime();
630
- /*
631
- check if it's been a suspicious amount of time since the server responded with our last seen
632
- it could be that the network is down
633
- */
634
579
  if (diff > keepAliveIntervalMs + 5000) {
635
580
  void end(new Boom('Connection was lost', { statusCode: DisconnectReason.connectionLost }));
636
581
  }
637
582
  else if (ws.isOpen) {
638
- // if its all good, send a keep alive request
639
583
  query({
640
584
  tag: 'iq',
641
585
  attrs: {
@@ -653,7 +597,6 @@ export const makeSocket = (config) => {
653
597
  logger.warn('keep alive called when WS not open');
654
598
  }
655
599
  }, keepAliveIntervalMs));
656
- /** i have no idea why this exists. pls enlighten me */
657
600
  const sendPassiveIq = (tag) => query({
658
601
  tag: 'iq',
659
602
  attrs: {
@@ -663,7 +606,6 @@ export const makeSocket = (config) => {
663
606
  },
664
607
  content: [{ tag, attrs: {} }]
665
608
  });
666
- /** logout & invalidate connection */
667
609
  const logout = async (msg) => {
668
610
  const jid = authState.creds.me?.id;
669
611
  if (jid) {
@@ -699,9 +641,6 @@ export const makeSocket = (config) => {
699
641
  statusCode: 400
700
642
  });
701
643
  }
702
- // the code is generated here, but only becomes valid once WA receives the node
703
- // below -- sending it before the handshake is over would silently lose it & the
704
- // phone would reject the code the user is looking at
705
644
  await waitForHandshake();
706
645
  authState.creds.pairingCode = pairingCode;
707
646
  authState.creds.me = {
@@ -793,9 +732,7 @@ export const makeSocket = (config) => {
793
732
  });
794
733
  ws.on('error', mapWebSocketError(end));
795
734
  ws.on('close', () => void end(new Boom('Connection Terminated', { statusCode: DisconnectReason.connectionClosed })));
796
- // the server terminated the connection
797
735
  ws.on('CB:xmlstreamend', () => void end(new Boom('Connection Terminated by Server', { statusCode: DisconnectReason.connectionClosed })));
798
- // QR gen
799
736
  ws.on('CB:iq,type:set,pair-device', async (stanza) => {
800
737
  const iq = {
801
738
  tag: 'iq',
@@ -811,7 +748,7 @@ export const makeSocket = (config) => {
811
748
  const noiseKeyB64 = Buffer.from(creds.noiseKey.public).toString('base64');
812
749
  const identityKeyB64 = Buffer.from(creds.signedIdentityKey.public).toString('base64');
813
750
  const advB64 = creds.advSecretKey;
814
- let qrMs = qrTimeout || 60000; // time to let a QR live
751
+ let qrMs = qrTimeout || 60000;
815
752
  const genPairQR = () => {
816
753
  if (!ws.isOpen) {
817
754
  return;
@@ -825,12 +762,10 @@ export const makeSocket = (config) => {
825
762
  const qr = buildPairingQRData(ref, noiseKeyB64, identityKeyB64, advB64);
826
763
  ev.emit('connection.update', { qr });
827
764
  qrTimer = setTimeout(genPairQR, qrMs);
828
- qrMs = qrTimeout || 20000; // shorter subsequent qrs
765
+ qrMs = qrTimeout || 20000;
829
766
  };
830
767
  genPairQR();
831
768
  });
832
- // device paired for the first time
833
- // if device pairs successfully, the server asks to restart the connection
834
769
  ws.on('CB:iq,,pair-success', async (stanza) => {
835
770
  logger.debug('pair success recv');
836
771
  try {
@@ -847,13 +782,11 @@ export const makeSocket = (config) => {
847
782
  void end(error);
848
783
  }
849
784
  });
850
- // login complete
851
785
  ws.on('CB:success', async (node) => {
852
786
  try {
853
787
  updateServerTimeOffset(node);
854
788
  await uploadPreKeysToServerIfRequired();
855
789
  await sendPassiveIq('active');
856
- // After successful login, validate our key-bundle against server
857
790
  try {
858
791
  await digestKeyBundle();
859
792
  }
@@ -865,7 +798,7 @@ export const makeSocket = (config) => {
865
798
  logger.warn({ err }, 'failed to send initial passive iq');
866
799
  }
867
800
  logger.info('opened connection to WA');
868
- clearTimeout(qrTimer); // will never happen in all likelyhood -- but just in case WA sends success on first try
801
+ clearTimeout(qrTimer);
869
802
  ev.emit('creds.update', { me: { ...authState.creds.me, lid: node.attrs.lid } });
870
803
  ev.emit('connection.update', { connection: 'open' });
871
804
  void sendUnifiedSession();
@@ -874,16 +807,13 @@ export const makeSocket = (config) => {
874
807
  process.nextTick(async () => {
875
808
  try {
876
809
  const myPN = authState.creds.me.id;
877
- // Store our own LID-PN mapping
878
810
  await signalRepository.lidMapping.storeLIDPNMappings([{ lid: myLID, pn: myPN }]);
879
- // Create device list for our own user (needed for bulk migration)
880
811
  const { user, device } = jidDecode(myPN);
881
812
  await authState.keys.set({
882
813
  'device-list': {
883
814
  [user]: [device?.toString() || '0']
884
815
  }
885
816
  });
886
- // migrate our own session
887
817
  await signalRepository.migrateSession(myPN, myLID);
888
818
  logger.info({ myPN, myLID }, 'Own LID session created successfully');
889
819
  }
@@ -899,7 +829,6 @@ export const makeSocket = (config) => {
899
829
  const { reason, statusCode } = getErrorCodeFromStreamError(node);
900
830
  void end(new Boom(`Stream Errored (${reason})`, { statusCode, data: reasonNode || node }));
901
831
  });
902
- // stream fail, possible logout
903
832
  ws.on('CB:failure', (node) => {
904
833
  const reason = +(node.attrs.reason || 500);
905
834
  void end(new Boom('Connection Failure', { statusCode: reason, data: node.attrs }));
@@ -926,14 +855,11 @@ export const makeSocket = (config) => {
926
855
  let didStartBuffer = false;
927
856
  process.nextTick(() => {
928
857
  if (creds.me?.id) {
929
- // start buffering important events
930
- // if we're logged in
931
858
  ev.buffer();
932
859
  didStartBuffer = true;
933
860
  }
934
861
  ev.emit('connection.update', { connection: 'connecting', receivedPendingNotifications: false, qr: undefined });
935
862
  });
936
- // called when all offline notifs are handled
937
863
  ws.on('CB:ib,,offline', (node) => {
938
864
  const child = getBinaryNodeChild(node, 'offline');
939
865
  const offlineNotifs = +(child?.attrs.count || 0);
@@ -944,10 +870,8 @@ export const makeSocket = (config) => {
944
870
  }
945
871
  ev.emit('connection.update', { receivedPendingNotifications: true });
946
872
  });
947
- // update credentials when required
948
873
  ev.on('creds.update', update => {
949
874
  const name = update.me?.name;
950
- // if name has just been received
951
875
  if (creds.me?.name !== name) {
952
876
  logger.debug({ name }, 'updated pushName');
953
877
  sendNode({
@@ -1004,10 +928,6 @@ export const makeSocket = (config) => {
1004
928
  const registerSocketEndHandler = (handler) => {
1005
929
  socketEndHandlers.push(handler);
1006
930
  };
1007
- /**
1008
- * Fetches your account's standing when it comes to restrictions.
1009
- * @returns Returns the state of the restrictions.
1010
- */
1011
931
  const fetchAccountReachoutTimelock = async () => {
1012
932
  const queryResult = await executeWMexQuery({}, QueryIds.REACHOUT_TIMELOCK, XWAPaths.xwa2_fetch_account_reachout_timelock, query, generateMessageTag);
1013
933
  const result = {
@@ -1020,10 +940,6 @@ export const makeSocket = (config) => {
1020
940
  ev.emit('connection.update', { reachoutTimeLock: result });
1021
941
  return result;
1022
942
  };
1023
- /**
1024
- * Fetches your account's new chat limits.
1025
- * @returns Returns the quota and the usage.
1026
- */
1027
943
  const fetchNewChatMessageCap = async () => {
1028
944
  return executeWMexQuery({ input: { type: 'INDIVIDUAL_NEW_CHAT_MSG' } }, QueryIds.MESSAGE_CAPPING_INFO, XWAPaths.xwa2_message_capping_info, query, generateMessageTag);
1029
945
  };
@@ -1054,7 +970,6 @@ export const makeSocket = (config) => {
1054
970
  updateServerTimeOffset,
1055
971
  sendUnifiedSession,
1056
972
  wamBuffer: publicWAMBuffer,
1057
- /** Waits for the connection to WA to reach a state */
1058
973
  waitForConnectionUpdate: bindWaitForConnectionUpdate(ev),
1059
974
  sendWAMBuffer,
1060
975
  executeUSyncQuery,
@@ -1063,10 +978,6 @@ export const makeSocket = (config) => {
1063
978
  fetchNewChatMessageCap
1064
979
  };
1065
980
  };
1066
- /**
1067
- * map the websocket error to the right type
1068
- * so it can be retried by the caller
1069
- * */
1070
981
  function mapWebSocketError(handler) {
1071
982
  return (error) => {
1072
983
  handler(new Boom(`WebSocket Error (${error?.message})`, { statusCode: getCodeFromWSError(error), data: error }));
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"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"}