@xmtp/browser-sdk 3.1.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,25 +6,79 @@ import { GroupUpdatedCodec } from '@xmtp/content-type-group-updated';
6
6
  import { TextCodec } from '@xmtp/content-type-text';
7
7
 
8
8
  type ResolveValue<T> = {
9
- value: T | undefined;
9
+ value: T;
10
10
  done: boolean;
11
11
  };
12
- type StreamCallback<T> = (err: Error | null, value: T | undefined) => void | Promise<void>;
13
- declare class AsyncStream<T> {
14
- #private;
15
- constructor();
16
- get error(): Error | undefined;
17
- get isDone(): boolean;
18
- set onReturn(callback: () => void);
19
- set onError(callback: (error: Error) => void);
20
- set onDone(callback: () => void);
21
- callback: StreamCallback<T>;
22
- next: () => Promise<ResolveValue<T>>;
23
- return: (value?: T) => Promise<ResolveValue<T>>;
24
- end: () => Promise<ResolveValue<T>>;
25
- [Symbol.asyncIterator](): this;
12
+ interface AsyncStreamProxy<T> extends AsyncIterable<T> {
13
+ next(): Promise<ResolveValue<T>>;
14
+ return(): Promise<ResolveValue<undefined>>;
15
+ end(): Promise<ResolveValue<undefined>>;
16
+ isDone: boolean;
26
17
  }
27
18
 
19
+ declare const DEFAULT_RETRY_DELAY = 10000;
20
+ declare const DEFAULT_RETRY_ATTEMPTS = 6;
21
+ type StreamOptions<T = unknown, V = T> = {
22
+ /**
23
+ * Called when the stream ends
24
+ */
25
+ onEnd?: () => void;
26
+ /**
27
+ * Called when a stream error occurs
28
+ */
29
+ onError?: (error: Error) => void;
30
+ /**
31
+ * Called when the stream fails
32
+ */
33
+ onFail?: () => void;
34
+ /**
35
+ * Called when the stream is restarted
36
+ */
37
+ onRestart?: () => void;
38
+ /**
39
+ * Called when the stream is retried
40
+ */
41
+ onRetry?: (attempts: number, maxAttempts: number) => void;
42
+ /**
43
+ * Called when a value is emitted from the stream
44
+ */
45
+ onValue?: (value: V) => void;
46
+ /**
47
+ * The number of times to retry the stream
48
+ * (default: 6)
49
+ */
50
+ retryAttempts?: number;
51
+ /**
52
+ * The delay between retries (in milliseconds)
53
+ * (default: 10000)
54
+ */
55
+ retryDelay?: number;
56
+ /**
57
+ * Whether to retry the stream if it fails
58
+ * (default: true)
59
+ */
60
+ retryOnFail?: boolean;
61
+ };
62
+ type StreamCallback<T = unknown> = (error: Error | null, value: T | undefined) => void;
63
+ type StreamFunction<T = unknown> = (callback: StreamCallback<T>, onFail: () => void) => Promise<() => void>;
64
+ type StreamValueMutator<T = unknown, V = T> = (value: T) => V | Promise<V>;
65
+ /**
66
+ * Creates a stream from a stream function
67
+ *
68
+ * If the stream fails, an attempt will be made to restart it.
69
+ *
70
+ * This function is not intended to be used directly.
71
+ *
72
+ * @param streamFunction - The stream function to create a stream from
73
+ * @param streamValueMutator - An optional function to mutate the value emitted from the stream
74
+ * @param options - The options for the stream
75
+ * @param args - Additional arguments to pass to the stream function
76
+ * @returns An async iterable stream proxy
77
+ * @throws {StreamInvalidRetryAttemptsError} if the retryAttempts option is less than 0 and retryOnFail is true
78
+ * @throws {StreamFailedError} if the stream fails and can't be restarted
79
+ */
80
+ declare const createStream: <T = unknown, V = T>(streamFunction: StreamFunction<T>, streamValueMutator?: StreamValueMutator<T, V>, options?: StreamOptions<T, V>) => Promise<AsyncStreamProxy<V>>;
81
+
28
82
  /**
29
83
  * Pre-configured URLs for the XMTP network based on the environment
30
84
  *
@@ -126,6 +180,15 @@ type OtherOptions = {
126
180
  * Disable device sync
127
181
  */
128
182
  disableDeviceSync?: boolean;
183
+ /**
184
+ * Custom app version
185
+ */
186
+ appVersion?: string;
187
+ /**
188
+ * Should debug events be tracked
189
+ * (default: false)
190
+ */
191
+ debugEventsEnabled?: boolean;
129
192
  };
130
193
  type ClientOptions = NetworkOptions & ContentOptions & StorageOptions & OtherOptions;
131
194
 
