@fer2809fl/baileys 1.4.9 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -674
- package/README.md +556 -523
- package/WAProto/GenerateStatics.sh +3 -4
- package/WAProto/WAProto.proto +1215 -511
- package/WAProto/fix-imports.js +85 -0
- package/WAProto/index.d.ts +4347 -45387
- package/WAProto/index.js +65475 -137445
- package/engine-requirements.js +10 -0
- package/lib/Defaults/index.d.ts +34 -18
- package/lib/Defaults/index.d.ts.map +1 -0
- package/lib/Defaults/index.js +95 -67
- package/lib/Defaults/index.js.map +1 -0
- package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
- package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
- package/lib/Signal/Group/ciphertext-message.js +2 -5
- package/lib/Signal/Group/ciphertext-message.js.map +1 -0
- package/lib/Signal/Group/group-session-builder.d.ts +4 -3
- package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
- package/lib/Signal/Group/group-session-builder.js +7 -41
- package/lib/Signal/Group/group-session-builder.js.map +1 -0
- package/lib/Signal/Group/group_cipher.d.ts +4 -4
- package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
- package/lib/Signal/Group/group_cipher.js +37 -60
- package/lib/Signal/Group/group_cipher.js.map +1 -0
- package/lib/Signal/Group/index.d.ts +12 -11
- package/lib/Signal/Group/index.d.ts.map +1 -0
- package/lib/Signal/Group/index.js +12 -57
- package/lib/Signal/Group/index.js.map +1 -0
- package/lib/Signal/Group/keyhelper.d.ts +2 -1
- package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
- package/lib/Signal/Group/keyhelper.js +7 -44
- package/lib/Signal/Group/keyhelper.js.map +1 -0
- package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
- package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-chain-key.js +7 -15
- package/lib/Signal/Group/sender-chain-key.js.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
- package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-message.d.ts +2 -1
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-message.js +9 -12
- package/lib/Signal/Group/sender-key-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-name.d.ts +1 -0
- package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-name.js +2 -5
- package/lib/Signal/Group/sender-key-name.js.map +1 -0
- package/lib/Signal/Group/sender-key-record.d.ts +3 -2
- package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-record.js +12 -37
- package/lib/Signal/Group/sender-key-record.js.map +1 -0
- package/lib/Signal/Group/sender-key-state.d.ts +7 -6
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-state.js +27 -42
- package/lib/Signal/Group/sender-key-state.js.map +1 -0
- package/lib/Signal/Group/sender-message-key.d.ts +1 -0
- package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-message-key.js +4 -7
- package/lib/Signal/Group/sender-message-key.js.map +1 -0
- package/lib/Signal/libsignal.d.ts +5 -3
- package/lib/Signal/libsignal.d.ts.map +1 -0
- package/lib/Signal/libsignal.js +347 -90
- package/lib/Signal/libsignal.js.map +1 -0
- package/lib/Signal/lid-mapping.d.ts +23 -0
- package/lib/Signal/lid-mapping.d.ts.map +1 -0
- package/lib/Signal/lid-mapping.js +277 -0
- package/lib/Signal/lid-mapping.js.map +1 -0
- package/lib/Socket/Client/index.d.ts +3 -2
- package/lib/Socket/Client/index.d.ts.map +1 -0
- package/lib/Socket/Client/index.js +3 -18
- package/lib/Socket/Client/index.js.map +1 -0
- package/lib/Socket/Client/types.d.ts +4 -4
- package/lib/Socket/Client/types.d.ts.map +1 -0
- package/lib/Socket/Client/types.js +4 -6
- package/lib/Socket/Client/types.js.map +1 -0
- package/lib/Socket/Client/websocket.d.ts +3 -3
- package/lib/Socket/Client/websocket.d.ts.map +1 -0
- package/lib/Socket/Client/websocket.js +21 -78
- package/lib/Socket/Client/websocket.js.map +1 -0
- package/lib/Socket/business.d.ts +205 -93
- package/lib/Socket/business.d.ts.map +1 -0
- package/lib/Socket/business.js +162 -43
- package/lib/Socket/business.js.map +1 -0
- package/lib/Socket/chats.d.ts +77 -28
- package/lib/Socket/chats.d.ts.map +1 -0
- package/lib/Socket/chats.js +639 -248
- package/lib/Socket/chats.js.map +1 -0
- package/lib/Socket/communities.d.ts +340 -0
- package/lib/Socket/communities.d.ts.map +1 -0
- package/lib/Socket/communities.js +434 -0
- package/lib/Socket/communities.js.map +1 -0
- package/lib/Socket/groups.d.ts +93 -46
- package/lib/Socket/groups.d.ts.map +1 -0
- package/lib/Socket/groups.js +260 -102
- package/lib/Socket/groups.js.map +1 -0
- package/lib/Socket/index.d.ts +253 -98
- package/lib/Socket/index.d.ts.map +1 -0
- package/lib/Socket/index.js +11 -9
- package/lib/Socket/index.js.map +1 -0
- package/lib/Socket/messages-recv.d.ts +192 -83
- package/lib/Socket/messages-recv.d.ts.map +1 -0
- package/lib/Socket/messages-recv.js +1314 -559
- package/lib/Socket/messages-recv.js.map +1 -0
- package/lib/Socket/messages-send.d.ts +190 -75
- package/lib/Socket/messages-send.d.ts.map +1 -0
- package/lib/Socket/messages-send.js +937 -581
- package/lib/Socket/messages-send.js.map +1 -0
- package/lib/Socket/mex.d.ts +4 -0
- package/lib/Socket/mex.d.ts.map +1 -0
- package/lib/Socket/mex.js +62 -0
- package/lib/Socket/mex.js.map +1 -0
- package/lib/Socket/newsletter.d.ts +129 -73
- package/lib/Socket/newsletter.d.ts.map +1 -0
- package/lib/Socket/newsletter.js +373 -222
- package/lib/Socket/newsletter.js.map +1 -0
- package/lib/Socket/smgss.d.ts +119 -0
- package/lib/Socket/smgss.d.ts.map +1 -0
- package/lib/Socket/smgss.js +453 -0
- package/lib/Socket/smgss.js.map +1 -0
- package/lib/Socket/socket.d.ts +59 -270
- package/lib/Socket/socket.d.ts.map +1 -0
- package/lib/Socket/socket.js +738 -326
- package/lib/Socket/socket.js.map +1 -0
- package/lib/Store/index.d.ts +4 -2
- package/lib/Store/index.d.ts.map +1 -0
- package/lib/Store/index.js +4 -8
- package/lib/Store/index.js.map +1 -0
- package/lib/Store/make-in-memory-store.d.ts +74 -60
- package/lib/Store/make-in-memory-store.d.ts.map +1 -0
- package/lib/Store/make-in-memory-store.js +130 -119
- package/lib/Store/make-in-memory-store.js.map +1 -0
- package/lib/Store/make-ordered-dictionary.d.ts +4 -3
- package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
- package/lib/Store/make-ordered-dictionary.js +5 -6
- package/lib/Store/make-ordered-dictionary.js.map +1 -0
- package/lib/Store/object-repository.d.ts +6 -3
- package/lib/Store/object-repository.d.ts.map +1 -0
- package/lib/Store/object-repository.js +2 -5
- package/lib/Store/object-repository.js.map +1 -0
- package/lib/Types/Auth.d.ts +19 -5
- package/lib/Types/Auth.d.ts.map +1 -0
- package/lib/Types/Auth.js +2 -2
- package/lib/Types/Auth.js.map +1 -0
- package/lib/Types/Bussines.d.ts +25 -0
- package/lib/Types/Bussines.d.ts.map +1 -0
- package/lib/Types/Bussines.js +2 -0
- package/lib/Types/Bussines.js.map +1 -0
- package/lib/Types/Call.d.ts +3 -1
- package/lib/Types/Call.d.ts.map +1 -0
- package/lib/Types/Call.js +2 -2
- package/lib/Types/Call.js.map +1 -0
- package/lib/Types/Chat.d.ts +24 -9
- package/lib/Types/Chat.d.ts.map +1 -0
- package/lib/Types/Chat.js +8 -4
- package/lib/Types/Chat.js.map +1 -0
- package/lib/Types/Contact.d.ts +7 -4
- package/lib/Types/Contact.d.ts.map +1 -0
- package/lib/Types/Contact.js +2 -2
- package/lib/Types/Contact.js.map +1 -0
- package/lib/Types/Events.d.ts +90 -33
- package/lib/Types/Events.d.ts.map +1 -0
- package/lib/Types/Events.js +2 -2
- package/lib/Types/Events.js.map +1 -0
- package/lib/Types/GroupMetadata.d.ts +16 -9
- package/lib/Types/GroupMetadata.d.ts.map +1 -0
- package/lib/Types/GroupMetadata.js +2 -2
- package/lib/Types/GroupMetadata.js.map +1 -0
- package/lib/Types/Label.d.ts +12 -0
- package/lib/Types/Label.d.ts.map +1 -0
- package/lib/Types/Label.js +3 -5
- package/lib/Types/Label.js.map +1 -0
- package/lib/Types/LabelAssociation.d.ts +1 -0
- package/lib/Types/LabelAssociation.d.ts.map +1 -0
- package/lib/Types/LabelAssociation.js +3 -5
- package/lib/Types/LabelAssociation.js.map +1 -0
- package/lib/Types/Message.d.ts +176 -148
- package/lib/Types/Message.d.ts.map +1 -0
- package/lib/Types/Message.js +15 -7
- package/lib/Types/Message.js.map +1 -0
- package/lib/Types/Mex.d.ts +154 -0
- package/lib/Types/Mex.d.ts.map +1 -0
- package/lib/Types/Mex.js +39 -0
- package/lib/Types/Mex.js.map +1 -0
- package/lib/Types/Product.d.ts +2 -1
- package/lib/Types/Product.d.ts.map +1 -0
- package/lib/Types/Product.js +2 -2
- package/lib/Types/Product.js.map +1 -0
- package/lib/Types/Signal.d.ts +32 -2
- package/lib/Types/Signal.d.ts.map +1 -0
- package/lib/Types/Signal.js +2 -2
- package/lib/Types/Signal.js.map +1 -0
- package/lib/Types/Socket.d.ts +46 -20
- package/lib/Types/Socket.d.ts.map +1 -0
- package/lib/Types/Socket.js +3 -2
- package/lib/Types/Socket.js.map +1 -0
- package/lib/Types/State.d.ts +79 -2
- package/lib/Types/State.d.ts.map +1 -0
- package/lib/Types/State.js +56 -2
- package/lib/Types/State.js.map +1 -0
- package/lib/Types/USync.d.ts +3 -2
- package/lib/Types/USync.d.ts.map +1 -0
- package/lib/Types/USync.js +2 -2
- package/lib/Types/USync.js.map +1 -0
- package/lib/Types/index.d.ts +16 -14
- package/lib/Types/index.d.ts.map +1 -0
- package/lib/Types/index.js +15 -31
- package/lib/Types/index.js.map +1 -0
- package/lib/Utils/auth-utils.d.ts +10 -4
- package/lib/Utils/auth-utils.d.ts.map +1 -0
- package/lib/Utils/auth-utils.js +242 -151
- package/lib/Utils/auth-utils.js.map +1 -0
- package/lib/Utils/browser-utils.d.ts +4 -0
- package/lib/Utils/browser-utils.d.ts.map +1 -0
- package/lib/Utils/browser-utils.js +29 -0
- package/lib/Utils/browser-utils.js.map +1 -0
- package/lib/Utils/business.d.ts +3 -2
- package/lib/Utils/business.d.ts.map +1 -0
- package/lib/Utils/business.js +66 -69
- package/lib/Utils/business.js.map +1 -0
- package/lib/Utils/button-handler.d.ts +28 -0
- package/lib/Utils/button-handler.d.ts.map +1 -0
- package/lib/Utils/button-handler.js +79 -90
- package/lib/Utils/button-handler.js.map +1 -0
- package/lib/Utils/chat-utils.d.ts +42 -12
- package/lib/Utils/chat-utils.d.ts.map +1 -0
- package/lib/Utils/chat-utils.js +380 -238
- package/lib/Utils/chat-utils.js.map +1 -0
- package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
- package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
- package/lib/Utils/companion-reg-client-utils.js +35 -0
- package/lib/Utils/companion-reg-client-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts +11 -14
- package/lib/Utils/crypto.d.ts.map +1 -0
- package/lib/Utils/crypto.js +41 -116
- package/lib/Utils/crypto.js.map +1 -0
- package/lib/Utils/decode-wa-message.d.ts +36 -5
- package/lib/Utils/decode-wa-message.d.ts.map +1 -0
- package/lib/Utils/decode-wa-message.js +173 -63
- package/lib/Utils/decode-wa-message.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +8 -7
- package/lib/Utils/event-buffer.d.ts.map +1 -0
- package/lib/Utils/event-buffer.js +174 -70
- package/lib/Utils/event-buffer.js.map +1 -0
- package/lib/Utils/generics.d.ts +20 -17
- package/lib/Utils/generics.d.ts.map +1 -0
- package/lib/Utils/generics.js +159 -207
- package/lib/Utils/generics.js.map +1 -0
- package/lib/Utils/history.d.ts +16 -11
- package/lib/Utils/history.d.ts.map +1 -0
- package/lib/Utils/history.js +93 -53
- package/lib/Utils/history.js.map +1 -0
- package/lib/Utils/identity-change-handler.d.ts +44 -0
- package/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/lib/Utils/identity-change-handler.js +50 -0
- package/lib/Utils/identity-change-handler.js.map +1 -0
- package/lib/Utils/index.d.ts +30 -18
- package/lib/Utils/index.d.ts.map +1 -0
- package/lib/Utils/index.js +30 -34
- package/lib/Utils/index.js.map +1 -0
- package/lib/Utils/interactive.d.ts +60 -0
- package/lib/Utils/interactive.d.ts.map +1 -0
- package/lib/Utils/interactive.js +87 -117
- package/lib/Utils/interactive.js.map +1 -0
- package/lib/Utils/link-preview.d.ts +4 -4
- package/lib/Utils/link-preview.d.ts.map +1 -0
- package/lib/Utils/link-preview.js +17 -58
- package/lib/Utils/link-preview.js.map +1 -0
- package/lib/Utils/logger.d.ts +8 -6
- package/lib/Utils/logger.d.ts.map +1 -0
- package/lib/Utils/logger.js +3 -10
- package/lib/Utils/logger.js.map +1 -0
- package/lib/Utils/lt-hash.d.ts +8 -12
- package/lib/Utils/lt-hash.d.ts.map +1 -0
- package/lib/Utils/lt-hash.js +3 -46
- package/lib/Utils/lt-hash.js.map +1 -0
- package/lib/Utils/make-mutex.d.ts +2 -0
- package/lib/Utils/make-mutex.d.ts.map +1 -0
- package/lib/Utils/make-mutex.js +24 -34
- package/lib/Utils/make-mutex.js.map +1 -0
- package/lib/Utils/message-composer.d.ts +93 -0
- package/lib/Utils/message-composer.d.ts.map +1 -0
- package/lib/Utils/message-composer.js +311 -0
- package/lib/Utils/message-composer.js.map +1 -0
- package/lib/Utils/message-retry-manager.d.ts +115 -0
- package/lib/Utils/message-retry-manager.d.ts.map +1 -0
- package/lib/Utils/message-retry-manager.js +265 -0
- package/lib/Utils/message-retry-manager.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +82 -40
- package/lib/Utils/messages-media.d.ts.map +1 -0
- package/lib/Utils/messages-media.js +674 -677
- package/lib/Utils/messages-media.js.map +1 -0
- package/lib/Utils/messages-newsletter.d.ts +74 -0
- package/lib/Utils/messages-newsletter.d.ts.map +1 -0
- package/lib/Utils/messages-newsletter.js +128 -0
- package/lib/Utils/messages-newsletter.js.map +1 -0
- package/lib/Utils/messages.d.ts +38 -14
- package/lib/Utils/messages.d.ts.map +1 -0
- package/lib/Utils/messages.js +835 -602
- package/lib/Utils/messages.js.map +1 -0
- package/lib/Utils/noise-handler.d.ts +9 -8
- package/lib/Utils/noise-handler.d.ts.map +1 -0
- package/lib/Utils/noise-handler.js +149 -98
- package/lib/Utils/noise-handler.js.map +1 -0
- package/lib/Utils/offline-node-processor.d.ts +17 -0
- package/lib/Utils/offline-node-processor.d.ts.map +1 -0
- package/lib/Utils/offline-node-processor.js +40 -0
- package/lib/Utils/offline-node-processor.js.map +1 -0
- package/lib/Utils/pre-key-manager.d.ts +28 -0
- package/lib/Utils/pre-key-manager.d.ts.map +1 -0
- package/lib/Utils/pre-key-manager.js +106 -0
- package/lib/Utils/pre-key-manager.js.map +1 -0
- package/lib/Utils/process-message.d.ts +30 -12
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js +438 -230
- package/lib/Utils/process-message.js.map +1 -0
- package/lib/Utils/reporting-utils.d.ts +11 -0
- package/lib/Utils/reporting-utils.d.ts.map +1 -0
- package/lib/Utils/reporting-utils.js +258 -0
- package/lib/Utils/reporting-utils.js.map +1 -0
- package/lib/Utils/shortcake-crypto.d.ts +36 -0
- package/lib/Utils/shortcake-crypto.d.ts.map +1 -0
- package/lib/Utils/shortcake-crypto.js +71 -0
- package/lib/Utils/shortcake-crypto.js.map +1 -0
- package/lib/Utils/shortcake.d.ts +36 -0
- package/lib/Utils/shortcake.d.ts.map +1 -0
- package/lib/Utils/shortcake.js +162 -0
- package/lib/Utils/shortcake.js.map +1 -0
- package/lib/Utils/signal.d.ts +20 -6
- package/lib/Utils/signal.d.ts.map +1 -0
- package/lib/Utils/signal.js +112 -64
- package/lib/Utils/signal.js.map +1 -0
- package/lib/Utils/stanza-ack.d.ts +11 -0
- package/lib/Utils/stanza-ack.d.ts.map +1 -0
- package/lib/Utils/stanza-ack.js +38 -0
- package/lib/Utils/stanza-ack.js.map +1 -0
- package/lib/Utils/sync-action-utils.d.ts +19 -0
- package/lib/Utils/sync-action-utils.d.ts.map +1 -0
- package/lib/Utils/sync-action-utils.js +49 -0
- package/lib/Utils/sync-action-utils.js.map +1 -0
- package/lib/Utils/tc-token-utils.d.ts +37 -0
- package/lib/Utils/tc-token-utils.d.ts.map +1 -0
- package/lib/Utils/tc-token-utils.js +164 -0
- package/lib/Utils/tc-token-utils.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +40 -64
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
- package/lib/Utils/use-single-file-auth-state.d.ts +6 -0
- package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-single-file-auth-state.js +111 -0
- package/lib/Utils/use-single-file-auth-state.js.map +1 -0
- package/lib/Utils/use-sqlite-auth-state.d.ts +14 -0
- package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-sqlite-auth-state.js +107 -0
- package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
- package/lib/Utils/validate-connection.d.ts +5 -3
- package/lib/Utils/validate-connection.d.ts.map +1 -0
- package/lib/Utils/validate-connection.js +82 -101
- package/lib/Utils/validate-connection.js.map +1 -0
- package/lib/WABinary/constants.d.ts +1 -0
- package/lib/WABinary/constants.d.ts.map +1 -0
- package/lib/WABinary/constants.js +10 -12
- package/lib/WABinary/constants.js.map +1 -0
- package/lib/WABinary/decode.d.ts +2 -1
- package/lib/WABinary/decode.d.ts.map +1 -0
- package/lib/WABinary/decode.js +49 -52
- package/lib/WABinary/decode.js.map +1 -0
- package/lib/WABinary/encode.d.ts +2 -1
- package/lib/WABinary/encode.d.ts.map +1 -0
- package/lib/WABinary/encode.js +19 -49
- package/lib/WABinary/encode.js.map +1 -0
- package/lib/WABinary/generic-utils.d.ts +5 -4
- package/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/lib/WABinary/generic-utils.js +46 -43
- package/lib/WABinary/generic-utils.js.map +1 -0
- package/lib/WABinary/index.d.ts +6 -5
- package/lib/WABinary/index.d.ts.map +1 -0
- package/lib/WABinary/index.js +6 -21
- package/lib/WABinary/index.js.map +1 -0
- package/lib/WABinary/jid-utils.d.ts +32 -10
- package/lib/WABinary/jid-utils.d.ts.map +1 -0
- package/lib/WABinary/jid-utils.js +103 -59
- package/lib/WABinary/jid-utils.js.map +1 -0
- package/lib/WABinary/types.d.ts +2 -1
- package/lib/WABinary/types.d.ts.map +1 -0
- package/lib/WABinary/types.js +2 -2
- package/lib/WABinary/types.js.map +1 -0
- package/lib/WAM/BinaryInfo.d.ts +2 -1
- package/lib/WAM/BinaryInfo.d.ts.map +1 -0
- package/lib/WAM/BinaryInfo.js +2 -5
- package/lib/WAM/BinaryInfo.js.map +1 -0
- package/lib/WAM/constants.d.ts +5 -3
- package/lib/WAM/constants.d.ts.map +1 -0
- package/lib/WAM/constants.js +19071 -11568
- package/lib/WAM/constants.js.map +1 -0
- package/lib/WAM/encode.d.ts +2 -1
- package/lib/WAM/encode.d.ts.map +1 -0
- package/lib/WAM/encode.js +17 -22
- package/lib/WAM/encode.js.map +1 -0
- package/lib/WAM/index.d.ts +4 -3
- package/lib/WAM/index.d.ts.map +1 -0
- package/lib/WAM/index.js +4 -19
- package/lib/WAM/index.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +8 -11
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts +6 -4
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/index.js +6 -20
- package/lib/WAUSync/Protocols/index.js.map +1 -0
- package/lib/WAUSync/USyncQuery.d.ts +6 -4
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/lib/WAUSync/USyncQuery.js +44 -35
- package/lib/WAUSync/USyncQuery.js.map +1 -0
- package/lib/WAUSync/USyncUser.d.ts +10 -5
- package/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/lib/WAUSync/USyncUser.js +10 -5
- package/lib/WAUSync/USyncUser.js.map +1 -0
- package/lib/WAUSync/index.d.ts +4 -3
- package/lib/WAUSync/index.d.ts.map +1 -0
- package/lib/WAUSync/index.js +4 -19
- package/lib/WAUSync/index.js.map +1 -0
- package/lib/index.d.ts +12 -15
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +15 -48
- package/lib/index.js.map +1 -0
- package/package.json +44 -64
- package/WAProto/index.ts.ts +0 -53473
- package/WAProto/n +0 -1
- package/lib/Baileys.jpeg +0 -0
- package/lib/Defaults/baileys-version.json +0 -3
- package/lib/Defaults/n +0 -1
- package/lib/Signal/Group/queue-job.d.ts +0 -1
- package/lib/Signal/Group/queue-job.js +0 -57
- package/lib/Signal/n +0 -1
- package/lib/Socket/Client/n +0 -1
- package/lib/Socket/n +0 -1
- package/lib/Socket/setup.js +0 -480
- package/lib/Socket/setup.ts +0 -622
- package/lib/Socket/usync.d.ts +0 -36
- package/lib/Socket/usync.js +0 -70
- package/lib/Store/n +0 -1
- package/lib/Types/Newsletter.d.ts +0 -79
- package/lib/Types/Newsletter.js +0 -18
- package/lib/Types/n +0 -1
- package/lib/Utils/baileys-event-stream.d.ts +0 -16
- package/lib/Utils/baileys-event-stream.js +0 -63
- package/lib/Utils/error-handler.js +0 -37
- package/lib/Utils/n +0 -1
- package/lib/WABinary/jid-utils.js.bak +0 -83
- package/lib/WABinary/n +0 -1
- package/lib/WAM/n +0 -1
- package/lib/WAUSync/Protocols/n +0 -1
- package/lib/WAUSync/n +0 -1
- package/lib/n +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-message.js","sourceRoot":"","sources":["../../src/Utils/process-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { proto } from '../../WAProto/index.js';
|
|
2
|
+
import type { WAMessageContent, WAMessageKey } from '../Types/index.js';
|
|
3
|
+
import type { BinaryNode } from '../WABinary/index.js';
|
|
4
|
+
export type ReportingField = {
|
|
5
|
+
f: number;
|
|
6
|
+
m?: boolean;
|
|
7
|
+
s?: ReportingField[];
|
|
8
|
+
};
|
|
9
|
+
export declare const shouldIncludeReportingToken: (message: proto.IMessage) => boolean;
|
|
10
|
+
export declare const getMessageReportingToken: (msgProtobuf: Buffer, message: WAMessageContent, key: WAMessageKey) => Promise<BinaryNode | null>;
|
|
11
|
+
//# sourceMappingURL=reporting-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-utils.d.ts","sourceRoot":"","sources":["../../src/Utils/reporting-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,MAAM,cAAc,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,CAAC,EAAE,OAAO,CAAA;IACX,CAAC,CAAC,EAAE,cAAc,EAAE,CAAA;CACpB,CAAA;AAwFD,eAAO,MAAM,2BAA2B,GAAI,SAAS,KAAK,CAAC,QAAQ,KAAG,OAI3C,CAAA;AAgN3B,eAAO,MAAM,wBAAwB,GACpC,aAAa,MAAM,EACnB,SAAS,gBAAgB,EACzB,KAAK,YAAY,KACf,OAAO,CAAC,UAAU,GAAG,IAAI,CA6B3B,CAAA"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { createHmac } from 'crypto';
|
|
2
|
+
import { proto } from '../../WAProto/index.js';
|
|
3
|
+
import { hkdf } from './crypto.js';
|
|
4
|
+
const reportingFields = [
|
|
5
|
+
{ f: 1 },
|
|
6
|
+
{
|
|
7
|
+
f: 3,
|
|
8
|
+
s: [{ f: 2 }, { f: 3 }, { f: 8 }, { f: 11 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 25 }]
|
|
9
|
+
},
|
|
10
|
+
{ f: 4, s: [{ f: 1 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
|
|
11
|
+
{ f: 5, s: [{ f: 3 }, { f: 4 }, { f: 5 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
|
|
12
|
+
{ f: 6, s: [{ f: 1 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 30 }] },
|
|
13
|
+
{ f: 7, s: [{ f: 2 }, { f: 7 }, { f: 10 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
|
|
14
|
+
{ f: 8, s: [{ f: 2 }, { f: 7 }, { f: 9 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 21 }] },
|
|
15
|
+
{ f: 9, s: [{ f: 2 }, { f: 6 }, { f: 7 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
|
|
16
|
+
{ f: 12, s: [{ f: 1 }, { f: 2 }, { f: 14, m: true }, { f: 15 }] },
|
|
17
|
+
{ f: 18, s: [{ f: 6 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
|
|
18
|
+
{ f: 26, s: [{ f: 4 }, { f: 5 }, { f: 8 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
|
|
19
|
+
{ f: 28, s: [{ f: 1 }, { f: 2 }, { f: 4 }, { f: 5 }, { f: 6 }, { f: 7, s: [{ f: 21 }, { f: 22 }] }] },
|
|
20
|
+
{ f: 37, s: [{ f: 1, m: true }] },
|
|
21
|
+
{
|
|
22
|
+
f: 49,
|
|
23
|
+
s: [
|
|
24
|
+
{ f: 2 },
|
|
25
|
+
{ f: 3, s: [{ f: 1 }, { f: 2 }] },
|
|
26
|
+
{ f: 5, s: [{ f: 21 }, { f: 22 }] },
|
|
27
|
+
{ f: 8, s: [{ f: 1 }, { f: 2 }] }
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{ f: 53, s: [{ f: 1, m: true }] },
|
|
31
|
+
{ f: 55, s: [{ f: 1, m: true }] },
|
|
32
|
+
{ f: 58, s: [{ f: 1, m: true }] },
|
|
33
|
+
{ f: 59, s: [{ f: 1, m: true }] },
|
|
34
|
+
{
|
|
35
|
+
f: 60,
|
|
36
|
+
s: [
|
|
37
|
+
{ f: 2 },
|
|
38
|
+
{ f: 3, s: [{ f: 1 }, { f: 2 }] },
|
|
39
|
+
{ f: 5, s: [{ f: 21 }, { f: 22 }] },
|
|
40
|
+
{ f: 8, s: [{ f: 1 }, { f: 2 }] }
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
f: 64,
|
|
45
|
+
s: [
|
|
46
|
+
{ f: 2 },
|
|
47
|
+
{ f: 3, s: [{ f: 1 }, { f: 2 }] },
|
|
48
|
+
{ f: 5, s: [{ f: 21 }, { f: 22 }] },
|
|
49
|
+
{ f: 8, s: [{ f: 1 }, { f: 2 }] }
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{ f: 66, s: [{ f: 2 }, { f: 6 }, { f: 7 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
|
|
53
|
+
{ f: 74, s: [{ f: 1, m: true }] },
|
|
54
|
+
{ f: 87, s: [{ f: 1, m: true }] },
|
|
55
|
+
{ f: 88, s: [{ f: 1 }, { f: 2, s: [{ f: 1 }] }, { f: 3, s: [{ f: 21 }, { f: 22 }] }] },
|
|
56
|
+
{ f: 92, s: [{ f: 1, m: true }] },
|
|
57
|
+
{ f: 93, s: [{ f: 1, m: true }] },
|
|
58
|
+
{ f: 94, s: [{ f: 1, m: true }] }
|
|
59
|
+
];
|
|
60
|
+
const compileReportingFields = (fields) => {
|
|
61
|
+
const map = new Map();
|
|
62
|
+
for (const f of fields) {
|
|
63
|
+
map.set(f.f, {
|
|
64
|
+
m: f.m,
|
|
65
|
+
children: f.s ? compileReportingFields(f.s) : undefined
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return map;
|
|
69
|
+
};
|
|
70
|
+
const compiledReportingFields = compileReportingFields(reportingFields);
|
|
71
|
+
const EMPTY_MAP = new Map();
|
|
72
|
+
const ENC_SECRET_REPORT_TOKEN = 'Report Token';
|
|
73
|
+
const WIRE = {
|
|
74
|
+
VARINT: 0,
|
|
75
|
+
FIXED64: 1,
|
|
76
|
+
BYTES: 2,
|
|
77
|
+
FIXED32: 5
|
|
78
|
+
};
|
|
79
|
+
export const shouldIncludeReportingToken = (message) => !message.reactionMessage &&
|
|
80
|
+
!message.encReactionMessage &&
|
|
81
|
+
!message.encEventResponseMessage &&
|
|
82
|
+
!message.pollUpdateMessage;
|
|
83
|
+
const generateMsgSecretKey = (modificationType, origMsgId, origMsgSender, modificationSender, origMsgSecret) => {
|
|
84
|
+
const useCaseSecret = Buffer.concat([
|
|
85
|
+
Buffer.from(origMsgId, 'utf8'),
|
|
86
|
+
Buffer.from(origMsgSender, 'utf8'),
|
|
87
|
+
Buffer.from(modificationSender, 'utf8'),
|
|
88
|
+
Buffer.from(modificationType, 'utf8')
|
|
89
|
+
]);
|
|
90
|
+
return hkdf(origMsgSecret, 32, { info: useCaseSecret.toString('latin1') });
|
|
91
|
+
};
|
|
92
|
+
const extractReportingTokenContent = (data, cfg) => {
|
|
93
|
+
const out = [];
|
|
94
|
+
let i = 0;
|
|
95
|
+
while (i < data.length) {
|
|
96
|
+
const tag = decodeVarint(data, i);
|
|
97
|
+
if (!tag.ok) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const fieldNum = tag.value >> 3;
|
|
101
|
+
const wireType = tag.value & 0x7;
|
|
102
|
+
const fieldStart = i;
|
|
103
|
+
i += tag.bytes;
|
|
104
|
+
const fieldCfg = cfg.get(fieldNum);
|
|
105
|
+
const pushSlice = (end) => {
|
|
106
|
+
if (end > data.length) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
out.push({ num: fieldNum, bytes: data.subarray(fieldStart, end) });
|
|
110
|
+
i = end;
|
|
111
|
+
return true;
|
|
112
|
+
};
|
|
113
|
+
const skip = (end) => {
|
|
114
|
+
if (end > data.length) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
i = end;
|
|
118
|
+
return true;
|
|
119
|
+
};
|
|
120
|
+
if (wireType === WIRE.VARINT) {
|
|
121
|
+
const v = decodeVarint(data, i);
|
|
122
|
+
if (!v.ok) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const end = i + v.bytes;
|
|
126
|
+
if (!fieldCfg) {
|
|
127
|
+
if (!skip(end)) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if (!pushSlice(end)) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (wireType === WIRE.FIXED64) {
|
|
138
|
+
const end = i + 8;
|
|
139
|
+
if (!fieldCfg) {
|
|
140
|
+
if (!skip(end)) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (!pushSlice(end)) {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (wireType === WIRE.FIXED32) {
|
|
151
|
+
const end = i + 4;
|
|
152
|
+
if (!fieldCfg) {
|
|
153
|
+
if (!skip(end)) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (!pushSlice(end)) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (wireType === WIRE.BYTES) {
|
|
164
|
+
const len = decodeVarint(data, i);
|
|
165
|
+
if (!len.ok) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
const valStart = i + len.bytes;
|
|
169
|
+
const valEnd = valStart + len.value;
|
|
170
|
+
if (valEnd > data.length) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
if (!fieldCfg) {
|
|
174
|
+
i = valEnd;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (fieldCfg.m || fieldCfg.children) {
|
|
178
|
+
const sub = extractReportingTokenContent(data.subarray(valStart, valEnd), fieldCfg.children ?? EMPTY_MAP);
|
|
179
|
+
if (sub === null) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
if (sub.length > 0) {
|
|
183
|
+
const newTag = encodeVarint(tag.value);
|
|
184
|
+
const newLen = encodeVarint(sub.length);
|
|
185
|
+
out.push({
|
|
186
|
+
num: fieldNum,
|
|
187
|
+
bytes: Buffer.concat([newTag, newLen, sub])
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
i = valEnd;
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
out.push({ num: fieldNum, bytes: data.subarray(fieldStart, valEnd) });
|
|
194
|
+
i = valEnd;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
if (out.length === 0) {
|
|
200
|
+
return Buffer.alloc(0);
|
|
201
|
+
}
|
|
202
|
+
out.sort((a, b) => a.num - b.num);
|
|
203
|
+
return Buffer.concat(out.map(f => f.bytes));
|
|
204
|
+
};
|
|
205
|
+
const decodeVarint = (buffer, offset) => {
|
|
206
|
+
let value = 0;
|
|
207
|
+
let bytes = 0;
|
|
208
|
+
let shift = 0;
|
|
209
|
+
while (offset + bytes < buffer.length) {
|
|
210
|
+
const current = buffer[offset + bytes];
|
|
211
|
+
value |= (current & 0x7f) << shift;
|
|
212
|
+
bytes++;
|
|
213
|
+
if ((current & 0x80) === 0) {
|
|
214
|
+
return { value, bytes, ok: true };
|
|
215
|
+
}
|
|
216
|
+
shift += 7;
|
|
217
|
+
if (shift > 35) {
|
|
218
|
+
return { value: 0, bytes: 0, ok: false };
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return { value: 0, bytes: 0, ok: false };
|
|
222
|
+
};
|
|
223
|
+
const encodeVarint = (value) => {
|
|
224
|
+
const parts = [];
|
|
225
|
+
let remaining = value >>> 0;
|
|
226
|
+
while (remaining > 0x7f) {
|
|
227
|
+
parts.push((remaining & 0x7f) | 0x80);
|
|
228
|
+
remaining >>>= 7;
|
|
229
|
+
}
|
|
230
|
+
parts.push(remaining);
|
|
231
|
+
return Buffer.from(parts);
|
|
232
|
+
};
|
|
233
|
+
export const getMessageReportingToken = async (msgProtobuf, message, key) => {
|
|
234
|
+
const msgSecret = message.messageContextInfo?.messageSecret;
|
|
235
|
+
if (!msgSecret || !key.id) {
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
const from = key.fromMe ? key.remoteJid : key.participant || key.remoteJid;
|
|
239
|
+
const to = key.fromMe ? key.participant || key.remoteJid : key.remoteJid;
|
|
240
|
+
const reportingSecret = generateMsgSecretKey(ENC_SECRET_REPORT_TOKEN, key.id, from, to, msgSecret);
|
|
241
|
+
const content = extractReportingTokenContent(msgProtobuf, compiledReportingFields);
|
|
242
|
+
if (!content || content.length === 0) {
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
const reportingToken = createHmac('sha256', reportingSecret).update(content).digest().subarray(0, 16);
|
|
246
|
+
return {
|
|
247
|
+
tag: 'reporting',
|
|
248
|
+
attrs: {},
|
|
249
|
+
content: [
|
|
250
|
+
{
|
|
251
|
+
tag: 'reporting_token',
|
|
252
|
+
attrs: { v: '2' },
|
|
253
|
+
content: reportingToken
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
//# sourceMappingURL=reporting-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-utils.js","sourceRoot":"","sources":["../../src/Utils/reporting-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAG9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAa/B,MAAM,eAAe,GAAqB;IACzC,EAAE,CAAC,EAAE,CAAC,EAAE;IACR;QACC,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;KAC7F;IACD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IACxE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAC5F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACxE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC5F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACvG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACjE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IACzE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAC7F,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IACrG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC;QACC,CAAC,EAAE,EAAE;QACL,CAAC,EAAE;YACF,EAAE,CAAC,EAAE,CAAC,EAAE;YACR,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACjC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACjC;KACD;IACD,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC;QACC,CAAC,EAAE,EAAE;QACL,CAAC,EAAE;YACF,EAAE,CAAC,EAAE,CAAC,EAAE;YACR,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACjC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACjC;KACD;IACD;QACC,CAAC,EAAE,EAAE;QACL,CAAC,EAAE;YACF,EAAE,CAAC,EAAE,CAAC,EAAE;YACR,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACjC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACjC;KACD;IACD,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACxG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IACtF,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACjC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;CACjC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,MAAiC,EAAuC,EAAE;IACzG,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkC,CAAA;IACrD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACZ,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC,CAAA;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAA;AACvE,MAAM,SAAS,GAAwC,IAAI,GAAG,EAAE,CAAA;AAEhE,MAAM,uBAAuB,GAAG,cAAc,CAAA;AAE9C,MAAM,IAAI,GAAG;IACZ,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;CACD,CAAA;AAEV,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAuB,EAAW,EAAE,CAC/E,CAAC,OAAO,CAAC,eAAe;IACxB,CAAC,OAAO,CAAC,kBAAkB;IAC3B,CAAC,OAAO,CAAC,uBAAuB;IAChC,CAAC,OAAO,CAAC,iBAAiB,CAAA;AAE3B,MAAM,oBAAoB,GAAG,CAC5B,gBAAwB,EACxB,SAAiB,EACjB,aAAqB,EACrB,kBAA0B,EAC1B,aAAyB,EACxB,EAAE;IACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACrC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AAID,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,GAAwC,EAAiB,EAAE;IAC9G,MAAM,GAAG,GAAiB,EAAE,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;QAEhC,MAAM,UAAU,GAAG,CAAC,CAAA;QACpB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAA;QAEd,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAElC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;YAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAA;YACb,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAClE,CAAC,GAAG,GAAG,CAAA;YACP,OAAO,IAAI,CAAA;QACZ,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,CAAC,GAAW,EAAW,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAA;YACb,CAAC;YAED,CAAC,GAAG,GAAG,CAAA;YACP,OAAO,IAAI,CAAA;QACZ,CAAC,CAAA;QAED,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACX,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;YAEvB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,SAAQ;YACT,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,SAAQ;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,SAAQ;YACT,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,SAAQ;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,SAAQ;YACT,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,SAAQ;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAA;YAC9B,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAA;YACnC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,CAAC,GAAG,MAAM,CAAA;gBACV,SAAQ;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAA;gBACzG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACvC,GAAG,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;qBAC3C,CAAC,CAAA;gBACH,CAAC;gBAED,CAAC,GAAG,MAAM,CAAA;gBACV,SAAQ;YACT,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YACrE,CAAC,GAAG,MAAM,CAAA;YACV,SAAQ;QACT,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAID,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAE,CAAA;QACvC,KAAK,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,CAAA;QAClC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QAClC,CAAC;QAED,KAAK,IAAI,CAAC,CAAA;QAEV,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACzC,CAAC;IACF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,SAAS,GAAG,KAAK,KAAK,CAAC,CAAA;IAE3B,OAAO,SAAS,GAAG,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACrC,SAAS,MAAM,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC5C,WAAmB,EACnB,OAAyB,EACzB,GAAiB,EACY,EAAE;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAA;IAC3D,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAU,CAAA;IAC5E,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAU,CAAA;IAE1E,MAAM,eAAe,GAAG,oBAAoB,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;IAElG,MAAM,OAAO,GAAG,4BAA4B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAA;IAClF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAErG,OAAO;QACN,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACR;gBACC,GAAG,EAAE,iBAAiB;gBACtB,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;gBACjB,OAAO,EAAE,cAAc;aACvB;SACD;KACD,CAAA;AACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { proto } from '../../WAProto/index.js';
|
|
2
|
+
import type { KeyPair } from '../Types/index.js';
|
|
3
|
+
/** The primary device's ephemeral X25519 public key + 32B nonce (used for the verification code). */
|
|
4
|
+
export interface ShortcakePrimaryEphemeralIdentity {
|
|
5
|
+
readonly publicKey: Uint8Array;
|
|
6
|
+
readonly nonce: Uint8Array;
|
|
7
|
+
}
|
|
8
|
+
/** The companion's ephemeral X25519 keypair + committed nonce; keep in memory for the handshake only. */
|
|
9
|
+
export interface ShortcakeCompanionEphemeralIdentity {
|
|
10
|
+
readonly keyPair: KeyPair;
|
|
11
|
+
/** 32 random bytes committed up-front, revealed only after the primary replies. */
|
|
12
|
+
readonly companionNonce: Uint8Array;
|
|
13
|
+
readonly companionEphemeralIdentityBytes: Uint8Array;
|
|
14
|
+
/** `SHA-256(companionEphemeralIdentity ‖ companionNonce)`. */
|
|
15
|
+
readonly commitmentHash: Uint8Array;
|
|
16
|
+
readonly prologuePayloadBytes: Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
/** Generate the companion's ephemeral identity + nonce commitment for the prologue. */
|
|
19
|
+
export declare function generateCompanionEphemeralIdentity(args: {
|
|
20
|
+
readonly ref: string;
|
|
21
|
+
readonly deviceType: proto.DeviceProps.PlatformType;
|
|
22
|
+
}): ShortcakeCompanionEphemeralIdentity;
|
|
23
|
+
/** Parses + validates a `PrimaryEphemeralIdentity` proto from the primary. */
|
|
24
|
+
export declare function decodePrimaryEphemeralIdentity(bytes: Uint8Array): ShortcakePrimaryEphemeralIdentity;
|
|
25
|
+
/** Verification code: `Crockford32( primaryNonce[0..5] XOR SHA-256(companionNonce ‖ primaryPubKey)[0..5] )`. */
|
|
26
|
+
export declare function deriveVerificationCode(companionNonce: Uint8Array, primary: ShortcakePrimaryEphemeralIdentity): string;
|
|
27
|
+
/** AES-GCM key for the pairing request: `HKDF( X25519(companionPriv, primaryPub), salt, ENCRYPTION_KEY_INFO )`. */
|
|
28
|
+
export declare function deriveEncryptionKey(args: {
|
|
29
|
+
readonly companionPrivKey: Uint8Array;
|
|
30
|
+
readonly primaryPublicKey: Uint8Array;
|
|
31
|
+
readonly deviceType: proto.DeviceProps.PlatformType;
|
|
32
|
+
readonly ref: string;
|
|
33
|
+
}): Uint8Array;
|
|
34
|
+
/** Seal the pairing request under the derived key, returning the encoded `EncryptedPairingRequest`. */
|
|
35
|
+
export declare function encryptPairingRequest(encryptionKey: Uint8Array, plaintext: Uint8Array): Uint8Array;
|
|
36
|
+
//# sourceMappingURL=shortcake-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcake-crypto.d.ts","sourceRoot":"","sources":["../../src/Utils/shortcake-crypto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAavC,qGAAqG;AACrG,MAAM,WAAW,iCAAiC;IACjD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC1B;AAED,yGAAyG;AACzG,MAAM,WAAW,mCAAmC;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,mFAAmF;IACnF,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAA;IACnC,QAAQ,CAAC,+BAA+B,EAAE,UAAU,CAAA;IACpD,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAA;IACnC,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAA;CACzC;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,CAAA;CACnD,GAAG,mCAAmC,CAwBtC;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,UAAU,GAAG,iCAAiC,CAanG;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,iCAAiC,GAAG,MAAM,CAQrH;AAED,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAA;IACrC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,CAAA;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACpB,GAAG,UAAU,CAIb;AAED,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,CAQlG"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { randomBytes } from 'crypto';
|
|
2
|
+
import { proto } from '../../WAProto/index.js';
|
|
3
|
+
import { aesEncryptGCM, Curve, hkdf, sha256 } from './crypto.js';
|
|
4
|
+
import { bytesToCrockford } from './generics.js';
|
|
5
|
+
const NONCE_BYTES = 32;
|
|
6
|
+
const VERIFICATION_CODE_BYTES = 5;
|
|
7
|
+
const GCM_IV_BYTES = 12;
|
|
8
|
+
const ENCRYPTION_KEY_BYTES = 32;
|
|
9
|
+
const EPHEMERAL_PUBLIC_KEY_BYTES = 32;
|
|
10
|
+
/** HKDF `info` for the pairing-request encryption key. */
|
|
11
|
+
const ENCRYPTION_KEY_INFO = 'Pairing Information Encryption Key';
|
|
12
|
+
/** Generate the companion's ephemeral identity + nonce commitment for the prologue. */
|
|
13
|
+
export function generateCompanionEphemeralIdentity(args) {
|
|
14
|
+
const keyPair = Curve.generateKeyPair();
|
|
15
|
+
const companionNonce = randomBytes(NONCE_BYTES);
|
|
16
|
+
const companionEphemeralIdentityBytes = proto.CompanionEphemeralIdentity.encode({
|
|
17
|
+
publicKey: keyPair.public,
|
|
18
|
+
deviceType: args.deviceType,
|
|
19
|
+
ref: args.ref
|
|
20
|
+
}).finish();
|
|
21
|
+
const commitmentHash = sha256(Buffer.concat([companionEphemeralIdentityBytes, companionNonce]));
|
|
22
|
+
const prologuePayloadBytes = proto.ProloguePayload.encode({
|
|
23
|
+
companionEphemeralIdentity: companionEphemeralIdentityBytes,
|
|
24
|
+
commitment: { hash: commitmentHash }
|
|
25
|
+
}).finish();
|
|
26
|
+
return {
|
|
27
|
+
keyPair,
|
|
28
|
+
companionNonce,
|
|
29
|
+
companionEphemeralIdentityBytes,
|
|
30
|
+
commitmentHash,
|
|
31
|
+
prologuePayloadBytes
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Parses + validates a `PrimaryEphemeralIdentity` proto from the primary. */
|
|
35
|
+
export function decodePrimaryEphemeralIdentity(bytes) {
|
|
36
|
+
const decoded = proto.PrimaryEphemeralIdentity.decode(bytes);
|
|
37
|
+
const publicKey = decoded.publicKey;
|
|
38
|
+
const nonce = decoded.nonce;
|
|
39
|
+
if (!publicKey || publicKey.length !== EPHEMERAL_PUBLIC_KEY_BYTES) {
|
|
40
|
+
throw new Error('shortcake: PrimaryEphemeralIdentity.publicKey must be 32 bytes');
|
|
41
|
+
}
|
|
42
|
+
if (!nonce || nonce.length !== NONCE_BYTES) {
|
|
43
|
+
throw new Error('shortcake: PrimaryEphemeralIdentity.nonce must be 32 bytes');
|
|
44
|
+
}
|
|
45
|
+
return { publicKey, nonce };
|
|
46
|
+
}
|
|
47
|
+
/** Verification code: `Crockford32( primaryNonce[0..5] XOR SHA-256(companionNonce ‖ primaryPubKey)[0..5] )`. */
|
|
48
|
+
export function deriveVerificationCode(companionNonce, primary) {
|
|
49
|
+
const digest = sha256(Buffer.concat([companionNonce, primary.publicKey]));
|
|
50
|
+
const code = Buffer.alloc(VERIFICATION_CODE_BYTES);
|
|
51
|
+
for (let i = 0; i < VERIFICATION_CODE_BYTES; i += 1) {
|
|
52
|
+
code[i] = primary.nonce[i] ^ digest[i];
|
|
53
|
+
}
|
|
54
|
+
return bytesToCrockford(code);
|
|
55
|
+
}
|
|
56
|
+
/** AES-GCM key for the pairing request: `HKDF( X25519(companionPriv, primaryPub), salt, ENCRYPTION_KEY_INFO )`. */
|
|
57
|
+
export function deriveEncryptionKey(args) {
|
|
58
|
+
const shared = Curve.sharedKey(args.companionPrivKey, args.primaryPublicKey);
|
|
59
|
+
const salt = Buffer.from(`Companion Pairing ${String(args.deviceType)} with ref ${args.ref}`);
|
|
60
|
+
return hkdf(shared, ENCRYPTION_KEY_BYTES, { salt, info: ENCRYPTION_KEY_INFO });
|
|
61
|
+
}
|
|
62
|
+
/** Seal the pairing request under the derived key, returning the encoded `EncryptedPairingRequest`. */
|
|
63
|
+
export function encryptPairingRequest(encryptionKey, plaintext) {
|
|
64
|
+
if (encryptionKey.length !== ENCRYPTION_KEY_BYTES) {
|
|
65
|
+
throw new Error('shortcake: encryption key must be 32 bytes');
|
|
66
|
+
}
|
|
67
|
+
const iv = randomBytes(GCM_IV_BYTES);
|
|
68
|
+
const encryptedPayload = aesEncryptGCM(plaintext, encryptionKey, iv, Buffer.alloc(0));
|
|
69
|
+
return proto.EncryptedPairingRequest.encode({ encryptedPayload, iv }).finish();
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=shortcake-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcake-crypto.js","sourceRoot":"","sources":["../../src/Utils/shortcake-crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { proto } from '../../WAProto/index.js';
|
|
2
|
+
import type { AuthenticationCreds } from '../Types/index.js';
|
|
3
|
+
import { type BinaryNode } from '../WABinary/index.js';
|
|
4
|
+
import type { ILogger } from './logger.js';
|
|
5
|
+
/** Signs the server's WebAuthn request options; the credential source stays outside the library. */
|
|
6
|
+
export type ShortcakeAssertionSigner = (requestOptions: Uint8Array) => Promise<{
|
|
7
|
+
readonly credentialId: Uint8Array;
|
|
8
|
+
readonly webauthnAssertion: Uint8Array;
|
|
9
|
+
}>;
|
|
10
|
+
export interface ShortcakeFlowOptions {
|
|
11
|
+
readonly logger: ILogger;
|
|
12
|
+
/** Send an IQ and await its (error-free) result. */
|
|
13
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
14
|
+
readonly signAssertion: ShortcakeAssertionSigner;
|
|
15
|
+
readonly getCreds: () => AuthenticationCreds;
|
|
16
|
+
/** Persist a credentials patch (rotates the ADV secret on a prologue). */
|
|
17
|
+
readonly updateCreds: (patch: Partial<AuthenticationCreds>) => void;
|
|
18
|
+
/** Companion platform reported in the ephemeral identity. */
|
|
19
|
+
readonly deviceType?: proto.DeviceProps.PlatformType;
|
|
20
|
+
readonly emitVerificationCode?: (code: string) => void;
|
|
21
|
+
readonly emitPrologueSent?: () => void;
|
|
22
|
+
}
|
|
23
|
+
/** Drives the companion side of the "Shortcake" passkey-linking handshake (md IQ exchange + commit/reveal ECDH). */
|
|
24
|
+
export declare const makeShortcakeFlow: (opts: ShortcakeFlowOptions) => {
|
|
25
|
+
handleIncomingNotification: (node: BinaryNode) => Promise<boolean>;
|
|
26
|
+
executePrologue: (args?: {
|
|
27
|
+
readonly requestOptions?: Uint8Array;
|
|
28
|
+
readonly pairingHandoffProof?: Uint8Array;
|
|
29
|
+
}) => Promise<void>;
|
|
30
|
+
confirmVerificationCode: () => Promise<void>;
|
|
31
|
+
hasSession: () => boolean;
|
|
32
|
+
getVerificationCode: () => string | null;
|
|
33
|
+
clearSession: () => void;
|
|
34
|
+
};
|
|
35
|
+
export type ShortcakeFlow = ReturnType<typeof makeShortcakeFlow>;
|
|
36
|
+
//# sourceMappingURL=shortcake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcake.d.ts","sourceRoot":"","sources":["../../src/Utils/shortcake.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EACN,KAAK,UAAU,EAKf,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAUvC,oGAAoG;AACpG,MAAM,MAAM,wBAAwB,GAAG,CACtC,cAAc,EAAE,UAAU,KACtB,OAAO,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAA;CAAE,CAAC,CAAA;AA6B3F,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7E,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAA;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,mBAAmB,CAAA;IAC5C,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IACnE,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,CAAA;IACpD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;CACtC;AAQD,oHAAoH;AACpH,eAAO,MAAM,iBAAiB,GAAI,MAAM,oBAAoB;uCAsJX,UAAU,KAAG,OAAO,CAAC,OAAO,CAAC;6BA5HtE;QACL,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAA;QACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAA;KACzC,KACC,OAAO,CAAC,IAAI,CAAC;mCAgE0B,OAAO,CAAC,IAAI,CAAC;;;;CA+EvD,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
|