@@ -180,10 +243,10 @@ declare class WorkerConversations {
180
243
  newDmWithIdentifier(identifier: Identifier, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
181
244
  newDm(inboxId: string, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
182
245
  getHmacKeys(): HmacKeys;
183
- stream(callback?: StreamCallback<Conversation$1>, conversationType?: ConversationType): _xmtp_wasm_bindings.StreamCloser;
184
- streamGroups(callback?: StreamCallback<Conversation$1>): _xmtp_wasm_bindings.StreamCloser;
185
- streamDms(callback?: StreamCallback<Conversation$1>): _xmtp_wasm_bindings.StreamCloser;
186
- streamAllMessages(callback?: StreamCallback<Message>, conversationType?: ConversationType, consentStates?: ConsentState[]): _xmtp_wasm_bindings.StreamCloser;
246
+ stream(callback: StreamCallback<Conversation$1>, onFail: () => void, conversationType?: ConversationType): _xmtp_wasm_bindings.StreamCloser;
247
+ streamGroups(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
248
+ streamDms(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
249
+ streamAllMessages(callback: StreamCallback<Message>, onFail: () => void, conversationType?: ConversationType, consentStates?: ConsentState[]): _xmtp_wasm_bindings.StreamCloser;
187
250
  }
188
251
 
189
252
  /**
@@ -210,8 +273,8 @@ declare class WorkerPreferences {
210
273
  getLatestInboxState(inboxId: string): Promise<_xmtp_wasm_bindings.InboxState>;
211
274
  setConsentStates(records: SafeConsent[]): Promise<void>;
212
275
  getConsentState(entityType: ConsentEntityType, entity: string): Promise<_xmtp_wasm_bindings.ConsentState>;
213
- streamConsent(callback?: StreamCallback<Consent[]>): _xmtp_wasm_bindings.StreamCloser;
214
- streamPreferences(callback?: StreamCallback<UserPreference[]>): _xmtp_wasm_bindings.StreamCloser;
276
+ streamConsent(callback: StreamCallback<Consent[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
277
+ streamPreferences(callback: StreamCallback<UserPreference[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
215
278
  }
216
279
 
217
280
  declare class WorkerClient {
@@ -291,7 +354,7 @@ declare class WorkerConversation {
291
354
  updateMessageDisappearingSettings(fromNs: bigint, inNs: bigint): Promise<void>;
292
355
  removeMessageDisappearingSettings(): Promise<void>;
293
356
  isMessageDisappearingEnabled(): boolean;
294
- stream(callback?: StreamCallback<Message>): _xmtp_wasm_bindings.StreamCloser;
357
+ stream(callback: StreamCallback<Message>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
295
358
  pausedForVersion(): string | undefined;
296
359
  getHmacKeys(): Map<string, HmacKey[]>;
297
360
  debugInfo(): Promise<ConversationDebugInfo>;
@@ -1191,6 +1254,10 @@ type StreamAction = {
1191
1254
  action: "stream.preferences";
1192
1255
  streamId: string;
1193
1256
  result: UserPreference[] | undefined;
1257
+ } | {
1258
+ action: "stream.fail";
1259
+ streamId: string;
1260
+ result: undefined;
1194
1261
  };
1195
1262
 
1196
1263
  /**
@@ -1227,7 +1294,7 @@ declare class ClientWorkerClass {
1227
1294
  * @param callback - The callback to handle the stream message
1228
1295
  * @returns A function to remove the stream handler
1229
1296
  */
1230
- handleStreamMessage: <T extends StreamAction["result"]>(streamId: string, callback: (error: Error | null, value: T | null) => void) => () => void;
1297
+ handleStreamMessage: <T extends StreamAction["result"], V = T>(streamId: string, callback: (error: Error | null, value: T | undefined) => void, options?: StreamOptions<T, V>) => () => Promise<void>;
1231
1298
  /**
1232
1299
  * Removes all event listeners and terminates the worker
1233
1300
  */
@@ -1385,7 +1452,7 @@ declare class Conversation<ContentTypes = unknown> {
1385
1452
  * @param callback - Optional callback function for handling new stream values
1386
1453
  * @returns Stream instance for new messages
1387
1454
  */
1388
- stream(callback?: StreamCallback<DecodedMessage<ContentTypes>>): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1455
+ stream(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>>): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1389
1456
  pausedForVersion(): Promise<string | undefined>;
1390
1457
  /**
1391
1458
  * Retrieves HMAC keys for this conversation
@@ -1704,47 +1771,59 @@ declare class Conversations<ContentTypes = unknown> {
1704
1771
  /**
1705
1772
  * Creates a stream for new conversations
1706
1773
  *
1707
- * @param callback - Optional callback function for handling new stream value
1708
- * @param conversationType - Optional type to filter conversations
1774
+ * @param options - Optional stream options
1775
+ * @param options.conversationType - Optional type to filter conversations
1709
1776
  * @returns Stream instance for new conversations
1710
1777
  */
1711
- stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(callback?: StreamCallback<T>, conversationType?: ConversationType): Promise<AsyncStream<T>>;
1778
+ stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(options?: StreamOptions<SafeConversation, T> & {
1779
+ conversationType?: ConversationType;
1780
+ }): Promise<AsyncStreamProxy<T>>;
1712
1781
  /**
1713
1782
  * Creates a stream for new group conversations
1714
1783
  *
1715
- * @param callback - Optional callback function for handling new stream value
1784
+ * @param options - Optional stream options
1716
1785
  * @returns Stream instance for new group conversations
1717
1786
  */
1718
- streamGroups(callback?: StreamCallback<Group<ContentTypes>>): Promise<AsyncStream<Group<ContentTypes>>>;
1787
+ streamGroups(options?: StreamOptions<SafeConversation, Group<ContentTypes>>): Promise<AsyncStreamProxy<Group<ContentTypes>>>;
1719
1788
  /**
1720
1789
  * Creates a stream for new DM conversations
1721
1790
  *
1722
- * @param callback - Optional callback function for handling new stream value
1791
+ * @param options - Optional stream options
1723
1792
  * @returns Stream instance for new DM conversations
1724
1793
  */
1725
- streamDms(callback?: StreamCallback<Dm<ContentTypes>>): Promise<AsyncStream<Dm<ContentTypes>>>;
1794
+ streamDms(options?: StreamOptions<SafeConversation, Dm<ContentTypes>>): Promise<AsyncStreamProxy<Dm<ContentTypes>>>;
1726
1795
  /**
1727
1796
  * Creates a stream for all new messages
1728
1797
  *
1729
- * @param callback - Optional callback function for handling new stream value
1730
- * @param conversationType - Optional conversation type to filter messages
1798
+ * @param options - Optional stream options
1799
+ * @param options.conversationType - Optional conversation type to filter messages
1800
+ * @param options.consentStates - Optional consent states to filter messages
1731
1801
  * @returns Stream instance for new messages
1732
1802
  */
1733
- streamAllMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, conversationType?: ConversationType, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1803
+ streamAllMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1804
+ conversationType?: ConversationType;
1805
+ consentStates?: ConsentState[];
1806
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1734
1807
  /**
1735
1808
  * Creates a stream for all new group messages
1736
1809
  *
1737
- * @param callback - Optional callback function for handling new stream value
1810
+ * @param options - Optional stream options
1811
+ * @param options.consentStates - Optional consent states to filter messages
1738
1812
  * @returns Stream instance for new group messages
1739
1813
  */
1740
- streamAllGroupMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1814
+ streamAllGroupMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1815
+ consentStates?: ConsentState[];
1816
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1741
1817
  /**
1742
1818
  * Creates a stream for all new DM messages
1743
1819
  *
1744
- * @param callback - Optional callback function for handling new stream value
1820
+ * @param options - Optional stream options
1821
+ * @param options.consentStates - Optional consent states to filter messages
1745
1822
  * @returns Stream instance for new DM messages
1746
1823
  */
1747
- streamAllDmMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1824
+ streamAllDmMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1825
+ consentStates?: ConsentState[];
1826
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1748
1827
  }
1749
1828
 
1750
1829
  /**
@@ -1816,17 +1895,17 @@ declare class Preferences<ContentTypes = unknown> {
1816
1895
  /**
1817
1896
  * Creates a stream of consent state updates
1818
1897
  *
1819
- * @param callback - Optional callback function for handling stream updates
1898
+ * @param options - Optional stream options
1820
1899
  * @returns Stream instance for consent updates
1821
1900
  */
1822
- streamConsent(callback?: StreamCallback<SafeConsent[]>): Promise<AsyncStream<SafeConsent[]>>;
1901
+ streamConsent(options?: StreamOptions<SafeConsent[]>): Promise<AsyncStreamProxy<SafeConsent[]>>;
1823
1902
  /**
1824
1903
  * Creates a stream of user preference updates
1825
1904
  *
1826
- * @param callback - Optional callback function for handling stream updates
1905
+ * @param options - Optional stream options
1827
1906
  * @returns Stream instance for preference updates
1828
1907
  */
1829
- streamPreferences(callback?: StreamCallback<UserPreference[]>): Promise<AsyncStream<UserPreference[]>>;
1908
+ streamPreferences(options?: StreamOptions<UserPreference[]>): Promise<AsyncStreamProxy<UserPreference[]>>;
1830
1909
  }
1831
1910
 
1832
1911
  type ExtractCodecContentTypes<C extends ContentCodec[] = []> = [
@@ -2386,6 +2465,12 @@ declare class InvalidGroupMembershipChangeError extends Error {
2386
2465
  declare class MissingContentTypeError extends Error {
2387
2466
  constructor();
2388
2467
  }
2468
+ declare class StreamFailedError extends Error {
2469
+ constructor(retryAttempts: number);
2470
+ }
2471
+ declare class StreamInvalidRetryAttemptsError extends Error {
2472
+ constructor();
2473
+ }
2389
2474
 
2390
- export { AccountAlreadyAssociatedError, ApiUrls, AsyncStream, Client, ClientNotInitializedError, CodecNotFoundError, Conversation, Conversations, DecodedMessage, Dm, Group, GroupNotFoundError, HistorySyncUrls, InboxReassignError, InvalidGroupMembershipChangeError, MissingContentTypeError, SignerUnavailableError, StreamNotFoundError, Utils, fromContentTypeId, fromEncodedContent, fromSafeConsent, fromSafeContentTypeId, fromSafeCreateDmOptions, fromSafeCreateGroupOptions, fromSafeEncodedContent, fromSafeGroupMember, fromSafeListConversationsOptions, fromSafeListMessagesOptions, fromSafeMessageDisappearingSettings, fromSafePermissionPolicySet, toContentTypeId, toEncodedContent, toSafeApiStats, toSafeConsent, toSafeContentTypeId, toSafeConversation, toSafeConversationDebugInfo, toSafeCreateDmOptions, toSafeCreateGroupOptions, toSafeEncodedContent, toSafeGroupMember, toSafeHmacKey, toSafeIdentityStats, toSafeInboxState, toSafeInstallation, toSafeKeyPackageStatus, toSafeListConversationsOptions, toSafeListMessagesOptions, toSafeMessage, toSafeMessageDisappearingSettings, toSafePermissionPolicySet, toSafeSigner };
2391
- export type { ClientOptions, ContentOptions, EOASigner, ExtractCodecContentTypes, HmacKeys, MessageDeliveryStatus, MessageKind, NetworkOptions, OtherOptions, SCWSigner, SafeApiStats, SafeConsent, SafeContentTypeId, SafeConversation, SafeConversationDebugInfo, SafeCreateDmOptions, SafeCreateGroupOptions, SafeEncodedContent, SafeGroupMember, SafeHmacKey, SafeHmacKeys, SafeIdentityStats, SafeInboxState, SafeInstallation, SafeKeyPackageStatus, SafeListConversationsOptions, SafeListMessagesOptions, SafeMessage, SafeMessageDisappearingSettings, SafePermissionPolicySet, SafeSigner, Signer, StorageOptions, StreamCallback, XmtpEnv };
2475
+ export { AccountAlreadyAssociatedError, ApiUrls, Client, ClientNotInitializedError, CodecNotFoundError, Conversation, Conversations, DEFAULT_RETRY_ATTEMPTS, DEFAULT_RETRY_DELAY, DecodedMessage, Dm, Group, GroupNotFoundError, HistorySyncUrls, InboxReassignError, InvalidGroupMembershipChangeError, MissingContentTypeError, SignerUnavailableError, StreamFailedError, StreamInvalidRetryAttemptsError, StreamNotFoundError, Utils, createStream, fromContentTypeId, fromEncodedContent, fromSafeConsent, fromSafeContentTypeId, fromSafeCreateDmOptions, fromSafeCreateGroupOptions, fromSafeEncodedContent, fromSafeGroupMember, fromSafeListConversationsOptions, fromSafeListMessagesOptions, fromSafeMessageDisappearingSettings, fromSafePermissionPolicySet, toContentTypeId, toEncodedContent, toSafeApiStats, toSafeConsent, toSafeContentTypeId, toSafeConversation, toSafeConversationDebugInfo, toSafeCreateDmOptions, toSafeCreateGroupOptions, toSafeEncodedContent, toSafeGroupMember, toSafeHmacKey, toSafeIdentityStats, toSafeInboxState, toSafeInstallation, toSafeKeyPackageStatus, toSafeListConversationsOptions, toSafeListMessagesOptions, toSafeMessage, toSafeMessageDisappearingSettings, toSafePermissionPolicySet, toSafeSigner };
2476
+ export type { AsyncStreamProxy, ClientOptions, ContentOptions, EOASigner, ExtractCodecContentTypes, HmacKeys, MessageDeliveryStatus, MessageKind, NetworkOptions, OtherOptions, SCWSigner, SafeApiStats, SafeConsent, SafeContentTypeId, SafeConversation, SafeConversationDebugInfo, SafeCreateDmOptions, SafeCreateGroupOptions, SafeEncodedContent, SafeGroupMember, SafeHmacKey, SafeHmacKeys, SafeIdentityStats, SafeInboxState, SafeInstallation, SafeKeyPackageStatus, SafeListConversationsOptions, SafeListMessagesOptions, SafeMessage, SafeMessageDisappearingSettings, SafePermissionPolicySet, SafeSigner, Signer, StorageOptions, StreamCallback, StreamFunction, StreamOptions, StreamValueMutator, XmtpEnv };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{GroupUpdatedCodec as e,ContentTypeGroupUpdated as t}from"@xmtp/content-type-group-updated";import{ContentTypeText as s,TextCodec as i}from"@xmtp/content-type-text";import{ContentTypeId as n,EncodedContent as r,ListMessagesOptions as a,ListConversationsOptions as o,PermissionPolicySet as d,CreateGroupOptions as c,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as h,GroupPermissionsOptions as p,GroupMessageKind as m,DeliveryStatus as y,ConversationType as I}from"@xmtp/wasm-bindings";export{Consent,ConsentEntityType,ConsentState,ContentType,ContentTypeId,ConversationListItem,ConversationType,CreateDMOptions,CreateGroupOptions,DeliveryStatus,EncodedContent,GroupMember,GroupMembershipState,GroupMessageKind,GroupMetadata,GroupPermissions,GroupPermissionsOptions,HmacKey,InboxState,Installation,ListConversationsOptions,ListMessagesOptions,LogOptions,Message,MessageDisappearingSettings,MetadataField,PermissionLevel,PermissionPolicy,PermissionPolicySet,PermissionUpdateType,SignatureRequestHandle,SortDirection}from"@xmtp/wasm-bindings";import{v4 as v}from"uuid";import{ContentTypeId as w}from"@xmtp/content-type-primitives";const f=e=>{console.error(e.message)};class M{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",f),this.#t=t}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("client received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t)=>{const s=s=>{const i=s.data;i.streamId===e&&("error"in i?t(i.error,null):t(null,i.result))};return this.#e.addEventListener("message",s),()=>{this.#e.removeEventListener("message",s)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",f),this.#e.terminate()}}class b{#i=!1;#n=[];#r;#a;#o;#d;#c;constructor(){this.#r=[],this.#i=!1}#l(e){for(;this.#n.length>0;){const t=this.#n.shift();t&&t.resolve({done:!0,value:e})}}#u(e){this.#l(e),this.#r=[],this.#n=[],this.#i=!0,this.#o?.(),this.#a&&this.#c?.(this.#a)}get error(){return this.#a}get isDone(){return this.#i}set onReturn(e){this.#d=e}set onError(e){this.#c=e}set onDone(e){this.#o=e}callback=(e,t)=>{if(this.#i)return;const s=this.#n.shift();if(s){const{resolve:i,reject:n}=s;e?(this.#a=e,n(e),this.#u()):i({done:!1,value:t})}else this.#r.push(e??t)};next=()=>{if(this.#i)return Promise.resolve({done:!0,value:void 0});if(this.#r.length>0){const e=this.#r.shift();return e instanceof Error?(this.#a=e,this.#u(),Promise.reject(e)):Promise.resolve({done:!1,value:e})}return new Promise(((e,t)=>{this.#n.push({resolve:e,reject:t})}))};return=e=>(this.#d?.(),this.#u(e),Promise.resolve({done:!0,value:e}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const S=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),x=e=>new n(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),A=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),k=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),D=e=>({type:S(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),P=e=>new r(x(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),T=e=>({type:A(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),N=e=>({type:k(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),C=e=>({content:T(D(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),R=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),q=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),_=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),G=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),B=e=>({addAdminPolicy:e.addAdminPolicy,addMemberPolicy:e.addMemberPolicy,removeAdminPolicy:e.removeAdminPolicy,removeMemberPolicy:e.removeMemberPolicy,updateGroupDescriptionPolicy:e.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:e.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:e.updateGroupNamePolicy,updateMessageDisappearingPolicy:e.updateMessageDisappearingPolicy}),L=e=>new d(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),E=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),U=e=>new c(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===p.CustomPolicy?L(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0),F=e=>({messageDisappearingSettings:e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0}),O=e=>new l(e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0),W=async e=>{const t=e.id,s=e.name,i=e.imageUrl,n=e.description,r=e.permissions,a=e.isActive,o=e.addedByInboxId,d=await e.metadata(),c=e.admins,l=e.superAdmins,u=e.createdAtNs,g=r.policyType,h=r.policySet;return{id:t,name:s,imageUrl:i,description:n,permissions:{policyType:g,policySet:{addAdminPolicy:h.addAdminPolicy,addMemberPolicy:h.addMemberPolicy,removeAdminPolicy:h.removeAdminPolicy,removeMemberPolicy:h.removeMemberPolicy,updateGroupDescriptionPolicy:h.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:h.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:h.updateGroupNamePolicy,updateMessageDisappearingPolicy:h.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:d,admins:c,superAdmins:l,createdAtNs:u}},j=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),K=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(j),recoveryIdentifier:e.recoveryIdentifier}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),$=e=>new u(e.entityType,e.state,e.entity),V=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),z=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),J=e=>({key:e.key,epoch:e.epoch}),Q=e=>({fromNs:e.fromNs,inNs:e.inNs}),X=e=>new h(e.fromNs,e.inNs),Y=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),Z=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),ee=e=>({uploadKeyPackage:e.upload_key_package,fetchKeyPackage:e.fetch_key_package,sendGroupMessages:e.send_group_messages,sendWelcomeMessages:e.send_welcome_messages,queryGroupMessages:e.query_group_messages,queryWelcomeMessages:e.query_welcome_messages,subscribeMessages:e.subscribe_messages,subscribeWelcomes:e.subscribe_welcomes}),te=e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature});class se{#g;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#g=e,this.id=t.id,this.sentAtNs=t.sentAtNs,this.conversationId=t.convoId,this.senderInboxId=t.senderInboxId,this.encodedContent=t.content,t.kind){case m.Application:this.kind="application";break;case m.MembershipChange:this.kind="membership_change"}switch(t.deliveryStatus){case y.Unpublished:this.deliveryStatus="unpublished";break;case y.Published:this.deliveryStatus="published";break;case y.Failed:this.deliveryStatus="failed"}this.contentType=k(t.content.type),this.parameters=new Map(Object.entries(t.content.parameters)),this.fallback=t.content.fallback,this.compression=t.content.compression;try{this.content=this.#g.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class ie extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class ne extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class re extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class ae extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class oe extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class de extends Error{constructor(e){super(`Group "${e}" not found`)}}class ce extends Error{constructor(e){super(`Stream "${e}" not found`)}}class le extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class ue extends Error{constructor(){super("Content type is required when sending content other than text")}}class ge{#h;#g;#p;#m;#y;#I;constructor(e,t,s){this.#g=e,this.#m=t,this.#v(s)}#v(e){this.#y=e?.isActive??void 0,this.#h=e?.addedByInboxId??"",this.#I=e?.metadata??void 0,this.#p=e?.createdAtNs??void 0}get id(){return this.#m}get isActive(){return this.#y}get addedByInboxId(){return this.#h}get createdAtNs(){return this.#p}get createdAt(){return this.#p?(e=this.#p,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#I}async members(){return this.#g.sendMessage("conversation.members",{id:this.#m})}async sync(){const e=await this.#g.sendMessage("conversation.sync",{id:this.#m});return this.#v(e),e}async publishMessages(){return this.#g.sendMessage("conversation.publishMessages",{id:this.#m})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new ue;const i="string"==typeof e?this.#g.encodeContent(e,t??s):this.#g.encodeContent(e,t);return this.#g.sendMessage("conversation.sendOptimistic",{id:this.#m,content:i})}async send(e,t){if("string"!=typeof e&&!t)throw new ue;const i="string"==typeof e?this.#g.encodeContent(e,t??s):this.#g.encodeContent(e,t);return this.#g.sendMessage("conversation.send",{id:this.#m,content:i})}async messages(e){return(await this.#g.sendMessage("conversation.messages",{id:this.#m,options:e})).map((e=>new se(this.#g,e)))}async consentState(){return this.#g.sendMessage("conversation.consentState",{id:this.#m})}async updateConsentState(e){return this.#g.sendMessage("conversation.updateConsentState",{id:this.#m,state:e})}async messageDisappearingSettings(){return this.#g.sendMessage("conversation.messageDisappearingSettings",{id:this.#m})}async updateMessageDisappearingSettings(e,t){return this.#g.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#m,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#g.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#m})}async isMessageDisappearingEnabled(){return this.#g.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#m})}async stream(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{let n,r=t;if(i)try{n=new se(this.#g,i)}catch(t){r=t}s.callback(r,n),e?.(r,n)}));return await this.#g.sendMessage("conversation.stream",{groupId:this.#m,streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}async pausedForVersion(){return this.#g.sendMessage("conversation.pausedForVersion",{id:this.#m})}async getHmacKeys(){return this.#g.sendMessage("conversation.getHmacKeys",{id:this.#m})}async debugInfo(){return this.#g.sendMessage("conversation.debugInfo",{id:this.#m})}}class he extends ge{#g;#m;constructor(e,t,s){super(e,t,s),this.#g=e,this.#m=t}async peerInboxId(){return this.#g.sendMessage("dm.peerInboxId",{id:this.#m})}async getDuplicateDms(){return this.#g.sendMessage("dm.getDuplicateDms",{id:this.#m})}}class pe extends ge{#w=[];#g;#f;#m;#M;#b;#S=[];#v(e){this.#b=e?.name??"",this.#M=e?.imageUrl??"",this.#f=e?.description??"",this.#w=e?.admins??[],this.#S=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#g=e,this.#m=t,this.#v(s)}async sync(){const e=await super.sync();return this.#v(e),e}get name(){return this.#b}async updateName(e){await this.#g.sendMessage("group.updateName",{id:this.#m,name:e}),this.#b=e}get imageUrl(){return this.#M}async updateImageUrl(e){await this.#g.sendMessage("group.updateImageUrl",{id:this.#m,imageUrl:e}),this.#M=e}get description(){return this.#f}async updateDescription(e){await this.#g.sendMessage("group.updateDescription",{id:this.#m,description:e}),this.#f=e}get admins(){return this.#w}get superAdmins(){return this.#S}async listAdmins(){const e=await this.#g.sendMessage("group.listAdmins",{id:this.#m});return this.#w=e,e}async listSuperAdmins(){const e=await this.#g.sendMessage("group.listSuperAdmins",{id:this.#m});return this.#S=e,e}async permissions(){return this.#g.sendMessage("group.permissions",{id:this.#m})}async updatePermission(e,t,s){return this.#g.sendMessage("group.updatePermission",{id:this.#m,permissionType:e,policy:t,metadataField:s})}async isAdmin(e){return(await this.listAdmins()).includes(e)}async isSuperAdmin(e){return(await this.listSuperAdmins()).includes(e)}async addMembersByIdentifiers(e){return this.#g.sendMessage("group.addMembersByIdentifiers",{id:this.#m,identifiers:e})}async addMembers(e){return this.#g.sendMessage("group.addMembers",{id:this.#m,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#g.sendMessage("group.removeMembersByIdentifiers",{id:this.#m,identifiers:e})}async removeMembers(e){return this.#g.sendMessage("group.removeMembers",{id:this.#m,inboxIds:e})}async addAdmin(e){return this.#g.sendMessage("group.addAdmin",{id:this.#m,inboxId:e})}async removeAdmin(e){return this.#g.sendMessage("group.removeAdmin",{id:this.#m,inboxId:e})}async addSuperAdmin(e){return this.#g.sendMessage("group.addSuperAdmin",{id:this.#m,inboxId:e})}async removeSuperAdmin(e){return this.#g.sendMessage("group.removeSuperAdmin",{id:this.#m,inboxId:e})}}class me{#g;constructor(e){this.#g=e}async sync(){return this.#g.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#g.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#g.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new pe(this.#g,t.id,t):new he(this.#g,t.id,t)}async getMessageById(e){const t=await this.#g.sendMessage("conversations.getMessageById",{id:e});return t?new se(this.#g,t):void 0}async getDmByInboxId(e){const t=await this.#g.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new he(this.#g,t.id,t):void 0}async list(e){return(await this.#g.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new he(this.#g,e.id,e);case"group":return new pe(this.#g,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#g.sendMessage("conversations.listGroups",{options:e})).map((e=>new pe(this.#g,e.id,e)))}async listDms(e){return(await this.#g.sendMessage("conversations.listDms",{options:e})).map((e=>new he(this.#g,e.id,e)))}async newGroupOptimistic(e){const t=await this.#g.sendMessage("conversations.newGroupOptimistic",{options:e});return new pe(this.#g,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#g.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new pe(this.#g,s.id,s)}async newGroup(e,t){const s=await this.#g.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new pe(this.#g,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#g.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new he(this.#g,s.id,s)}async newDm(e,t){const s=await this.#g.sendMessage("conversations.newDm",{inboxId:e,options:t});return new he(this.#g,s.id,s)}async getHmacKeys(){return this.#g.sendMessage("conversations.getHmacKeys",void 0)}async stream(e,t){const s=v(),i=new b,n=this.#g.handleStreamMessage(s,((t,s)=>{let n,r=t;if(s)try{n="group"===s.metadata.conversationType?new pe(this.#g,s.id,s):new he(this.#g,s.id,s)}catch(t){r=t}i.callback(r,n),e?.(r,n)}));return await this.#g.sendMessage("conversations.stream",{streamId:s,conversationType:t}),i.onDone=()=>{this.#g.sendMessage("endStream",{streamId:s}),n()},i}async streamGroups(e){return this.stream(e,I.Group)}async streamDms(e){return this.stream(e,I.Dm)}async streamAllMessages(e,t,s){const i=v(),n=new b,r=this.#g.handleStreamMessage(i,((t,s)=>{let i,r=t;if(s)try{i=new se(this.#g,s)}catch(t){r=t}n.callback(r,i),e?.(r,i)}));return await this.#g.sendMessage("conversations.streamAllMessages",{streamId:i,conversationType:t,consentStates:s}),n.onDone=()=>{this.#g.sendMessage("endStream",{streamId:i}),r()},n}async streamAllGroupMessages(e,t){return this.streamAllMessages(e,I.Group,t)}async streamAllDmMessages(e,t){return this.streamAllMessages(e,I.Dm,t)}}class ye{#g;constructor(e){this.#g=e}apiStatistics(){return this.#g.sendMessage("debugInformation.apiStatistics",void 0)}apiIdentityStatistics(){return this.#g.sendMessage("debugInformation.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.#g.sendMessage("debugInformation.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.#g.sendMessage("debugInformation.clearAllStatistics",void 0)}uploadDebugArchive(e){return this.#g.sendMessage("debugInformation.uploadDebugArchive",{serverUrl:e})}}class Ie{#g;constructor(e){this.#g=e}sync(){return this.#g.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#g.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#g.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#g.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#g.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#g.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#g.sendMessage("preferences.streamConsent",{streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}async streamPreferences(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#g.sendMessage("preferences.streamPreferences",{streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}}const ve=async(e,t)=>{switch(e.type){case"EOA":return{type:"EOA",identifier:await e.getIdentifier(),signature:t};case"SCW":return{type:"SCW",identifier:await e.getIdentifier(),signature:t,chainId:e.getChainId(),blockNumber:e.getBlockNumber?.()}}},we=e=>{console.error(e.message)};class fe{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",we),this.#t=t}async init(){return this.sendMessage("utils.init",{enableLogging:this.#t})}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("utils received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",we),this.#e.terminate()}}class Me extends fe{constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1)}async generateInboxId(e){return this.sendMessage("utils.generateInboxId",{identifier:e})}async getInboxIdForIdentifier(e,t){return this.sendMessage("utils.getInboxIdForIdentifier",{identifier:e,env:t})}async revokeInstallationsSignatureText(e,t,s,i){return this.sendMessage("utils.revokeInstallationsSignatureText",{env:i,identifier:e,inboxId:t,installationIds:s,signatureRequestId:v()})}async revokeInstallations(e,t,s,i){const n=await e.getIdentifier(),{signatureText:r,signatureRequestId:a}=await this.revokeInstallationsSignatureText(n,t,s,i),o=await e.signMessage(r),d=await ve(e,o);return this.sendMessage("utils.revokeInstallations",{signer:d,signatureRequestId:a,env:i})}async inboxStateFromInboxIds(e,t){return this.sendMessage("utils.inboxStateFromInboxIds",{inboxIds:e,env:t})}}class be extends M{#x;#A;#k;#D;#P;#T;#N;#C=!1;#R;#q;#_;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#_=t,this.#A=new me(this),this.#k=new ye(this),this.#R=new Ie(this);const s=[new e,new i,...t?.codecs??[]];this.#x=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#_});this.#D=e,this.#P=t.inboxId,this.#T=t.installationId,this.#N=t.installationIdBytes,this.#C=!0}static async create(e,t){const s=new be(t);return s.#q=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new be({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#_}get signer(){return this.#q}get isReady(){return this.#C}get inboxId(){return this.#P}get accountIdentifier(){return this.#D}get installationId(){return this.#T}get installationIdBytes(){return this.#N}get conversations(){return this.#A}get debugInformation(){return this.#k}get preferences(){return this.#R}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",{signatureRequestId:v()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new ae;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:v()})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:v()})}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:v()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_applySignatureRequest(e,t){return this.sendMessage("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#q)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#q.signMessage(e),i=await ve(this.#q,s);return this.sendMessage("client.registerIdentity",{signer:i,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#q)throw new ne;if(!t)throw new ae;const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s)throw new oe(s);const{signatureText:i,signatureRequestId:n}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(i),a=await ve(e,r);return this.sendMessage("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:n})}async removeAccount(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.removeAccount",{identifier:e,signer:n,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#q)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText(),s=await this.#q.signMessage(e),i=await ve(this.#q,s);return this.sendMessage("client.revokeAllOtherInstallations",{signer:i,signatureRequestId:t})}async revokeInstallations(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.revokeInstallations",{installationIds:e,signer:n,signatureRequestId:s})}static async revokeInstallations(e,t,s,i,n){const r=new Me(n);await r.init(),await r.revokeInstallations(e,t,s,i),r.close()}static async inboxStateFromInboxIds(e,t,s){const i=new Me(s);await i.init();const n=await i.inboxStateFromInboxIds(e,t);return i.close(),n}async changeRecoveryIdentifier(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.changeRecoveryIdentifier",{identifier:e,signer:n,signatureRequestId:s})}async isRegistered(){return this.sendMessage("client.isRegistered",void 0)}async canMessage(e){return this.sendMessage("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map,i=new Me;for(const n of e){const e=await i.getInboxIdForIdentifier(n,t);s.set(n.identifier.toLowerCase(),void 0!==e)}return i.close(),s}async findInboxIdByIdentifier(e){return this.sendMessage("client.findInboxIdByIdentifier",{identifier:e})}codecFor(e){return this.#x.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new re(t);const i=s.encode(e,this),n=s.fallback(e);return n&&(i.fallback=n),T(i)}decodeContent(e,s){const i=this.codecFor(s);if(!i)throw new re(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new le(e.id);const n=N(e.content);return i.decode(n,this)}signWithInstallationKey(e){return this.sendMessage("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async getKeyPackageStatusesForInstallationIds(e){return this.sendMessage("client.getKeyPackageStatusesForInstallationIds",{installationIds:e})}}const Se={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},xe={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{oe as AccountAlreadyAssociatedError,Se as ApiUrls,be as Client,ie as ClientNotInitializedError,re as CodecNotFoundError,ge as Conversation,me as Conversations,se as DecodedMessage,he as Dm,pe as Group,de as GroupNotFoundError,xe as HistorySyncUrls,ae as InboxReassignError,le as InvalidGroupMembershipChangeError,ue as MissingContentTypeError,ne as SignerUnavailableError,ce as StreamNotFoundError,Me as Utils,x as fromContentTypeId,P as fromEncodedContent,$ as fromSafeConsent,k as fromSafeContentTypeId,O as fromSafeCreateDmOptions,U as fromSafeCreateGroupOptions,N as fromSafeEncodedContent,z as fromSafeGroupMember,G as fromSafeListConversationsOptions,q as fromSafeListMessagesOptions,X as fromSafeMessageDisappearingSettings,L as fromSafePermissionPolicySet,S as toContentTypeId,D as toEncodedContent,ee as toSafeApiStats,H as toSafeConsent,A as toSafeContentTypeId,W as toSafeConversation,Z as toSafeConversationDebugInfo,F as toSafeCreateDmOptions,E as toSafeCreateGroupOptions,T as toSafeEncodedContent,V as toSafeGroupMember,J as toSafeHmacKey,te as toSafeIdentityStats,K as toSafeInboxState,j as toSafeInstallation,Y as toSafeKeyPackageStatus,_ as toSafeListConversationsOptions,R as toSafeListMessagesOptions,C as toSafeMessage,Q as toSafeMessageDisappearingSettings,B as toSafePermissionPolicySet,ve as toSafeSigner};
1
+ import{GroupUpdatedCodec as e,ContentTypeGroupUpdated as t}from"@xmtp/content-type-group-updated";import{ContentTypeText as s,TextCodec as n}from"@xmtp/content-type-text";import{ContentTypeId as i,EncodedContent as r,ListMessagesOptions as a,ListConversationsOptions as o,PermissionPolicySet as c,CreateGroupOptions as d,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as p,GroupPermissionsOptions as h,GroupMessageKind as m,DeliveryStatus as y,ConversationType as I}from"@xmtp/wasm-bindings";export{Consent,ConsentEntityType,ConsentState,ContentType,ContentTypeId,ConversationListItem,ConversationType,CreateDMOptions,CreateGroupOptions,DeliveryStatus,EncodedContent,GroupMember,GroupMembershipState,GroupMessageKind,GroupMetadata,GroupPermissions,GroupPermissionsOptions,HmacKey,InboxState,Installation,ListConversationsOptions,ListMessagesOptions,LogOptions,Message,MessageDisappearingSettings,MetadataField,PermissionLevel,PermissionPolicy,PermissionPolicySet,PermissionUpdateType,SignatureRequestHandle,SortDirection}from"@xmtp/wasm-bindings";import{v4 as v}from"uuid";import{ContentTypeId as w}from"@xmtp/content-type-primitives";const f=e=>{console.error(e.message)};class M{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",f),this.#t=t}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("client received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t,s)=>{const n=n=>{const i=n.data;if(i.streamId===e){if("stream.fail"===i.action)return void s?.onFail?.();"error"in i?t(i.error,void 0):t(null,i.result)}};return this.#e.addEventListener("message",n),async()=>{await this.sendMessage("endStream",{streamId:e}),this.#e.removeEventListener("message",n)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",f),this.#e.terminate()}}const b=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),S=e=>new i(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),x=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),A=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),k=e=>({type:b(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),D=e=>new r(S(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),P=e=>({type:x(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),T=e=>({type:A(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),R=e=>({content:P(k(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),N=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),C=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),q=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),_=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),G=e=>({addAdminPolicy:e.addAdminPolicy,addMemberPolicy:e.addMemberPolicy,removeAdminPolicy:e.removeAdminPolicy,removeMemberPolicy:e.removeMemberPolicy,updateGroupDescriptionPolicy:e.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:e.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:e.updateGroupNamePolicy,updateMessageDisappearingPolicy:e.updateMessageDisappearingPolicy}),B=e=>new c(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),L=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?J(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),E=e=>new d(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===h.CustomPolicy?B(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0),F=e=>({messageDisappearingSettings:e.messageDisappearingSettings?J(e.messageDisappearingSettings):void 0}),U=e=>new l(e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0),O=async e=>{const t=e.id,s=e.name,n=e.imageUrl,i=e.description,r=e.permissions,a=e.isActive,o=e.addedByInboxId,c=await e.metadata(),d=e.admins,l=e.superAdmins,u=e.createdAtNs,g=r.policyType,p=r.policySet;return{id:t,name:s,imageUrl:n,description:i,permissions:{policyType:g,policySet:{addAdminPolicy:p.addAdminPolicy,addMemberPolicy:p.addMemberPolicy,removeAdminPolicy:p.removeAdminPolicy,removeMemberPolicy:p.removeMemberPolicy,updateGroupDescriptionPolicy:p.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:p.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:p.updateGroupNamePolicy,updateMessageDisappearingPolicy:p.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:l,createdAtNs:u}},K=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),W=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(K),recoveryIdentifier:e.recoveryIdentifier}),j=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),$=e=>new u(e.entityType,e.state,e.entity),H=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),V=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),z=e=>({key:e.key,epoch:e.epoch}),J=e=>({fromNs:e.fromNs,inNs:e.inNs}),Q=e=>new p(e.fromNs,e.inNs),X=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),Y=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),Z=e=>({uploadKeyPackage:e.upload_key_package,fetchKeyPackage:e.fetch_key_package,sendGroupMessages:e.send_group_messages,sendWelcomeMessages:e.send_welcome_messages,queryGroupMessages:e.query_group_messages,queryWelcomeMessages:e.query_welcome_messages,subscribeMessages:e.subscribe_messages,subscribeWelcomes:e.subscribe_welcomes}),ee=e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature});class te{#n;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#n=e,this.id=t.id,this.sentAtNs=t.sentAtNs,this.conversationId=t.convoId,this.senderInboxId=t.senderInboxId,this.encodedContent=t.content,t.kind){case m.Application:this.kind="application";break;case m.MembershipChange:this.kind="membership_change"}switch(t.deliveryStatus){case y.Unpublished:this.deliveryStatus="unpublished";break;case y.Published:this.deliveryStatus="published";break;case y.Failed:this.deliveryStatus="failed"}this.contentType=A(t.content.type),this.parameters=new Map(Object.entries(t.content.parameters)),this.fallback=t.content.fallback,this.compression=t.content.compression;try{this.content=this.#n.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class se extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class ne extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class ie extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class re extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class ae extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class oe extends Error{constructor(e){super(`Group "${e}" not found`)}}class ce extends Error{constructor(e){super(`Stream "${e}" not found`)}}class de extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class le extends Error{constructor(){super("Content type is required when sending content other than text")}}class ue extends Error{constructor(e){super(`Stream failed, retried ${e} ${"time"+(1!==e?"s":"")}`)}}class ge extends Error{constructor(){super("Stream retry attempts must be greater than 0")}}class pe{isDone=!1;#i=[];#r;onDone;onReturn;constructor(){this.#r=[],this.isDone=!1}flush(){for(;this.#i.length>0;){const e=this.#i.shift();e&&e({done:!0,value:void 0})}}done(){this.flush(),this.#r=[],this.#i=[],this.isDone=!0,this.onDone?.()}push=e=>{if(this.isDone)return;const t=this.#i.shift();t?t({done:!1,value:e}):this.#r.push(e)};next=()=>this.isDone?Promise.resolve({done:!0,value:void 0}):this.#r.length>0?Promise.resolve({done:!1,value:this.#r.shift()}):new Promise((e=>{this.#i.push(e)}));return=()=>(this.onReturn?.(),this.done(),Promise.resolve({done:!0,value:void 0}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const he=["end","isDone","next","return",Symbol.asyncIterator],me=e=>he.includes(e);const ye=1e4,Ie=6,ve=async(e,t,s)=>{const{onEnd:n,onError:i,onFail:r,onRestart:a,onRetry:o,onValue:c,retryAttempts:d=Ie,retryDelay:l=ye,retryOnFail:u=!0}=s??{};if(u&&d<0)throw new ge;const g=new pe,p=(e,s)=>{if(e)i?.(e);else if(void 0!==s)try{if(t){const e=t(s);(e=>!!e&&("object"==typeof e||"function"==typeof e)&&"then"in e&&"function"==typeof e.then)(e)?e.then((e=>{g.push(e),c?.(e)})).catch((e=>{i?.(e)})):(g.push(e),c?.(e))}else g.push(s),c?.(s)}catch(e){i?.(e)}},h=async(t=d)=>{try{if(0===t)throw g.end(),new ue(d);await(s=l,new Promise((e=>setTimeout(e,s)))),o?.(d-t+1,d);const i=await e(p,(()=>{r?.(),h()}));g.onDone=()=>{i(),n?.()},a?.()}catch(e){i?.(e),h(t-1)}var s},m=()=>{if(!u)throw g.end(),new ue(0);h()};try{const t=await e(p,(()=>{r?.(),m()}));g.onDone=()=>{t(),n?.()}}catch(e){i?.(e),m()}return new Proxy(g,{get(e,t,s){if(me(t))return Reflect.get(e,t,s)},set:()=>!0,has:(e,t)=>me(t),ownKeys:()=>he,getOwnPropertyDescriptor(e,t){if(me(t))return{enumerable:!0,configurable:!0,value:Reflect.get(e,t)}}})};class we{#a;#n;#o;#c;#d;#l;constructor(e,t,s){this.#n=e,this.#c=t,this.#u(s)}#u(e){this.#d=e?.isActive??void 0,this.#a=e?.addedByInboxId??"",this.#l=e?.metadata??void 0,this.#o=e?.createdAtNs??void 0}get id(){return this.#c}get isActive(){return this.#d}get addedByInboxId(){return this.#a}get createdAtNs(){return this.#o}get createdAt(){return this.#o?(e=this.#o,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#l}async members(){return this.#n.sendMessage("conversation.members",{id:this.#c})}async sync(){const e=await this.#n.sendMessage("conversation.sync",{id:this.#c});return this.#u(e),e}async publishMessages(){return this.#n.sendMessage("conversation.publishMessages",{id:this.#c})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new le;const n="string"==typeof e?this.#n.encodeContent(e,t??s):this.#n.encodeContent(e,t);return this.#n.sendMessage("conversation.sendOptimistic",{id:this.#c,content:n})}async send(e,t){if("string"!=typeof e&&!t)throw new le;const n="string"==typeof e?this.#n.encodeContent(e,t??s):this.#n.encodeContent(e,t);return this.#n.sendMessage("conversation.send",{id:this.#c,content:n})}async messages(e){return(await this.#n.sendMessage("conversation.messages",{id:this.#c,options:e})).map((e=>new te(this.#n,e)))}async consentState(){return this.#n.sendMessage("conversation.consentState",{id:this.#c})}async updateConsentState(e){return this.#n.sendMessage("conversation.updateConsentState",{id:this.#c,state:e})}async messageDisappearingSettings(){return this.#n.sendMessage("conversation.messageDisappearingSettings",{id:this.#c})}async updateMessageDisappearingSettings(e,t){return this.#n.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#c,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#n.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#c})}async isMessageDisappearingEnabled(){return this.#n.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#c})}async stream(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversation.stream",{groupId:this.#c,streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>new te(this.#n,e)),e)}async pausedForVersion(){return this.#n.sendMessage("conversation.pausedForVersion",{id:this.#c})}async getHmacKeys(){return this.#n.sendMessage("conversation.getHmacKeys",{id:this.#c})}async debugInfo(){return this.#n.sendMessage("conversation.debugInfo",{id:this.#c})}}class fe extends we{#n;#c;constructor(e,t,s){super(e,t,s),this.#n=e,this.#c=t}async peerInboxId(){return this.#n.sendMessage("dm.peerInboxId",{id:this.#c})}async getDuplicateDms(){return this.#n.sendMessage("dm.getDuplicateDms",{id:this.#c})}}class Me extends we{#g=[];#n;#p;#c;#h;#m;#y=[];#u(e){this.#m=e?.name??"",this.#h=e?.imageUrl??"",this.#p=e?.description??"",this.#g=e?.admins??[],this.#y=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#n=e,this.#c=t,this.#u(s)}async sync(){const e=await super.sync();return this.#u(e),e}get name(){return this.#m}async updateName(e){await this.#n.sendMessage("group.updateName",{id:this.#c,name:e}),this.#m=e}get imageUrl(){return this.#h}async updateImageUrl(e){await this.#n.sendMessage("group.updateImageUrl",{id:this.#c,imageUrl:e}),this.#h=e}get description(){return this.#p}async updateDescription(e){await this.#n.sendMessage("group.updateDescription",{id:this.#c,description:e}),this.#p=e}get admins(){return this.#g}get superAdmins(){return this.#y}async listAdmins(){const e=await this.#n.sendMessage("group.listAdmins",{id:this.#c});return this.#g=e,e}async listSuperAdmins(){const e=await this.#n.sendMessage("group.listSuperAdmins",{id:this.#c});return this.#y=e,e}async permissions(){return this.#n.sendMessage("group.permissions",{id:this.#c})}async updatePermission(e,t,s){return this.#n.sendMessage("group.updatePermission",{id:this.#c,permissionType:e,policy:t,metadataField:s})}async isAdmin(e){return(await this.listAdmins()).includes(e)}async isSuperAdmin(e){return(await this.listSuperAdmins()).includes(e)}async addMembersByIdentifiers(e){return this.#n.sendMessage("group.addMembersByIdentifiers",{id:this.#c,identifiers:e})}async addMembers(e){return this.#n.sendMessage("group.addMembers",{id:this.#c,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#n.sendMessage("group.removeMembersByIdentifiers",{id:this.#c,identifiers:e})}async removeMembers(e){return this.#n.sendMessage("group.removeMembers",{id:this.#c,inboxIds:e})}async addAdmin(e){return this.#n.sendMessage("group.addAdmin",{id:this.#c,inboxId:e})}async removeAdmin(e){return this.#n.sendMessage("group.removeAdmin",{id:this.#c,inboxId:e})}async addSuperAdmin(e){return this.#n.sendMessage("group.addSuperAdmin",{id:this.#c,inboxId:e})}async removeSuperAdmin(e){return this.#n.sendMessage("group.removeSuperAdmin",{id:this.#c,inboxId:e})}}class be{#n;constructor(e){this.#n=e}async sync(){return this.#n.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#n.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#n.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new Me(this.#n,t.id,t):new fe(this.#n,t.id,t)}async getMessageById(e){const t=await this.#n.sendMessage("conversations.getMessageById",{id:e});return t?new te(this.#n,t):void 0}async getDmByInboxId(e){const t=await this.#n.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new fe(this.#n,t.id,t):void 0}async list(e){return(await this.#n.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new fe(this.#n,e.id,e);case"group":return new Me(this.#n,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#n.sendMessage("conversations.listGroups",{options:e})).map((e=>new Me(this.#n,e.id,e)))}async listDms(e){return(await this.#n.sendMessage("conversations.listDms",{options:e})).map((e=>new fe(this.#n,e.id,e)))}async newGroupOptimistic(e){const t=await this.#n.sendMessage("conversations.newGroupOptimistic",{options:e});return new Me(this.#n,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#n.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new Me(this.#n,s.id,s)}async newGroup(e,t){const s=await this.#n.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new Me(this.#n,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#n.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new fe(this.#n,s.id,s)}async newDm(e,t){const s=await this.#n.sendMessage("conversations.newDm",{inboxId:e,options:t});return new fe(this.#n,s.id,s)}async getHmacKeys(){return this.#n.sendMessage("conversations.getHmacKeys",void 0)}async stream(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversations.stream",{streamId:n,conversationType:e?.conversationType}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>"group"===e.metadata.conversationType?new Me(this.#n,e.id,e):new fe(this.#n,e.id,e)),e)}async streamGroups(e){return this.stream({...e,conversationType:I.Group})}async streamDms(e){return this.stream({...e,conversationType:I.Dm})}async streamAllMessages(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversations.streamAllMessages",{streamId:n,conversationType:e?.conversationType,consentStates:e?.consentStates}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>new te(this.#n,e)),e)}async streamAllGroupMessages(e){return this.streamAllMessages({...e,conversationType:I.Group})}async streamAllDmMessages(e){return this.streamAllMessages({...e,conversationType:I.Dm})}}class Se{#n;constructor(e){this.#n=e}apiStatistics(){return this.#n.sendMessage("debugInformation.apiStatistics",void 0)}apiIdentityStatistics(){return this.#n.sendMessage("debugInformation.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.#n.sendMessage("debugInformation.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.#n.sendMessage("debugInformation.clearAllStatistics",void 0)}uploadDebugArchive(e){return this.#n.sendMessage("debugInformation.uploadDebugArchive",{serverUrl:e})}}class xe{#n;constructor(e){this.#n=e}sync(){return this.#n.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#n.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#n.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#n.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#n.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#n.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("preferences.streamConsent",{streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),void 0,e)}async streamPreferences(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("preferences.streamPreferences",{streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),void 0,e)}}const Ae=async(e,t)=>{switch(e.type){case"EOA":return{type:"EOA",identifier:await e.getIdentifier(),signature:t};case"SCW":return{type:"SCW",identifier:await e.getIdentifier(),signature:t,chainId:e.getChainId(),blockNumber:e.getBlockNumber?.()}}},ke=e=>{console.error(e.message)};class De{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",ke),this.#t=t}async init(){return this.sendMessage("utils.init",{enableLogging:this.#t})}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("utils received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",ke),this.#e.terminate()}}class Pe extends De{constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1)}async generateInboxId(e){return this.sendMessage("utils.generateInboxId",{identifier:e})}async getInboxIdForIdentifier(e,t){return this.sendMessage("utils.getInboxIdForIdentifier",{identifier:e,env:t})}async revokeInstallationsSignatureText(e,t,s,n){return this.sendMessage("utils.revokeInstallationsSignatureText",{env:n,identifier:e,inboxId:t,installationIds:s,signatureRequestId:v()})}async revokeInstallations(e,t,s,n){const i=await e.getIdentifier(),{signatureText:r,signatureRequestId:a}=await this.revokeInstallationsSignatureText(i,t,s,n),o=await e.signMessage(r),c=await Ae(e,o);return this.sendMessage("utils.revokeInstallations",{signer:c,signatureRequestId:a,env:n})}async inboxStateFromInboxIds(e,t){return this.sendMessage("utils.inboxStateFromInboxIds",{inboxIds:e,env:t})}}class Te extends M{#I;#v;#w;#f;#M;#b;#S;#x=!1;#A;#k;#D;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#D=t,this.#v=new be(this),this.#w=new Se(this),this.#A=new xe(this);const s=[new e,new n,...t?.codecs??[]];this.#I=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#D});this.#f=e,this.#M=t.inboxId,this.#b=t.installationId,this.#S=t.installationIdBytes,this.#x=!0}static async create(e,t){const s=new Te(t);return s.#k=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new Te({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#D}get signer(){return this.#k}get isReady(){return this.#x}get inboxId(){return this.#M}get accountIdentifier(){return this.#f}get installationId(){return this.#b}get installationIdBytes(){return this.#S}get conversations(){return this.#v}get debugInformation(){return this.#w}get preferences(){return this.#A}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",{signatureRequestId:v()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new re;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:v()})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:v()})}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:v()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_applySignatureRequest(e,t){return this.sendMessage("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#k)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#k.signMessage(e),n=await Ae(this.#k,s);return this.sendMessage("client.registerIdentity",{signer:n,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#k)throw new ne;if(!t)throw new re;const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s)throw new ae(s);const{signatureText:n,signatureRequestId:i}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(n),a=await Ae(e,r);return this.sendMessage("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:i})}async removeAccount(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.removeAccount",{identifier:e,signer:i,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#k)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText(),s=await this.#k.signMessage(e),n=await Ae(this.#k,s);return this.sendMessage("client.revokeAllOtherInstallations",{signer:n,signatureRequestId:t})}async revokeInstallations(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.revokeInstallations",{installationIds:e,signer:i,signatureRequestId:s})}static async revokeInstallations(e,t,s,n,i){const r=new Pe(i);await r.init(),await r.revokeInstallations(e,t,s,n),r.close()}static async inboxStateFromInboxIds(e,t,s){const n=new Pe(s);await n.init();const i=await n.inboxStateFromInboxIds(e,t);return n.close(),i}async changeRecoveryIdentifier(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.changeRecoveryIdentifier",{identifier:e,signer:i,signatureRequestId:s})}async isRegistered(){return this.sendMessage("client.isRegistered",void 0)}async canMessage(e){return this.sendMessage("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map,n=new Pe;for(const i of e){const e=await n.getInboxIdForIdentifier(i,t);s.set(i.identifier.toLowerCase(),void 0!==e)}return n.close(),s}async findInboxIdByIdentifier(e){return this.sendMessage("client.findInboxIdByIdentifier",{identifier:e})}codecFor(e){return this.#I.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new ie(t);const n=s.encode(e,this),i=s.fallback(e);return i&&(n.fallback=i),P(n)}decodeContent(e,s){const n=this.codecFor(s);if(!n)throw new ie(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new de(e.id);const i=T(e.content);return n.decode(i,this)}signWithInstallationKey(e){return this.sendMessage("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async getKeyPackageStatusesForInstallationIds(e){return this.sendMessage("client.getKeyPackageStatusesForInstallationIds",{installationIds:e})}}const Re={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},Ne={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{ae as AccountAlreadyAssociatedError,Re as ApiUrls,Te as Client,se as ClientNotInitializedError,ie as CodecNotFoundError,we as Conversation,be as Conversations,te as DecodedMessage,fe as Dm,Me as Group,oe as GroupNotFoundError,Ne as HistorySyncUrls,re as InboxReassignError,de as InvalidGroupMembershipChangeError,le as MissingContentTypeError,ne as SignerUnavailableError,ue as StreamFailedError,ge as StreamInvalidRetryAttemptsError,ce as StreamNotFoundError,Pe as Utils,S as fromContentTypeId,D as fromEncodedContent,$ as fromSafeConsent,A as fromSafeContentTypeId,U as fromSafeCreateDmOptions,E as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,V as fromSafeGroupMember,_ as fromSafeListConversationsOptions,C as fromSafeListMessagesOptions,Q as fromSafeMessageDisappearingSettings,B as fromSafePermissionPolicySet,b as toContentTypeId,k as toEncodedContent,Z as toSafeApiStats,j as toSafeConsent,x as toSafeContentTypeId,O as toSafeConversation,Y as toSafeConversationDebugInfo,F as toSafeCreateDmOptions,L as toSafeCreateGroupOptions,P as toSafeEncodedContent,H as toSafeGroupMember,z as toSafeHmacKey,ee as toSafeIdentityStats,W as toSafeInboxState,K as toSafeInstallation,X as toSafeKeyPackageStatus,q as toSafeListConversationsOptions,N as toSafeListMessagesOptions,R as toSafeMessage,J as toSafeMessageDisappearingSettings,G as toSafePermissionPolicySet,Ae as toSafeSigner};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ClientWorkerClass.ts","../src/AsyncStream.ts","../src/utils/conversions.ts","../src/DecodedMessage.ts","../src/utils/errors.ts","../src/Conversation.ts","../src/utils/date.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/utils/signer.ts","../src/UtilsWorkerClass.ts","../src/Utils.ts","../src/Client.ts","../src/constants.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["handleError","event","console","error","message","ClientWorkerClass","worker","enableLogging","promises","Map","constructor","this","addEventListener","handleMessage","sendMessage","action","data","promiseId","v4","postMessage","id","Promise","resolve","reject","set","eventData","log","promise","get","delete","result","handleStreamMessage","streamId","callback","streamHandler","removeEventListener","close","terminate","AsyncStream","isDone","pendingPromises","queue","onDone","onReturn","onError","flush","value","length","nextPendingPromise","shift","done","push","next","undefined","Error","return","end","Symbol","asyncIterator","toContentTypeId","contentTypeId","ContentTypeId","authorityId","typeId","versionMajor","versionMinor","fromContentTypeId","WasmContentTypeId","toSafeContentTypeId","fromSafeContentTypeId","toEncodedContent","content","type","parameters","Object","fromEntries","fallback","compression","fromEncodedContent","WasmEncodedContent","entries","toSafeEncodedContent","fromSafeEncodedContent","toSafeMessage","convoId","deliveryStatus","kind","senderInboxId","sentAtNs","toSafeListMessagesOptions","options","contentTypes","direction","limit","sentAfterNs","sentBeforeNs","fromSafeListMessagesOptions","ListMessagesOptions","toSafeListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","fromSafeListConversationsOptions","ListConversationsOptions","toSafePermissionPolicySet","policySet","addAdminPolicy","addMemberPolicy","removeAdminPolicy","removeMemberPolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateGroupNamePolicy","updateMessageDisappearingPolicy","fromSafePermissionPolicySet","PermissionPolicySet","toSafeCreateGroupOptions","customPermissionPolicySet","description","groupDescription","imageUrlSquare","groupImageUrlSquare","messageDisappearingSettings","toSafeMessageDisappearingSettings","name","groupName","permissions","fromSafeCreateGroupOptions","CreateGroupOptions","GroupPermissionsOptions","CustomPolicy","fromSafeMessageDisappearingSettings","toSafeCreateDmOptions","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","async","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeGroupMember","member","consentState","installationIds","permissionLevel","fromSafeGroupMember","GroupMember","toSafeHmacKey","hmacKey","key","epoch","settings","fromNs","inNs","MessageDisappearingSettings","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","toSafeConversationDebugInfo","debugInfo","maybeForked","forkDetails","toSafeApiStats","stats","uploadKeyPackage","upload_key_package","fetchKeyPackage","fetch_key_package","sendGroupMessages","send_group_messages","sendWelcomeMessages","send_welcome_messages","queryGroupMessages","query_group_messages","queryWelcomeMessages","query_welcome_messages","subscribeMessages","subscribe_messages","subscribeWelcomes","subscribe_welcomes","toSafeIdentityStats","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","DecodedMessage","client","contentType","conversationId","encodedContent","GroupMessageKind","Application","MembershipChange","DeliveryStatus","Unpublished","Published","Failed","decodeContent","ClientNotInitializedError","super","SignerUnavailableError","CodecNotFoundError","toString","InboxReassignError","AccountAlreadyAssociatedError","GroupNotFoundError","groupId","StreamNotFoundError","InvalidGroupMembershipChangeError","messageId","MissingContentTypeError","Conversation","syncData","createdAt","ns","Date","Number","members","sync","publishMessages","sendOptimistic","safeEncodedContent","encodeContent","ContentTypeText","send","messages","updateConsentState","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","asyncStream","endStream","err","pausedForVersion","getHmacKeys","Dm","peerInboxId","getDuplicateDms","Group","updateName","updateImageUrl","updateDescription","listAdmins","listSuperAdmins","updatePermission","permissionType","policy","metadataField","isAdmin","includes","isSuperAdmin","addMembersByIdentifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","Conversations","syncAll","getConversationById","getMessageById","getDmByInboxId","list","filter","listGroups","listDms","newGroupOptimistic","newGroupWithIdentifiers","newGroup","newDmWithIdentifier","identifier","newDm","streamValue","streamGroups","ConversationType","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","toSafeSigner","signer","signature","getIdentifier","chainId","getChainId","blockNumber","getBlockNumber","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","revokeInstallationsSignatureText","signatureRequestId","revokeInstallations","signatureText","signMessage","safeSigner","Client","codecs","conversations","debugInformation","installationId","installationIdBytes","isReady","preferences","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utils","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/ClientWorkerClass.ts","../src/utils/conversions.ts","../src/DecodedMessage.ts","../src/utils/errors.ts","../src/AsyncStream.ts","../src/utils/streams.ts","../src/Conversation.ts","../src/utils/date.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/utils/signer.ts","../src/UtilsWorkerClass.ts","../src/Utils.ts","../src/Client.ts","../src/constants.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["handleError","event","console","error","message","ClientWorkerClass","worker","enableLogging","promises","Map","constructor","this","addEventListener","handleMessage","sendMessage","action","data","promiseId","v4","postMessage","id","Promise","resolve","reject","set","eventData","log","promise","get","delete","result","handleStreamMessage","streamId","callback","options","streamHandler","onFail","undefined","async","removeEventListener","close","terminate","toContentTypeId","contentTypeId","ContentTypeId","authorityId","typeId","versionMajor","versionMinor","fromContentTypeId","WasmContentTypeId","toSafeContentTypeId","fromSafeContentTypeId","toEncodedContent","content","type","parameters","Object","fromEntries","fallback","compression","fromEncodedContent","WasmEncodedContent","entries","toSafeEncodedContent","fromSafeEncodedContent","toSafeMessage","convoId","deliveryStatus","kind","senderInboxId","sentAtNs","toSafeListMessagesOptions","contentTypes","direction","limit","sentAfterNs","sentBeforeNs","fromSafeListMessagesOptions","ListMessagesOptions","toSafeListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","fromSafeListConversationsOptions","ListConversationsOptions","toSafePermissionPolicySet","policySet","addAdminPolicy","addMemberPolicy","removeAdminPolicy","removeMemberPolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateGroupNamePolicy","updateMessageDisappearingPolicy","fromSafePermissionPolicySet","PermissionPolicySet","toSafeCreateGroupOptions","customPermissionPolicySet","description","groupDescription","imageUrlSquare","groupImageUrlSquare","messageDisappearingSettings","toSafeMessageDisappearingSettings","name","groupName","permissions","fromSafeCreateGroupOptions","CreateGroupOptions","GroupPermissionsOptions","CustomPolicy","fromSafeMessageDisappearingSettings","toSafeCreateDmOptions","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeGroupMember","member","consentState","installationIds","permissionLevel","fromSafeGroupMember","GroupMember","toSafeHmacKey","hmacKey","key","epoch","settings","fromNs","inNs","MessageDisappearingSettings","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","toSafeConversationDebugInfo","debugInfo","maybeForked","forkDetails","toSafeApiStats","stats","uploadKeyPackage","upload_key_package","fetchKeyPackage","fetch_key_package","sendGroupMessages","send_group_messages","sendWelcomeMessages","send_welcome_messages","queryGroupMessages","query_group_messages","queryWelcomeMessages","query_welcome_messages","subscribeMessages","subscribe_messages","subscribeWelcomes","subscribe_welcomes","toSafeIdentityStats","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","DecodedMessage","client","contentType","conversationId","encodedContent","GroupMessageKind","Application","MembershipChange","DeliveryStatus","Unpublished","Published","Failed","decodeContent","ClientNotInitializedError","Error","super","SignerUnavailableError","CodecNotFoundError","toString","InboxReassignError","AccountAlreadyAssociatedError","GroupNotFoundError","groupId","StreamNotFoundError","InvalidGroupMembershipChangeError","messageId","MissingContentTypeError","StreamFailedError","retryAttempts","StreamInvalidRetryAttemptsError","AsyncStream","isDone","pendingResolves","queue","onDone","onReturn","flush","length","nextResolve","shift","done","value","push","next","return","end","Symbol","asyncIterator","usableProperties","isUsableProperty","prop","includes","DEFAULT_RETRY_DELAY","DEFAULT_RETRY_ATTEMPTS","createStream","streamFunction","streamValueMutator","onEnd","onError","onRestart","onRetry","onValue","retryDelay","retryOnFail","asyncStream","streamCallback","mutatedValue","then","isPromise","catch","retry","retries","ms","setTimeout","streamCloser","startRetry","Proxy","target","receiver","Reflect","has","_target","ownKeys","getOwnPropertyDescriptor","enumerable","configurable","Conversation","syncData","createdAt","ns","Date","Number","members","sync","publishMessages","sendOptimistic","safeEncodedContent","encodeContent","ContentTypeText","send","messages","updateConsentState","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","pausedForVersion","getHmacKeys","Dm","peerInboxId","getDuplicateDms","Group","updateName","updateImageUrl","updateDescription","listAdmins","listSuperAdmins","updatePermission","permissionType","policy","metadataField","isAdmin","isSuperAdmin","addMembersByIdentifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","Conversations","syncAll","getConversationById","getMessageById","getDmByInboxId","list","filter","listGroups","listDms","newGroupOptimistic","newGroupWithIdentifiers","newGroup","newDmWithIdentifier","identifier","newDm","streamGroups","ConversationType","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","toSafeSigner","signer","signature","getIdentifier","chainId","getChainId","blockNumber","getBlockNumber","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","revokeInstallationsSignatureText","signatureRequestId","revokeInstallations","signatureText","signMessage","safeSigner","Client","codecs","conversations","debugInformation","installationId","installationIdBytes","isReady","preferences","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utils","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"+oCAeA,MAAMA,EAAeC,IACnBC,QAAQC,MAAMF,EAAMG,QAAQ,QAajBC,EACXC,GAEAC,GAEAC,GAAY,IAAIC,IAQhB,WAAAC,CAAYJ,EAAgBC,GAC1BI,MAAKL,EAAUA,EACfK,MAAKL,EAAQM,iBAAiB,UAAWD,KAAKE,eAC1CN,GACFI,MAAKL,EAAQM,iBAAiB,QAASZ,GAEzCW,MAAKJ,EAAiBA,CACxB,CASA,WAAAO,CACEC,EACAC,GAEA,MAAMC,EAAYC,IAClBP,MAAKL,EAAQa,YAAY,CACvBJ,SACAK,GAAIH,EACJD,SAQF,OANgB,IAAIK,SAAQ,CAACC,EAASC,KACpCZ,MAAKH,EAAUgB,IAAIP,EAAW,CAC5BK,QAASA,EACTC,UACA,GAON,CAOAV,cACEZ,IAKA,MAAMwB,EAAYxB,EAAMe,KACpBL,MAAKJ,GACPL,QAAQwB,IAAI,6BAA8BD,GAE5C,MAAME,EAAUhB,MAAKH,EAAUoB,IAAIH,EAAUL,IACzCO,IACFhB,MAAKH,EAAUqB,OAAOJ,EAAUL,IAC5B,UAAWK,EACbE,EAAQJ,OAAOE,EAAUtB,OAEzBwB,EAAQL,QAAQG,EAAUK,QAE9B,EAUFC,oBAAsB,CACpBC,EACAC,EACAC,KAEA,MAAMC,EACJlC,IAEA,MAAMwB,EAAYxB,EAAMe,KAExB,GAAIS,EAAUO,WAAaA,EAAU,CAEnC,GAAyB,gBAArBP,EAAUV,OAEZ,YADAmB,GAASE,WAGP,UAAWX,EACbQ,EAASR,EAAUtB,WAAOkC,GAE1BJ,EAAS,KAAMR,EAAUK,OAE7B,GAIF,OAFAnB,MAAKL,EAAQM,iBAAiB,UAAWuB,GAElCG,gBACC3B,KAAKG,YAAY,YAAa,CAClCkB,aAEFrB,MAAKL,EAAQiC,oBAAoB,UAAWJ,EAAc,CAC3D,EAMH,KAAAK,GACE7B,MAAKL,EAAQiC,oBAAoB,UAAW5B,KAAKE,eAC7CF,MAAKJ,GACPI,MAAKL,EAAQiC,oBAAoB,QAASvC,GAE5CW,MAAKL,EAAQmC,WACf,ECvHK,MAAMC,EACXC,GAEA,IAAIC,EAAc,CAChBC,YAAaF,EAAcE,YAC3BC,OAAQH,EAAcG,OACtBC,aAAcJ,EAAcI,aAC5BC,aAAcL,EAAcK,eAGnBC,EACXN,GAEA,IAAIO,EACFP,EAAcE,YACdF,EAAcG,OACdH,EAAcI,aACdJ,EAAcK,cAULG,EACXR,IAA4B,CAE5BE,YAAaF,EAAcE,YAC3BC,OAAQH,EAAcG,OACtBC,aAAcJ,EAAcI,aAC5BC,aAAcL,EAAcK,eAGjBI,EACXT,GAEA,IAAIC,EAAc,CAChBC,YAAaF,EAAcE,YAC3BC,OAAQH,EAAcG,OACtBC,aAAcJ,EAAcI,aAC5BC,aAAcL,EAAcK,eAGnBK,EACXC,IAA2B,CAG3BC,KAAMb,EAAgBY,EAAQC,MAC9BC,WAAYC,OAAOC,YAAYJ,EAAQE,YACvCG,SAAUL,EAAQK,SAClBC,YAAaN,EAAQM,YACrBN,QAASA,EAAQA,UAGNO,EACXP,GAEA,IAAIQ,EACFb,EAAkBK,EAAQC,MAC1B,IAAI9C,IAAIgD,OAAOM,QAAQT,EAAQE,aAC/BF,EAAQK,SACRL,EAAQM,YACRN,EAAQA,SAWCU,EACXV,IAAuB,CAEvBC,KAAMJ,EAAoBG,EAAQC,MAClCC,WAAYF,EAAQE,WACpBG,SAAUL,EAAQK,SAClBC,YAAaN,EAAQM,YACrBN,QAASA,EAAQA,UAGNW,EACXX,IAA2B,CAE3BC,KAAMH,EAAsBE,EAAQC,MACpCC,WAAYF,EAAQE,WACpBG,SAAUL,EAAQK,SAClBC,YAAaN,EAAQM,YACrBN,QAASA,EAAQA,UAaNY,EAAiB9D,IAAgB,CAC5CkD,QAASU,EAAqBX,EAAiBjD,EAAQkD,UACvDa,QAAS/D,EAAQ+D,QACjBC,eAAgBhE,EAAQgE,eACxBhD,GAAIhB,EAAQgB,GACZiD,KAAMjE,EAAQiE,KACdC,cAAelE,EAAQkE,cACvBC,SAAUnE,EAAQmE,WAYPC,EACXtC,IAA4B,CAE5BuC,aAAcvC,EAAQuC,aACtBL,eAAgBlC,EAAQkC,eACxBM,UAAWxC,EAAQwC,UACnBC,MAAOzC,EAAQyC,MACfC,YAAa1C,EAAQ0C,YACrBC,aAAc3C,EAAQ2C,eAGXC,EACX5C,GAEA,IAAI6C,EACF7C,EAAQ2C,aACR3C,EAAQ0C,YACR1C,EAAQyC,MACRzC,EAAQkC,eACRlC,EAAQwC,UACRxC,EAAQuC,cAYCO,EACX9C,IAAiC,CAEjC+C,cAAe/C,EAAQ+C,cACvBC,iBAAkBhD,EAAQgD,iBAC1BC,eAAgBjD,EAAQiD,eACxBC,gBAAiBlD,EAAQkD,gBACzBC,oBAAqBnD,EAAQmD,oBAC7BV,MAAOzC,EAAQyC,QAGJW,EACXpD,GAEA,IAAIqD,EACFrD,EAAQ+C,cACR/C,EAAQgD,iBACRhD,EAAQiD,eACRjD,EAAQkD,gBACRlD,EAAQmD,sBAAuB,EAC/BnD,EAAQyC,OAcCa,EACXC,IAA8B,CAE9BC,eAAgBD,EAAUC,eAC1BC,gBAAiBF,EAAUE,gBAC3BC,kBAAmBH,EAAUG,kBAC7BC,mBAAoBJ,EAAUI,mBAC9BC,6BAA8BL,EAAUK,6BACxCC,gCAAiCN,EAAUM,gCAC3CC,sBAAuBP,EAAUO,sBACjCC,gCAAiCR,EAAUQ,kCAGhCC,EACXT,GAEA,IAAIU,EACFV,EAAUE,gBACVF,EAAUI,mBACVJ,EAAUC,eACVD,EAAUG,kBACVH,EAAUO,sBACVP,EAAUK,6BACVL,EAAUM,gCACVN,EAAUQ,iCAYDG,EACXlE,IAA2B,CAE3BmE,0BAA2BnE,EAAQmE,0BACnCC,YAAapE,EAAQqE,iBACrBC,eAAgBtE,EAAQuE,oBACxBC,4BAA6BxE,EAAQwE,4BACjCC,EAAkCzE,EAAQwE,kCAC1CrE,EACJuE,KAAM1E,EAAQ2E,UACdC,YAAa5E,EAAQ4E,cAGVC,EACX7E,GAEA,IAAI8E,EACF9E,EAAQ4E,YACR5E,EAAQ0E,KACR1E,EAAQsE,eACRtE,EAAQoE,YAERpE,EAAQmE,2BACRnE,EAAQ4E,cAAgBG,EAAwBC,aAC5ChB,EAA4BhE,EAAQmE,gCACpChE,EACJH,EAAQwE,4BACJS,EAAoCjF,EAAQwE,kCAC5CrE,GAOK+E,EACXlF,IAAwB,CAExBwE,4BAA6BxE,EAAQwE,4BACjCC,EAAkCzE,EAAQwE,kCAC1CrE,IAGOgF,EACXnF,GAEA,IAAIoF,EACFpF,EAAQwE,4BACJS,EAAoCjF,EAAQwE,kCAC5CrE,GAgCKkF,EAAqBjF,MAChCkF,IAEA,MAAMpG,EAAKoG,EAAapG,GAClBwF,EAAOY,EAAaZ,KACpBa,EAAWD,EAAaC,SACxBnB,EAAckB,EAAalB,YAC3BQ,EAAcU,EAAaV,YAC3BY,EAAWF,EAAaE,SACxBC,EAAiBH,EAAaG,eAC9BC,QAAiBJ,EAAaI,WAC9BC,EAASL,EAAaK,OACtBC,EAAcN,EAAaM,YAC3BC,EAAcP,EAAaO,YAC3BC,EAAalB,EAAYkB,WACzBvC,EAAYqB,EAAYrB,UAC9B,MAAO,CACLrE,KACAwF,OACAa,WACAnB,cACAQ,YAAa,CACXkB,aACAvC,UAAW,CACTC,eAAgBD,EAAUC,eAC1BC,gBAAiBF,EAAUE,gBAC3BC,kBAAmBH,EAAUG,kBAC7BC,mBAAoBJ,EAAUI,mBAC9BC,6BAA8BL,EAAUK,6BACxCC,gCACEN,EAAUM,gCACZC,sBAAuBP,EAAUO,sBACjCC,gCACER,EAAUQ,kCAGhByB,WACAC,iBACAC,WACAC,SACAC,cACAC,cACD,EASUE,EACXC,IAA0B,CAE1BC,MAAOD,EAAaC,MACpBC,kBAAmBF,EAAaE,kBAChChH,GAAI8G,EAAa9G,KAUNiH,EAAoBC,IAAsB,CACrDC,YAAaD,EAAWE,mBACxBC,QAASH,EAAWG,QACpBC,cAAeJ,EAAWI,cAAcC,IAAIV,GAC5CW,mBAAoBN,EAAWM,qBASpBC,EAAiBC,IAAgB,CAC5CC,OAAQD,EAAQC,OAChBC,WAAYF,EAAQE,WACpBC,MAAOH,EAAQG,QAGJC,EAAmBJ,GAC9B,IAAIK,EAAQL,EAAQE,WAAYF,EAAQG,MAAOH,EAAQC,QAU5CK,EAAqBC,IAAmB,CACnDb,mBAAoBa,EAAOb,mBAC3Bc,aAAcD,EAAOC,aACrBb,QAASY,EAAOZ,QAChBc,gBAAiBF,EAAOE,gBACxBC,gBAAiBH,EAAOG,kBAGbC,EAAuBJ,GAClC,IAAIK,EACFL,EAAOZ,QACPY,EAAOb,mBACPa,EAAOE,gBACPF,EAAOG,gBACPH,EAAOC,cAQEK,EAAiBC,IAAgB,CAC5CC,IAAKD,EAAQC,IACbC,MAAOF,EAAQE,QAWJnD,EACXoD,IAAqC,CAErCC,OAAQD,EAASC,OACjBC,KAAMF,EAASE,OAGJ9C,EACX4C,GAEA,IAAIG,EAA4BH,EAASC,OAAQD,EAASE,MAU/CE,EACXC,IAAwB,CAExBC,SAAUD,EAAOC,SACb,CACEC,UAAWF,EAAOC,SAASE,WAC3BC,SAAUJ,EAAOC,SAASI,gBAE5BpI,EACJqI,gBAAiBN,EAAOM,kBASbC,EACXC,IAAgC,CAEhCd,MAAOc,EAAUd,MACjBe,YAAaD,EAAUC,YACvBC,YAAaF,EAAUE,cAcZC,EAAkBC,IAAe,CAC5CC,iBAAkBD,EAAME,mBACxBC,gBAAiBH,EAAMI,kBACvBC,kBAAmBL,EAAMM,oBACzBC,oBAAqBP,EAAMQ,sBAC3BC,mBAAoBT,EAAMU,qBAC1BC,qBAAsBX,EAAMY,uBAC5BC,kBAAmBb,EAAMc,mBACzBC,kBAAmBf,EAAMgB,qBAUdC,GACXjB,IAAoB,CAEpBkB,qBAAsBlB,EAAMmB,wBAC5BC,YAAapB,EAAMqB,cACnBC,sBAAuBtB,EAAMuB,wBAC7BC,mCACExB,EAAMyB,+CClhBGC,GACXC,GACArJ,QACAsJ,YACAC,eACAzI,eACAT,SACAC,YACAxC,GACAiD,KACAb,WACAsJ,eACAxI,cACAC,SAEA,WAAA7D,CAAYiM,EAA8BvM,GAQxC,OAPAO,MAAKgM,EAAUA,EACfhM,KAAKS,GAAKhB,EAAQgB,GAClBT,KAAK4D,SAAWnE,EAAQmE,SACxB5D,KAAKkM,eAAiBzM,EAAQ+D,QAC9BxD,KAAK2D,cAAgBlE,EAAQkE,cAC7B3D,KAAKmM,eAAiB1M,EAAQkD,QAEtBlD,EAAQiE,MACd,KAAK0I,EAAiBC,YACpBrM,KAAK0D,KAAO,cACZ,MACF,KAAK0I,EAAiBE,iBACpBtM,KAAK0D,KAAO,oBAKhB,OAAQjE,EAAQgE,gBACd,KAAK8I,EAAeC,YAClBxM,KAAKyD,eAAiB,cACtB,MACF,KAAK8I,EAAeE,UAClBzM,KAAKyD,eAAiB,YACtB,MACF,KAAK8I,EAAeG,OAClB1M,KAAKyD,eAAiB,SAK1BzD,KAAKiM,YAAcxJ,EAAsBhD,EAAQkD,QAAQC,MACzD5C,KAAK6C,WAAa,IAAI/C,IAAIgD,OAAOM,QAAQ3D,EAAQkD,QAAQE,aACzD7C,KAAKgD,SAAWvD,EAAQkD,QAAQK,SAChChD,KAAKiD,YAAcxD,EAAQkD,QAAQM,YAEnC,IACEjD,KAAK2C,QAAU3C,MAAKgM,EAAQW,cAC1BlN,EACAO,KAAKiM,YAET,CAAE,MACAjM,KAAK2C,aAAUjB,CACjB,CACF,ECrFI,MAAOkL,WAAkCC,MAC7C,WAAA9M,GACE+M,MACE,+EAEJ,EAGI,MAAOC,WAA+BF,MAC1C,WAAA9M,GACE+M,MACE,yEAEJ,EAGI,MAAOE,WAA2BH,MACtC,WAAA9M,CAAYkM,GACVa,MAAM,wBAAwBb,EAAYgB,2BAC5C,EAGI,MAAOC,WAA2BL,MACtC,WAAA9M,GACE+M,MACE,iFAEJ,EAGI,MAAOK,WAAsCN,MACjD,WAAA9M,CAAY+H,GACVgF,MAAM,yCAAyChF,IACjD,EAGI,MAAOsF,WAA2BP,MACtC,WAAA9M,CAAYsN,GACVP,MAAM,UAAUO,eAClB,EAGI,MAAOC,WAA4BT,MACvC,WAAA9M,CAAYsB,GACVyL,MAAM,WAAWzL,eACnB,EAGI,MAAOkM,WAA0CV,MACrD,WAAA9M,CAAYyN,GACVV,MAAM,+CAA+CU,IACvD,EAGI,MAAOC,WAAgCZ,MAC3C,WAAA9M,GACE+M,MAAM,gEACR,EAGI,MAAOY,WAA0Bb,MACrC,WAAA9M,CAAY4N,GAEVb,MAAM,0BAA0Ba,KADlB,QAAyB,IAAlBA,EAAsB,IAAM,MAEnD,EAGI,MAAOC,WAAwCf,MACnD,WAAA9M,GACE+M,MAAM,+CACR,QC3CWe,GACXC,QAAS,EACTC,GAAiD,GACjDC,GACAC,OACAC,SAEA,WAAAnO,GACEC,MAAKgO,EAAS,GACdhO,KAAK8N,QAAS,CAChB,CAEA,KAAAK,GACE,KAAOnO,MAAK+N,EAAiBK,OAAS,GAAG,CACvC,MAAMC,EAAcrO,MAAK+N,EAAiBO,QACtCD,GACFA,EAAY,CAAEE,MAAM,EAAMC,WAAO9M,GAErC,CACF,CAEA,IAAA6M,GACEvO,KAAKmO,QACLnO,MAAKgO,EAAS,GACdhO,MAAK+N,EAAmB,GACxB/N,KAAK8N,QAAS,EACd9N,KAAKiO,UACP,CAEAQ,KAAQD,IACN,GAAIxO,KAAK8N,OACP,OAGF,MAAMO,EAAcrO,MAAK+N,EAAiBO,QACtCD,EACFA,EAAY,CACVE,MAAM,EACNC,UAGFxO,MAAKgO,EAAOS,KAAKD,EACnB,EAGFE,KAAO,IACD1O,KAAK8N,OACApN,QAAQC,QAAQ,CAAE4N,MAAM,EAAMC,WAAO9M,IAG1C1B,MAAKgO,EAAOI,OAAS,EAChB1N,QAAQC,QAAQ,CACrB4N,MAAM,EACNC,MAAOxO,MAAKgO,EAAOM,UAIhB,IAAI5N,SAASC,IAClBX,MAAK+N,EAAiBU,KAAK9N,EAAQ,IAIvCgO,OAAS,KACP3O,KAAKkO,aACLlO,KAAKuO,OAEE7N,QAAQC,QAAQ,CACrB4N,MAAM,EACNC,WAAO9M,KAIXkN,IAAM,IAAM5O,KAAK2O,SAEjB,CAACE,OAAOC,iBACN,OAAO9O,IACT,EAUF,MAAM+O,GAAmB,CACvB,MACA,SACA,OACA,SACAF,OAAOC,eAEHE,GACJC,GAEOF,GAAiBG,SAASD,GC1HnC,MAWaE,GAAsB,IACtBC,GAAyB,EAyEzBC,GAAe1N,MAC1B2N,EACAC,EACAhO,KAEA,MAAMiO,MACJA,EAAKC,QACLA,EAAOhO,OACPA,EAAMiO,UACNA,EAASC,QACTA,EAAOC,QACPA,EAAOjC,cACPA,EAAgByB,GAAsBS,WACtCA,EAAaV,GAAmBW,YAChCA,GAAc,GACZvO,GAAW,CAAA,EAEf,GAAIuO,GAAenC,EAAgB,EACjC,MAAM,IAAIC,GAGZ,MAAMmC,EAAc,IAAIlC,GAClBmC,EAAoC,CAACxQ,EAAOgP,KAEhD,GAAIhP,EACFiQ,IAAUjQ,QAIZ,QAAckC,IAAV8M,EACF,IAEE,GAAIe,EAAoB,CACtB,MAAMU,EAAeV,EAAmBf,GAtHhC,CAAcA,KAE1BA,IACgB,iBAAVA,GAAuC,mBAAVA,IACrC,SAAUA,GACY,mBAAfA,EAAM0B,KAkHHC,CAAUF,GACPA,EACFC,MAAMD,IACLF,EAAYtB,KAAKwB,GACjBL,IAAUK,EAAa,IAExBG,OAAO5Q,IACNiQ,IAAUjQ,EAAe,KAG7BuQ,EAAYtB,KAAKwB,GACjBL,IAAUK,GAEd,MACEF,EAAYtB,KAAKD,GACjBoB,IAAUpB,EAEd,CAAE,MAAOhP,GACPiQ,IAAUjQ,EACZ,CACF,EAEI6Q,EAAQ1O,MAAO2O,EAAkB3C,KACrC,IAGE,GAAgB,IAAZ2C,EAEF,MADKP,EAAYnB,MACX,IAAIlB,GAAkBC,SA1ItB4C,EA8IGV,EA9IY,IAAInP,SAASC,GAAY6P,WAAW7P,EAAS4P,MAgJpEZ,IAAUhC,EAAgB2C,EAAU,EAAG3C,GAGvC,MAAM8C,QAAqBnB,EAAeU,GAAgB,KAExDvO,MACK4O,GAAO,IAIdN,EAAY9B,OAAS,KACnBwC,IACAjB,KAAS,EAIXE,KACF,CAAE,MAAOlQ,GACPiQ,IAAUjQ,GAEL6Q,EAAMC,EAAU,EACvB,CArKS,IAACC,CAqKV,EAEIG,EAAa,KAEjB,IAAIZ,EAKF,MAFKC,EAAYnB,MAEX,IAAIlB,GAAkB,GAJvB2C,GAKP,EAGF,IAEE,MAAMI,QAAqBnB,EAAeU,GAAgB,KAExDvO,MACAiP,GAAY,IAGdX,EAAY9B,OAAS,KACnBwC,IACAjB,KAAS,CAEb,CAAE,MAAOhQ,GACPiQ,IAAUjQ,GACVkR,GACF,CAGA,ODlDO,IAAIC,MCkDmBZ,EDlDL,CACvB,GAAA9O,CAAI2P,EAAQ3B,EAAM4B,GAChB,GAAI7B,GAAiBC,GACnB,OAAO6B,QAAQ7P,IAAI2P,EAAQ3B,EAAM4B,EAErC,EAEAhQ,IAAG,KACM,EAGTkQ,IAAG,CAACC,EAAS/B,IACJD,GAAiBC,GAG1BgC,QAAO,IACElC,GAGT,wBAAAmC,CAAyBN,EAAQ3B,GAC/B,GAAID,GAAiBC,GACnB,MAAO,CACLkC,YAAY,EACZC,cAAc,EACd5C,MAAOsC,QAAQ7P,IAAI2P,EAAQ3B,GAIjC,GCsBwC,QCxL/BoC,GACXrK,GACAgF,GACA5E,GACA3G,GACAsG,GACAE,GASA,WAAAlH,CACEiM,EACAvL,EACAJ,GAEAL,MAAKgM,EAAUA,EACfhM,MAAKS,EAAMA,EACXT,MAAKsR,EAAUjR,EACjB,CAEA,EAAAiR,CAAUjR,GACRL,MAAK+G,EAAY1G,GAAM0G,eAAYrF,EACnC1B,MAAKgH,EAAkB3G,GAAM2G,gBAAkB,GAC/ChH,MAAKiH,EAAY5G,GAAM4G,eAAYvF,EACnC1B,MAAKoH,EAAe/G,GAAM+G,kBAAe1F,CAC3C,CAEA,MAAIjB,GACF,OAAOT,MAAKS,CACd,CAEA,YAAIsG,GACF,OAAO/G,MAAK+G,CACd,CAEA,kBAAIC,GACF,OAAOhH,MAAKgH,CACd,CAEA,eAAII,GACF,OAAOpH,MAAKoH,CACd,CAEA,aAAImK,GACF,OAAOvR,MAAKoH,GCzESoK,EDyEexR,MAAKoH,ECxEpC,IAAIqK,KAAKC,OAAOF,EAAK,iBDwE+B9P,ECzEvD,IAAmB8P,CD0EvB,CAEA,YAAIvK,GACF,OAAOjH,MAAKiH,CACd,CAOA,aAAM0K,GACJ,OAAO3R,MAAKgM,EAAQ7L,YAAY,uBAAwB,CACtDM,GAAIT,MAAKS,GAEb,CAOA,UAAMmR,GACJ,MAAMvR,QAAaL,MAAKgM,EAAQ7L,YAAY,oBAAqB,CAC/DM,GAAIT,MAAKS,IAGX,OADAT,MAAKsR,EAAUjR,GACRA,CACT,CAOA,qBAAMwR,GACJ,OAAO7R,MAAKgM,EAAQ7L,YAAY,+BAAgC,CAC9DM,GAAIT,MAAKS,GAEb,CAUA,oBAAMqR,CAAenP,EAAuBsJ,GAC1C,GAAuB,iBAAZtJ,IAAyBsJ,EAClC,MAAM,IAAIwB,GAGZ,MAAMsE,EACe,iBAAZpP,EACH3C,MAAKgM,EAAQgG,cAAcrP,EAASsJ,GAAegG,GAEnDjS,MAAKgM,EAAQgG,cAAcrP,EAASsJ,GAE1C,OAAOjM,MAAKgM,EAAQ7L,YAAY,8BAA+B,CAC7DM,GAAIT,MAAKS,EACTkC,QAASoP,GAEb,CAUA,UAAMG,CAAKvP,EAAuBsJ,GAChC,GAAuB,iBAAZtJ,IAAyBsJ,EAClC,MAAM,IAAIwB,GAGZ,MAAMsE,EACe,iBAAZpP,EACH3C,MAAKgM,EAAQgG,cAAcrP,EAASsJ,GAAegG,GAEnDjS,MAAKgM,EAAQgG,cAAcrP,EAASsJ,GAE1C,OAAOjM,MAAKgM,EAAQ7L,YAAY,oBAAqB,CACnDM,GAAIT,MAAKS,EACTkC,QAASoP,GAEb,CAQA,cAAMI,CAAS5Q,GAMb,aALuBvB,MAAKgM,EAAQ7L,YAAY,wBAAyB,CACvEM,GAAIT,MAAKS,EACTc,aAGcyG,KAAKvI,GAAY,IAAIsM,GAAe/L,MAAKgM,EAASvM,IACpE,CAOA,kBAAMkJ,GACJ,OAAO3I,MAAKgM,EAAQ7L,YAAY,4BAA6B,CAC3DM,GAAIT,MAAKS,GAEb,CAQA,wBAAM2R,CAAmB9J,GACvB,OAAOtI,MAAKgM,EAAQ7L,YAAY,kCAAmC,CACjEM,GAAIT,MAAKS,EACT6H,SAEJ,CAOA,iCAAMvC,GACJ,OAAO/F,MAAKgM,EAAQ7L,YAClB,2CACA,CACEM,GAAIT,MAAKS,GAGf,CASA,uCAAM4R,CAAkChJ,EAAgBC,GACtD,OAAOtJ,MAAKgM,EAAQ7L,YAClB,iDACA,CACEM,GAAIT,MAAKS,EACT4I,SACAC,QAGN,CAOA,uCAAMgJ,GACJ,OAAOtS,MAAKgM,EAAQ7L,YAClB,iDACA,CACEM,GAAIT,MAAKS,GAGf,CAOA,kCAAM8R,GACJ,OAAOvS,MAAKgM,EAAQ7L,YAClB,4CACA,CACEM,GAAIT,MAAKS,GAGf,CAQA,YAAM+R,CACJjR,GA2BA,OAAO8N,IAzBQ1N,MACbL,EACAG,KAEA,MAAMJ,EAAWd,IASjB,aAPMP,KAAK4R,aAEL5R,MAAKgM,EAAQ7L,YAAY,sBAAuB,CACpDkN,QAASrN,MAAKS,EACdY,aAGKrB,MAAKgM,EAAQ5K,oBAGlBC,EAAUC,EAAU,IACjBC,EACHE,UACA,IAEoB+M,GACf,IAAIzC,GAAe/L,MAAKgM,EAASwC,IAGEjN,EAC9C,CAEA,sBAAMkR,GACJ,OAAOzS,MAAKgM,EAAQ7L,YAAY,gCAAiC,CAC/DM,GAAIT,MAAKS,GAEb,CAOA,iBAAMiS,GACJ,OAAO1S,MAAKgM,EAAQ7L,YAAY,2BAA4B,CAC1DM,GAAIT,MAAKS,GAEb,CAOA,eAAMwJ,GACJ,OAAOjK,MAAKgM,EAAQ7L,YAAY,yBAA0B,CACxDM,GAAIT,MAAKS,GAEb,EE9TI,MAAOkS,WAAmCtB,GAC9CrF,GACAvL,GASA,WAAAV,CACEiM,EACAvL,EACAJ,GAEAyM,MAAMd,EAAQvL,EAAIJ,GAClBL,MAAKgM,EAAUA,EACfhM,MAAKS,EAAMA,CACb,CAOA,iBAAMmS,GACJ,OAAO5S,MAAKgM,EAAQ7L,YAAY,iBAAkB,CAChDM,GAAIT,MAAKS,GAEb,CAEA,qBAAMoS,GACJ,OAAO7S,MAAKgM,EAAQ7L,YAAY,qBAAsB,CACpDM,GAAIT,MAAKS,GAEb,EC9BI,MAAOqS,WAAsCzB,GACjDnK,GAAsC,GACtC8E,GACArG,GACAlF,GACAqG,GACAb,GACAkB,GAAgD,GAEhD,EAAAmK,CAAUjR,GACRL,MAAKiG,EAAQ5F,GAAM4F,MAAQ,GAC3BjG,MAAK8G,EAAYzG,GAAMyG,UAAY,GACnC9G,MAAK2F,EAAetF,GAAMsF,aAAe,GACzC3F,MAAKkH,EAAU7G,GAAM6G,QAAU,GAC/BlH,MAAKmH,EAAe9G,GAAM8G,aAAe,EAC3C,CASA,WAAApH,CACEiM,EACAvL,EACAJ,GAEAyM,MAAMd,EAAQvL,EAAIJ,GAClBL,MAAKgM,EAAUA,EACfhM,MAAKS,EAAMA,EACXT,MAAKsR,EAAUjR,EACjB,CAOA,UAAMuR,GACJ,MAAMvR,QAAayM,MAAM8E,OAEzB,OADA5R,MAAKsR,EAAUjR,GACRA,CACT,CAKA,QAAI4F,GACF,OAAOjG,MAAKiG,CACd,CAOA,gBAAM8M,CAAW9M,SACTjG,MAAKgM,EAAQ7L,YAAY,mBAAoB,CACjDM,GAAIT,MAAKS,EACTwF,SAEFjG,MAAKiG,EAAQA,CACf,CAKA,YAAIa,GACF,OAAO9G,MAAK8G,CACd,CAOA,oBAAMkM,CAAelM,SACb9G,MAAKgM,EAAQ7L,YAAY,uBAAwB,CACrDM,GAAIT,MAAKS,EACTqG,aAEF9G,MAAK8G,EAAYA,CACnB,CAKA,eAAInB,GACF,OAAO3F,MAAK2F,CACd,CAOA,uBAAMsN,CAAkBtN,SAChB3F,MAAKgM,EAAQ7L,YAAY,0BAA2B,CACxDM,GAAIT,MAAKS,EACTkF,gBAEF3F,MAAK2F,EAAeA,CACtB,CAKA,UAAIuB,GACF,OAAOlH,MAAKkH,CACd,CAKA,eAAIC,GACF,OAAOnH,MAAKmH,CACd,CAOA,gBAAM+L,GACJ,MAAMhM,QAAelH,MAAKgM,EAAQ7L,YAAY,mBAAoB,CAChEM,GAAIT,MAAKS,IAGX,OADAT,MAAKkH,EAAUA,EACRA,CACT,CAOA,qBAAMiM,GACJ,MAAMhM,QAAoBnH,MAAKgM,EAAQ7L,YACrC,wBACA,CACEM,GAAIT,MAAKS,IAIb,OADAT,MAAKmH,EAAeA,EACbA,CACT,CAOA,iBAAMhB,GACJ,OAAOnG,MAAKgM,EAAQ7L,YAAY,oBAAqB,CACnDM,GAAIT,MAAKS,GAEb,CASA,sBAAM2S,CACJC,EACAC,EACAC,GAEA,OAAOvT,MAAKgM,EAAQ7L,YAAY,yBAA0B,CACxDM,GAAIT,MAAKS,EACT4S,iBACAC,SACAC,iBAEJ,CAQA,aAAMC,CAAQ1L,GAEZ,aADqB9H,KAAKkT,cACZhE,SAASpH,EACzB,CAQA,kBAAM2L,CAAa3L,GAEjB,aAD0B9H,KAAKmT,mBACZjE,SAASpH,EAC9B,CAOA,6BAAM4L,CAAwB9L,GAC5B,OAAO5H,MAAKgM,EAAQ7L,YAAY,gCAAiC,CAC/DM,GAAIT,MAAKS,EACTmH,eAEJ,CAOA,gBAAM+L,CAAWC,GACf,OAAO5T,MAAKgM,EAAQ7L,YAAY,mBAAoB,CAClDM,GAAIT,MAAKS,EACTmT,YAEJ,CAOA,gCAAMC,CAA2BjM,GAC/B,OAAO5H,MAAKgM,EAAQ7L,YAAY,mCAAoC,CAClEM,GAAIT,MAAKS,EACTmH,eAEJ,CAOA,mBAAMkM,CAAcF,GAClB,OAAO5T,MAAKgM,EAAQ7L,YAAY,sBAAuB,CACrDM,GAAIT,MAAKS,EACTmT,YAEJ,CAOA,cAAMG,CAASjM,GACb,OAAO9H,MAAKgM,EAAQ7L,YAAY,iBAAkB,CAChDM,GAAIT,MAAKS,EACTqH,WAEJ,CAOA,iBAAMkM,CAAYlM,GAChB,OAAO9H,MAAKgM,EAAQ7L,YAAY,oBAAqB,CACnDM,GAAIT,MAAKS,EACTqH,WAEJ,CAOA,mBAAMmM,CAAcnM,GAClB,OAAO9H,MAAKgM,EAAQ7L,YAAY,sBAAuB,CACrDM,GAAIT,MAAKS,EACTqH,WAEJ,CAOA,sBAAMoM,CAAiBpM,GACrB,OAAO9H,MAAKgM,EAAQ7L,YAAY,yBAA0B,CACxDM,GAAIT,MAAKS,EACTqH,WAEJ,QC3RWqM,GACXnI,GAOA,WAAAjM,CAAYiM,GACVhM,MAAKgM,EAAUA,CACjB,CAOA,UAAM4F,GACJ,OAAO5R,MAAKgM,EAAQ7L,YAAY,0BAAsBuB,EACxD,CAUA,aAAM0S,CAAQ9P,GACZ,OAAOtE,MAAKgM,EAAQ7L,YAAY,wBAAyB,CACvDmE,iBAEJ,CAQA,yBAAM+P,CAAoB5T,GACxB,MAAMJ,QAAaL,MAAKgM,EAAQ7L,YAC9B,oCACA,CACEM,OAGJ,GAAIJ,EACF,MAA0C,UAAnCA,EAAK4G,SAAS1C,iBACjB,IAAIuO,GAAM9S,MAAKgM,EAAS3L,EAAKI,GAAIJ,GACjC,IAAIsS,GAAG3S,MAAKgM,EAAS3L,EAAKI,GAAIJ,EAGtC,CAQA,oBAAMiU,CAAe7T,GACnB,MAAMJ,QAAaL,MAAKgM,EAAQ7L,YAC9B,+BACA,CACEM,OAGJ,OAAOJ,EAAO,IAAI0L,GAAe/L,MAAKgM,EAAS3L,QAAQqB,CACzD,CAQA,oBAAM6S,CAAezM,GACnB,MAAMzH,QAAaL,MAAKgM,EAAQ7L,YAC9B,+BACA,CACE2H,YAGJ,OAAOzH,EAAO,IAAIsS,GAAG3S,MAAKgM,EAAS3L,EAAKI,GAAIJ,QAAQqB,CACtD,CAQA,UAAM8S,CAAKjT,GAKT,aAJ4BvB,MAAKgM,EAAQ7L,YAAY,qBAAsB,CACzEoB,aAICyG,KAAKnB,IACJ,OAAQA,EAAaI,SAAS1C,kBAC5B,IAAK,KACH,OAAO,IAAIoO,GAAG3S,MAAKgM,EAASnF,EAAapG,GAAIoG,GAC/C,IAAK,QACH,OAAO,IAAIiM,GAAM9S,MAAKgM,EAASnF,EAAapG,GAAIoG,GAClD,QACE,WAGL4N,QAAQ5N,QAAkCnF,IAAjBmF,GAC9B,CAQA,gBAAM6N,CACJnT,GASA,aAP4BvB,MAAKgM,EAAQ7L,YACvC,2BACA,CACEoB,aAIiByG,KAClBnB,GAAiB,IAAIiM,GAAM9S,MAAKgM,EAASnF,EAAapG,GAAIoG,IAE/D,CAQA,aAAM8N,CACJpT,GASA,aAP4BvB,MAAKgM,EAAQ7L,YACvC,wBACA,CACEoB,aAIiByG,KAClBnB,GAAiB,IAAI8L,GAAG3S,MAAKgM,EAASnF,EAAapG,GAAIoG,IAE5D,CAQA,wBAAM+N,CAAmBrT,GACvB,MAAMsF,QAAqB7G,MAAKgM,EAAQ7L,YACtC,mCACA,CACEoB,YAIJ,OAAO,IAAIuR,GAAM9S,MAAKgM,EAASnF,EAAapG,GAAIoG,EAClD,CASA,6BAAMgO,CACJjN,EACArG,GAEA,MAAMsF,QAAqB7G,MAAKgM,EAAQ7L,YACtC,wCACA,CACEyH,cACArG,YAIJ,OAAO,IAAIuR,GAAM9S,MAAKgM,EAASnF,EAAapG,GAAIoG,EAClD,CASA,cAAMiO,CAASlB,EAAoBrS,GACjC,MAAMsF,QAAqB7G,MAAKgM,EAAQ7L,YACtC,yBACA,CACEyT,WACArS,YAIJ,OAAO,IAAIuR,GAAM9S,MAAKgM,EAASnF,EAAapG,GAAIoG,EAClD,CASA,yBAAMkO,CACJC,EACAzT,GAEA,MAAMsF,QAAqB7G,MAAKgM,EAAQ7L,YACtC,oCACA,CACE6U,aACAzT,YAIJ,OAAO,IAAIoR,GAAG3S,MAAKgM,EAASnF,EAAapG,GAAIoG,EAC/C,CASA,WAAMoO,CAAMnN,EAAiBvG,GAC3B,MAAMsF,QAAqB7G,MAAKgM,EAAQ7L,YAAY,sBAAuB,CACzE2H,UACAvG,YAGF,OAAO,IAAIoR,GAAG3S,MAAKgM,EAASnF,EAAapG,GAAIoG,EAC/C,CAOA,iBAAM6L,GACJ,OAAO1S,MAAKgM,EAAQ7L,YAAY,iCAA6BuB,EAC/D,CASA,YAAM8Q,CAKJjR,GAgCA,OAAO8N,IA5BQ1N,MACbL,EACAG,KAEA,MAAMJ,EAAWd,IASjB,aAPMP,KAAK4R,aAEL5R,MAAKgM,EAAQ7L,YAAY,uBAAwB,CACrDkB,WACAkD,iBAAkBhD,GAASgD,mBAGtBvE,MAAKgM,EAAQ5K,oBAClBC,EACAC,EACA,IACKC,EACHE,UAEH,IAE0B+M,GACgB,UAApCA,EAAMvH,SAAS1C,iBACjB,IAAIuO,GAAM9S,MAAKgM,EAASwC,EAAM/N,GAAI+N,GAClC,IAAImE,GAAG3S,MAAKgM,EAASwC,EAAM/N,GAAI+N,IAGWjN,EACnD,CAQA,kBAAM2T,CACJ3T,GAEA,OAAOvB,KAAKwS,OAAO,IACdjR,EACHgD,iBAAkB4Q,EAAiBrC,OAEvC,CAQA,eAAMsC,CAAU7T,GACd,OAAOvB,KAAKwS,OAAO,IACdjR,EACHgD,iBAAkB4Q,EAAiBxC,IAEvC,CAUA,uBAAM0C,CACJ9T,GA+BA,OAAO8N,IA1BQ1N,MACbL,EACAG,KAEA,MAAMJ,EAAWd,IAUjB,aARMP,KAAK4R,aAEL5R,MAAKgM,EAAQ7L,YAAY,kCAAmC,CAChEkB,WACAkD,iBAAkBhD,GAASgD,iBAC3BD,cAAe/C,GAAS+C,gBAGnBtE,MAAKgM,EAAQ5K,oBAGlBC,EAAUC,EAAU,IACjBC,EACHE,UACA,IAEoB+M,GACf,IAAIzC,GAAe/L,MAAKgM,EAASwC,IAGEjN,EAC9C,CASA,4BAAM+T,CACJ/T,GAIA,OAAOvB,KAAKqV,kBAAkB,IACzB9T,EACHgD,iBAAkB4Q,EAAiBrC,OAEvC,CASA,yBAAMyC,CACJhU,GAIA,OAAOvB,KAAKqV,kBAAkB,IACzB9T,EACHgD,iBAAkB4Q,EAAiBxC,IAEvC,QCjbW6C,GACXxJ,GAEA,WAAAjM,CAAYiM,GACVhM,MAAKgM,EAAUA,CACjB,CAEA,aAAAyJ,GACE,OAAOzV,MAAKgM,EAAQ7L,YAClB,sCACAuB,EAEJ,CAEA,qBAAAgU,GACE,OAAO1V,MAAKgM,EAAQ7L,YAClB,8CACAuB,EAEJ,CAEA,sBAAAiU,GACE,OAAO3V,MAAKgM,EAAQ7L,YAClB,+CACAuB,EAEJ,CAEA,kBAAAkU,GACE,OAAO5V,MAAKgM,EAAQ7L,YAClB,2CACAuB,EAEJ,CAEA,kBAAAmU,CAAmBC,GACjB,OAAO9V,MAAKgM,EAAQ7L,YAAY,sCAAuC,CACrE2V,aAEJ,QC/BWC,GACX/J,GAOA,WAAAjM,CAAYiM,GACVhM,MAAKgM,EAAUA,CACjB,CAEA,IAAA4F,GACE,OAAO5R,MAAKgM,EAAQ7L,YAAY,wBAAoBuB,EACtD,CAQA,gBAAMiG,CAAWqO,GACf,OAAOhW,MAAKgM,EAAQ7L,YAAY,yBAA0B,CACxD6V,mBAAoBA,IAAsB,GAE9C,CASA,4BAAMC,CACJrC,EACAoC,GAEA,OAAOhW,MAAKgM,EAAQ7L,YAAY,qCAAsC,CACpEyT,WACAoC,mBAAoBA,IAAsB,GAE9C,CAQA,yBAAME,CAAoBpO,GACxB,OAAO9H,MAAKgM,EAAQ7L,YAAY,kCAAmC,CACjE2H,WAEJ,CAQA,sBAAMqO,CAAiBC,GACrB,OAAOpW,MAAKgM,EAAQ7L,YAAY,+BAAgC,CAC9DiW,WAEJ,CASA,qBAAMC,CAAgBhO,EAA+BD,GACnD,OAAOpI,MAAKgM,EAAQ7L,YAAY,8BAA+B,CAC7DkI,aACAD,UAEJ,CAQA,mBAAMkO,CAAc/U,GAuBlB,OAAO8N,IAtBQ1N,MACbL,EACAG,KAEA,MAAMJ,EAAWd,IAQjB,aANMP,KAAK4R,aAEL5R,MAAKgM,EAAQ7L,YAAY,4BAA6B,CAC1DkB,aAGKrB,MAAKgM,EAAQ5K,oBAClBC,EACAC,EACA,IACKC,EACHE,UAEH,QAGyBC,EAAWH,EACzC,CAQA,uBAAMgV,CAAkBhV,GAuBtB,OAAO8N,IAtBQ1N,MACbL,EACAG,KAEA,MAAMJ,EAAWd,IAQjB,aANMP,KAAK4R,aAEL5R,MAAKgM,EAAQ7L,YAAY,gCAAiC,CAC9DkB,aAGKrB,MAAKgM,EAAQ5K,oBAClBC,EACAC,EACA,IACKC,EACHE,UAEH,QAGyBC,EAAWH,EACzC,EC1HK,MAAMiV,GAAe7U,MAC1B8U,EACAC,KAEA,OAAQD,EAAO7T,MACb,IAAK,MACH,MAAO,CACLA,KAAM,MACNoS,iBAAkByB,EAAOE,gBACzBD,aAEJ,IAAK,MACH,MAAO,CACL9T,KAAM,MACNoS,iBAAkByB,EAAOE,gBACzBD,YACAE,QAASH,EAAOI,aAChBC,YAAaL,EAAOM,sBC7CtB1X,GAAeC,IACnBC,QAAQC,MAAMF,EAAMG,QAAQ,QAajBuX,GACXrX,GAEAC,GAEAC,GAAY,IAAIC,IAKhB,WAAAC,CAAYJ,EAAgBC,GAC1BI,MAAKL,EAAUA,EACfK,MAAKL,EAAQM,iBAAiB,UAAWD,KAAKE,eAC1CN,GACFI,MAAKL,EAAQM,iBAAiB,QAASZ,IAEzCW,MAAKJ,EAAiBA,CACxB,CAQA,UAAMqX,GACJ,OAAOjX,KAAKG,YAAY,aAAc,CACpCP,cAAeI,MAAKJ,GAExB,CASA,WAAAO,CACEC,EACAC,GAEA,MAAMC,EAAYC,IAClBP,MAAKL,EAAQa,YAAY,CACvBJ,SACAK,GAAIH,EACJD,SAQF,OANgB,IAAIK,SAAQ,CAACC,EAASC,KACpCZ,MAAKH,EAAUgB,IAAIP,EAAW,CAC5BK,QAASA,EACTC,UACA,GAON,CAOAV,cACEZ,IAIA,MAAMwB,EAAYxB,EAAMe,KACpBL,MAAKJ,GACPL,QAAQwB,IAAI,4BAA6BD,GAE3C,MAAME,EAAUhB,MAAKH,EAAUoB,IAAIH,EAAUL,IACzCO,IACFhB,MAAKH,EAAUqB,OAAOJ,EAAUL,IAC5B,UAAWK,EACbE,EAAQJ,OAAOE,EAAUtB,OAEzBwB,EAAQL,QAAQG,EAAUK,QAE9B,EAMF,KAAAU,GACE7B,MAAKL,EAAQiC,oBAAoB,UAAW5B,KAAKE,eAC7CF,MAAKJ,GACPI,MAAKL,EAAQiC,oBAAoB,QAASvC,IAE5CW,MAAKL,EAAQmC,WACf,EC9GI,MAAOoV,WAAcF,GAMzB,WAAAjX,CAAYH,GAIVkN,MAHe,IAAIqK,OAAO,IAAIC,IAAI,8BAA+BC,KAAM,CACrEzU,KAAM,WAEMhD,IAAiB,EACjC,CAQA,qBAAM0X,CAAgBtC,GACpB,OAAOhV,KAAKG,YAAY,wBAAyB,CAC/C6U,cAEJ,CASA,6BAAMuC,CAAwBvC,EAAwBwC,GACpD,OAAOxX,KAAKG,YAAY,gCAAiC,CACvD6U,aACAwC,OAEJ,CAiBA,sCAAMC,CACJzC,EACAlN,EACAc,EACA4O,GAEA,OAAOxX,KAAKG,YAAY,yCAA0C,CAChEqX,MACAxC,aACAlN,UACAc,kBACA8O,mBAAoBnX,KAExB,CAWA,yBAAMoX,CACJlB,EACA3O,EACAc,EACA4O,GAEA,MAAMxC,QAAmByB,EAAOE,iBAC1BiB,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKyX,iCACTzC,EACAlN,EACAc,EACA4O,GAEEd,QAAkBD,EAAOoB,YAAYD,GACrCE,QAAmBtB,GAAaC,EAAQC,GAE9C,OAAO1W,KAAKG,YAAY,4BAA6B,CACnDsW,OAAQqB,EACRJ,qBACAF,OAEJ,CASA,4BAAMvB,CAAuBrC,EAAoB4D,GAC/C,OAAOxX,KAAKG,YAAY,+BAAgC,CACtDyT,WACA4D,OAEJ,ECpFI,MAAOO,WAEHrY,EACRsY,GACAC,GACAC,GACAlD,GACAlN,GACAqQ,GACAC,GACAC,IAAW,EACXC,GACA7B,GACAlV,GAUA,WAAAxB,CAAYwB,GAIVuL,MAHe,IAAIqK,OAAO,IAAIC,IAAI,+BAAgCC,KAAM,CACtEzU,KAAM,gBAIoBlB,IAA1BH,GAASgX,cAAuD,QAAzBhX,EAAQgX,cAEjDvY,MAAKuB,EAAWA,EAChBvB,MAAKiY,EAAiB,IAAI9D,GAAcnU,MACxCA,MAAKkY,EAAoB,IAAI1C,GAAiBxV,MAC9CA,MAAKsY,EAAe,IAAIvC,GAAY/V,MACpC,MAAMgY,EAAS,CACb,IAAIQ,EACJ,IAAIC,KACAlX,GAASyW,QAAU,IAEzBhY,MAAKgY,EAAU,IAAIlY,IACjBkY,EAAOhQ,KAAK0Q,GAAU,CAACA,EAAMzM,YAAYgB,WAAYyL,KAEzD,CAUA,UAAMzB,CAAKjC,GACT,MAAM7T,QAAenB,KAAKG,YAAY,cAAe,CACnD6U,aACAzT,QAASvB,MAAKuB,IAEhBvB,MAAKgV,EAAcA,EACnBhV,MAAK8H,EAAW3G,EAAO2G,QACvB9H,MAAKmY,EAAkBhX,EAAOgX,eAC9BnY,MAAKoY,EAAuBjX,EAAOiX,oBACnCpY,MAAKqY,GAAW,CAClB,CASA,mBAAaM,CACXlC,EACAlV,GAIA,MAAMyK,EAAS,IAAI+L,GAAgDxW,GASnE,OARAyK,GAAOyK,EAAUA,QAEXzK,EAAOiL,WAAWR,EAAOE,iBAE1BpV,GAASqX,2BACN5M,EAAO6M,WAGR7M,CACT,CAYA,kBAAa8M,CACX9D,EACAzT,GAIA,MAAMyK,EAAS,IAAI+L,GAAgD,IAC9DxW,EACHqX,qBAAqB,IAGvB,aADM5M,EAAOiL,KAAKjC,GACXhJ,CACT,CAKA,WAAIzK,GACF,OAAOvB,MAAKuB,CACd,CAKA,UAAIkV,GACF,OAAOzW,MAAKyW,CACd,CAKA,WAAI4B,GACF,OAAOrY,MAAKqY,CACd,CAKA,WAAIvQ,GACF,OAAO9H,MAAK8H,CACd,CAKA,qBAAIiR,GACF,OAAO/Y,MAAKgV,CACd,CAKA,kBAAImD,GACF,OAAOnY,MAAKmY,CACd,CAKA,uBAAIC,GACF,OAAOpY,MAAKoY,CACd,CAKA,iBAAIH,GACF,OAAOjY,MAAKiY,CACd,CAKA,oBAAIC,GACF,OAAOlY,MAAKkY,CACd,CAKA,eAAII,GACF,OAAOtY,MAAKsY,CACd,CAaA,qCAAMU,GACJ,OAAOhZ,KAAKG,YAAY,kCAAmC,CACzDuX,mBAAoBnX,KAExB,CAgBA,oCAAM0Y,CACJC,EACAC,GAA8B,GAE9B,IAAKA,EACH,MAAM,IAAIjM,GAGZ,OAAOlN,KAAKG,YAAY,iCAAkC,CACxD+Y,gBACAxB,mBAAoBnX,KAExB,CAcA,uCAAM6Y,CAAkCpE,GACtC,OAAOhV,KAAKG,YAAY,oCAAqC,CAC3D6U,aACA0C,mBAAoBnX,KAExB,CAcA,qDAAM8Y,GACJ,OAAOrZ,KAAKG,YAAY,kDAAmD,CACzEuX,mBAAoBnX,KAExB,CAeA,6CAAM+Y,CAAwC1Q,GAC5C,OAAO5I,KAAKG,YAAY,0CAA2C,CACjEyI,kBACA8O,mBAAoBnX,KAExB,CAeA,kDAAMgZ,CAA6CvE,GACjD,OAAOhV,KAAKG,YAAY,+CAAgD,CACtE6U,aACA0C,mBAAoBnX,KAExB,CAgBA,kCAAMiZ,CACJ/C,EACAiB,GAEA,OAAO1X,KAAKG,YAAY,+BAAgC,CACtDsW,SACAiB,sBAEJ,CASA,cAAMmB,GACJ,IAAK7Y,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,MAAM6K,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKgZ,kCAGb,IAAKpB,IAAkBF,EACrB,OAGF,MAAMhB,QAAkB1W,MAAKyW,EAAQoB,YAAYD,GAC3CnB,QAAeD,GAAaxW,MAAKyW,EAASC,GAEhD,OAAO1W,KAAKG,YAAY,0BAA2B,CACjDsW,SACAiB,sBAEJ,CAoBA,uBAAM+B,CACJC,EACAP,GAA8B,GAE9B,IAAKnZ,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,IAAKoM,EACH,MAAM,IAAIjM,GAIZ,MAAMyM,QAAwB3Z,KAAK4Z,8BAC3BF,EAAiB/C,iBAGzB,GAAIgD,EACF,MAAM,IAAIxM,GAA8BwM,GAG1C,MAAM/B,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKiZ,qCACHS,EAAiB/C,iBACvB,GAEED,QAAkBgD,EAAiB7B,YAAYD,GAC/CnB,QAAeD,GAAakD,EAAkBhD,GACpD,OAAO1W,KAAKG,YAAY,oBAAqB,CAC3C6U,WAAYyB,EAAOzB,WACnByB,SACAiB,sBAEJ,CAUA,mBAAMmC,CAAc7E,GAClB,IAAKhV,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,MAAM6K,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKoZ,kCAAkCpE,GACzC0B,QAAkB1W,MAAKyW,EAAQoB,YAAYD,GAC3CnB,QAAeD,GAAaxW,MAAKyW,EAASC,GAEhD,OAAO1W,KAAKG,YAAY,uBAAwB,CAC9C6U,aACAyB,SACAiB,sBAEJ,CASA,iCAAMoC,GACJ,IAAK9Z,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,MAAM6K,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKqZ,kDACP3C,QAAkB1W,MAAKyW,EAAQoB,YAAYD,GAC3CnB,QAAeD,GAAaxW,MAAKyW,EAASC,GAEhD,OAAO1W,KAAKG,YAAY,qCAAsC,CAC5DsW,SACAiB,sBAEJ,CAUA,yBAAMC,CAAoB/O,GACxB,IAAK5I,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,MAAM6K,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKsZ,wCAAwC1Q,GAC/C8N,QAAkB1W,MAAKyW,EAAQoB,YAAYD,GAC3CnB,QAAeD,GAAaxW,MAAKyW,EAASC,GAEhD,OAAO1W,KAAKG,YAAY,6BAA8B,CACpDyI,kBACA6N,SACAiB,sBAEJ,CAUA,gCAAaC,CACXlB,EACA3O,EACAc,EACA4O,EACA5X,GAEA,MAAMma,EAAQ,IAAI7C,GAAMtX,SAClBma,EAAM9C,aACN8C,EAAMpC,oBAAoBlB,EAAQ3O,EAASc,EAAiB4O,GAClEuC,EAAMlY,OACR,CASA,mCAAaoU,CACXrC,EACA4D,EACA5X,GAEA,MAAMma,EAAQ,IAAI7C,GAAMtX,SAClBma,EAAM9C,OACZ,MAAM9V,QAAe4Y,EAAM9D,uBAAuBrC,EAAU4D,GAE5D,OADAuC,EAAMlY,QACCV,CACT,CAUA,8BAAM6Y,CAAyBhF,GAC7B,IAAKhV,MAAKyW,EACR,MAAM,IAAI1J,GAGZ,MAAM6K,cAAEA,EAAaF,mBAAEA,SACf1X,KAAKuZ,6CAA6CvE,GACpD0B,QAAkB1W,MAAKyW,EAAQoB,YAAYD,GAC3CnB,QAAeD,GAAaxW,MAAKyW,EAASC,GAEhD,OAAO1W,KAAKG,YAAY,kCAAmC,CACzD6U,aACAyB,SACAiB,sBAEJ,CAOA,kBAAMuC,GACJ,OAAOja,KAAKG,YAAY,2BAAuBuB,EACjD,CAQA,gBAAMwY,CAAWtS,GACf,OAAO5H,KAAKG,YAAY,oBAAqB,CAAEyH,eACjD,CASA,uBAAasS,CAAWtS,EAA2B4P,GACjD,MAAM2C,EAAgB,IAAIra,IACpBia,EAAQ,IAAI7C,GAClB,IAAK,MAAMlC,KAAcpN,EAAa,CACpC,MAAME,QAAgBiS,EAAMxC,wBAAwBvC,EAAYwC,GAChE2C,EAActZ,IACZmU,EAAWA,WAAWoF,mBACV1Y,IAAZoG,EAEJ,CAEA,OADAiS,EAAMlY,QACCsY,CACT,CAQA,6BAAMP,CAAwB5E,GAC5B,OAAOhV,KAAKG,YAAY,iCAAkC,CAAE6U,cAC9D,CAQA,QAAAqF,CAAgCpO,GAC9B,OAAOjM,MAAKgY,EAAQ/W,IAAIgL,EAAYgB,WAGtC,CAUA,aAAA+E,CAAcrP,EAAuBsJ,GACnC,MAAMyM,EAAQ1Y,KAAKqa,SAASpO,GAC5B,IAAKyM,EACH,MAAM,IAAI1L,GAAmBf,GAE/B,MAAMqO,EAAU5B,EAAM6B,OAAO5X,EAAS3C,MAChCgD,EAAW0V,EAAM1V,SAASL,GAIhC,OAHIK,IACFsX,EAAQtX,SAAWA,GAEdK,EAAqBiX,EAC9B,CAWA,aAAA3N,CACElN,EACAwM,GAEA,MAAMyM,EAAQ1Y,KAAKqa,SAAsBpO,GACzC,IAAKyM,EACH,MAAM,IAAI1L,GAAmBf,GAI/B,GACEA,EAAYuO,OAAOC,IACnBhb,EAAQiE,OAAS0I,EAAiBE,iBAElC,MAAM,IAAIiB,GAAkC9N,EAAQgB,IAGtD,MAAM0L,EAAiB7I,EAAuB7D,EAAQkD,SAEtD,OAAO+V,EAAMgC,OAAOvO,EAAgBnM,KACtC,CAQA,uBAAA2a,CAAwB/C,GACtB,OAAO5X,KAAKG,YAAY,iCAAkC,CACxDyX,iBAEJ,CASA,+BAAAgD,CACEhD,EACAiD,GAEA,OAAO7a,KAAKG,YAAY,yCAA0C,CAChEyX,gBACAiD,kBAEJ,CAUA,yBAAAC,CACElD,EACAiD,EACAE,GAEA,OAAO/a,KAAKG,YAAY,mCAAoC,CAC1DyX,gBACAiD,iBACAE,aAEJ,CAQA,6CAAMC,CAAwCpS,GAC5C,OAAO5I,KAAKG,YAAY,iDAAkD,CACxEyI,mBAEJ,EClvBK,MAAMqS,GAAU,CACrBC,MAAO,wBACPC,IAAK,2BACLC,WAAY,mCAWDC,GAAkB,CAC7BH,MAAO,wBACPC,IAAK,+CACLC,WAAY"}