@xmtp/browser-sdk 6.0.1 → 6.1.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
@@ -364,6 +364,7 @@ declare class WorkerClient {
364
364
  verifySignedWithInstallationKey(signatureText: string, signatureBytes: Uint8Array): boolean;
365
365
  verifySignedWithPublicKey(signatureText: string, signatureBytes: Uint8Array, publicKey: Uint8Array): boolean;
366
366
  fetchKeyPackageStatuses(installationIds: string[]): Promise<Map<string, KeyPackageStatus>>;
367
+ sendSyncRequest(): Promise<void>;
367
368
  }
368
369
 
369
370
  declare class WorkerConversation {
@@ -643,6 +644,11 @@ type ClientAction = {
643
644
  data: {
644
645
  installationIds: string[];
645
646
  };
647
+ } | {
648
+ action: "client.sendSyncRequest";
649
+ id: string;
650
+ result: undefined;
651
+ data: undefined;
646
652
  };
647
653
 
648
654
  type ConversationAction = {
@@ -2418,6 +2424,12 @@ declare class Client<ContentTypes = ExtractCodecContentTypes> {
2418
2424
  * @returns The key package statuses
2419
2425
  */
2420
2426
  fetchKeyPackageStatuses(installationIds: string[]): Promise<Map<string, _xmtp_wasm_bindings.KeyPackageStatus>>;
2427
+ /**
2428
+ * Send a sync request to other devices on the network
2429
+ *
2430
+ * @returns Promise that resolves when the sync request is sent
2431
+ */
2432
+ sendSyncRequest(): Promise<void>;
2421
2433
  }
2422
2434
 
2423
2435
  declare class Opfs {
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{ConversationType as t,generateInboxId as s,getInboxIdForIdentifier as i,inboxStateFromInboxIds as n,applySignatureRequest as r,revokeInstallationsSignatureRequest as a,LogLevel as o,metadataFieldName as c,encodeAttachment as d,encodeIntent as u,encodeMarkdown as h,encodeMultiRemoteAttachment as l,encodeReaction as p,encodeReadReceipt as g,encodeRemoteAttachment as w,encodeText as y,encodeTransactionReference as m,encodeWalletSendCalls as k,contentTypeActions as f,contentTypeAttachment as I,contentTypeGroupUpdated as v,contentTypeIntent as b,contentTypeLeaveRequest as R,contentTypeMarkdown as x,contentTypeMultiRemoteAttachment as S,contentTypeReaction as A,contentTypeReadReceipt as T,contentTypeRemoteAttachment as D,contentTypeReply as M,contentTypeText as C,contentTypeTransactionReference as B,contentTypeWalletSendCalls as E,encryptAttachment as q,decryptAttachment as N,encodeActions as O}from"@xmtp/wasm-bindings";export{ActionStyle,ConsentEntityType,ConsentState,ContentType,ConversationType,DeliveryStatus,GroupMembershipState,GroupMessageKind,GroupPermissionsOptions,IdentifierKind,ListConversationsOrderBy,LogLevel,MessageSortBy,MetadataField,PermissionLevel,PermissionPolicy,PermissionUpdateType,ReactionAction,ReactionSchema,SortDirection}from"@xmtp/wasm-bindings";import{contentTypeToString as F}from"@xmtp/content-type-primitives";class P{#e;constructor(e){this.#e=new Map(e.map((e=>[F(e.contentType),e])))}getCodec(e){return this.#e.get(F(e))}}function L(e){return new Date(Number(e/1000000n))}const G=e=>{switch(e.type){case"text":case"markdown":case"reply":case"reaction":case"attachment":case"remoteAttachment":case"multiRemoteAttachment":case"transactionReference":case"groupUpdated":case"readReceipt":case"leaveRequest":case"walletSendCalls":case"intent":case"actions":case"custom":return e.content;default:return null}};class W{content;contentType;conversationId;deliveryStatus;expiresAtNs;expiresAt;fallback;id;kind;numReplies;reactions;senderInboxId;sentAt;sentAtNs;constructor(e,t){switch(this.id=t.id,this.expiresAtNs=t.expiresAtNs,this.expiresAt=t.expiresAtNs?L(t.expiresAtNs):void 0,this.sentAtNs=t.sentAtNs,this.sentAt=L(t.sentAtNs),this.conversationId=t.conversationId,this.senderInboxId=t.senderInboxId,this.contentType=t.contentType,this.fallback=t.fallback??void 0,this.kind=t.kind,this.deliveryStatus=t.deliveryStatus,this.numReplies=t.numReplies,this.reactions=t.reactions.map((t=>new W(e,t))),this.content=G(t.content)??void 0,t.content.type){case"reply":{const s=t.content.content;let i=G(s.content);if("custom"===s.content.type){const t=e.getCodec(s.content.content.type);if(t)try{i=t.decode(i)}catch(e){e instanceof Error?console.warn(`Error decoding custom content: ${e.message}`):console.warn("Error decoding custom content")}}this.content={referenceId:s.referenceId,content:i,inReplyTo:s.inReplyTo?new W(e,s.inReplyTo):null};break}case"custom":{const s=t.content.content,i=e.getCodec(this.contentType);if(i)try{this.content=i.decode(s)}catch(e){e instanceof Error?console.warn(`Error decoding custom content: ${e.message}`):console.warn("Error decoding custom content"),this.content=void 0}else console.warn(`No codec found for content type "${F(this.contentType)}"`),this.content=void 0;break}}}}class U{isDone=!1;#t=[];#s;onDone;onReturn;constructor(){this.#s=[],this.isDone=!1}flush(){for(;this.#t.length>0;){const e=this.#t.shift();e&&e({done:!0,value:void 0})}}done(){this.flush(),this.#s=[],this.#t=[],this.isDone=!0,this.onDone?.()}push=e=>{if(this.isDone)return;const t=this.#t.shift();t?t({done:!1,value:e}):this.#s.push(e)};next=()=>this.isDone?Promise.resolve({done:!0,value:void 0}):this.#s.length>0?Promise.resolve({done:!1,value:this.#s.shift()}):new Promise((e=>{this.#t.push(e)}));return=()=>(this.onReturn?.(),this.done(),Promise.resolve({done:!0,value:void 0}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const K=["end","isDone","next","return",Symbol.asyncIterator],V=e=>K.includes(e);class _ extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class $ extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class j extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class z extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class X extends Error{constructor(e){super(`Group "${e}" not found`)}}class H extends Error{constructor(e){super(`Stream "${e}" not found`)}}class J extends Error{constructor(e){super(`Stream failed, retried ${e} ${"time"+(1!==e?"s":"")}`)}}class Q extends Error{constructor(){super("Stream retry attempts must be greater than 0")}}class Y extends Error{constructor(){super("OPFS must be initialized before accessing its methods")}}class Z extends Error{constructor(){super("Failed to initialize OPFS, ensure that there are no other active XMTP clients or Opfs instances")}}const ee=1e4,te=6,se=async(e,t,s)=>{const{onEnd:i,onError:n,onFail:r,onRestart:a,onRetry:o,onValue:c,retryAttempts:d=te,retryDelay:u=ee,retryOnFail:h=!0}=s??{};if(h&&d<0)throw new Q;const l=new U,p=(e,s)=>{if(e)n?.(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=>{l.push(e),c?.(e)})).catch((e=>{n?.(e)})):(l.push(e),c?.(e))}else l.push(s),c?.(s)}catch(e){n?.(e)}},g=async(t=d)=>{try{if(0===t)throw l.end(),new J(d);await(s=u,new Promise((e=>setTimeout(e,s)))),o?.(d-t+1,d);const n=await e(p,(()=>{r?.(),g()}));l.onDone=()=>{n(),i?.()},a?.()}catch(e){n?.(e),g(t-1)}var s},w=()=>{if(!h)throw l.end(),new J(0);g()};try{const t=await e(p,(()=>{r?.(),w()}));l.onDone=()=>{t(),i?.()}}catch(e){n?.(e),w()}return new Proxy(l,{get(e,t,s){if(V(t))return Reflect.get(e,t,s)},set:()=>!0,has:(e,t)=>V(t),ownKeys:()=>K,getOwnPropertyDescriptor(e,t){if(V(t))return{enumerable:!0,configurable:!0,value:Reflect.get(e,t)}}})},ie=()=>{const e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,(e=>e.toString(16).padStart(2,"0"))).join("")};class ne{#i;#n;#r;#a;#o;#c;constructor(e,t,s,i){this.#c=e,this.#n=t,this.#a=s,this.#d(i)}#d(e){this.#i=e?.addedByInboxId,this.#o=e?.metadata,this.#r=e?.createdAtNs}get id(){return this.#a}get addedByInboxId(){return this.#i}get createdAtNs(){return this.#r}get createdAt(){return this.#r?L(this.#r):void 0}get metadata(){return this.#o}async lastMessage(){const e=await this.#c.action("conversation.lastMessage",{id:this.#a});return e?new W(this.#n,e):void 0}async isActive(){return this.#c.action("conversation.isActive",{id:this.#a})}async members(){return this.#c.action("conversation.members",{id:this.#a})}async sync(){const e=await this.#c.action("conversation.sync",{id:this.#a});return this.#d(e),e}async publishMessages(){return this.#c.action("conversation.publishMessages",{id:this.#a})}async send(e,t){return this.#c.action("conversation.send",{id:this.#a,content:e,options:t})}async sendText(e,t){return this.#c.action("conversation.sendText",{id:this.#a,text:e,isOptimistic:t})}async sendMarkdown(e,t){return this.#c.action("conversation.sendMarkdown",{id:this.#a,markdown:e,isOptimistic:t})}async sendReaction(e,t){return this.#c.action("conversation.sendReaction",{id:this.#a,reaction:e,isOptimistic:t})}async sendReadReceipt(e){return this.#c.action("conversation.sendReadReceipt",{id:this.#a,isOptimistic:e})}async sendReply(e,t){return this.#c.action("conversation.sendReply",{id:this.#a,reply:e,isOptimistic:t})}async sendTransactionReference(e,t){return this.#c.action("conversation.sendTransactionReference",{id:this.#a,transactionReference:e,isOptimistic:t})}async sendWalletSendCalls(e,t){return this.#c.action("conversation.sendWalletSendCalls",{id:this.#a,walletSendCalls:e,isOptimistic:t})}async sendActions(e,t){return this.#c.action("conversation.sendActions",{id:this.#a,actions:e,isOptimistic:t})}async sendIntent(e,t){return this.#c.action("conversation.sendIntent",{id:this.#a,intent:e,isOptimistic:t})}async sendAttachment(e,t){return this.#c.action("conversation.sendAttachment",{id:this.#a,attachment:e,isOptimistic:t})}async sendMultiRemoteAttachment(e,t){return this.#c.action("conversation.sendMultiRemoteAttachment",{id:this.#a,multiRemoteAttachment:e,isOptimistic:t})}async sendRemoteAttachment(e,t){return this.#c.action("conversation.sendRemoteAttachment",{id:this.#a,remoteAttachment:e,isOptimistic:t})}async messages(e){return(await this.#c.action("conversation.messages",{id:this.#a,options:e})).map((e=>new W(this.#n,e)))}async countMessages(e){return await this.#c.action("conversation.countMessages",{id:this.#a,options:e})}async consentState(){return this.#c.action("conversation.consentState",{id:this.#a})}async updateConsentState(e){return this.#c.action("conversation.updateConsentState",{id:this.#a,state:e})}async messageDisappearingSettings(){return this.#c.action("conversation.messageDisappearingSettings",{id:this.#a})}async updateMessageDisappearingSettings(e,t){return this.#c.action("conversation.updateMessageDisappearingSettings",{id:this.#a,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#c.action("conversation.removeMessageDisappearingSettings",{id:this.#a})}async isMessageDisappearingEnabled(){return this.#c.action("conversation.isMessageDisappearingEnabled",{id:this.#a})}async stream(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversation.stream",{groupId:this.#a,streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>new W(this.#n,e)),e)}async pausedForVersion(){return this.#c.action("conversation.pausedForVersion",{id:this.#a})}async hmacKeys(){return this.#c.action("conversation.hmacKeys",{id:this.#a})}async debugInfo(){return this.#c.action("conversation.debugInfo",{id:this.#a})}async lastReadTimes(){return this.#c.action("conversation.lastReadTimes",{id:this.#a})}}class re extends ne{#n;#c;#a;constructor(e,t,s,i){super(e,t,s,i),this.#c=e,this.#n=t,this.#a=s}async peerInboxId(){return this.#c.action("dm.peerInboxId",{id:this.#a})}async duplicateDms(){return(await this.#c.action("dm.duplicateDms",{id:this.#a})).map((e=>new re(this.#c,this.#n,e.id,e)))}}class ae extends ne{#u=[];#h;#c;#l;#a;#p;#g;#w=[];#d(e){this.#g=e?.name??"",this.#p=e?.imageUrl??"",this.#l=e?.description??"",this.#h=e?.appData??"",this.#u=e?.admins??[],this.#w=e?.superAdmins??[]}constructor(e,t,s,i){super(e,t,s,i),this.#c=e,this.#a=s,this.#d(i)}async sync(){const e=await super.sync();return this.#d(e),e}get name(){return this.#g}async updateName(e){await this.#c.action("group.updateName",{id:this.#a,name:e}),this.#g=e}get imageUrl(){return this.#p}async updateImageUrl(e){await this.#c.action("group.updateImageUrl",{id:this.#a,imageUrl:e}),this.#p=e}get description(){return this.#l}async updateDescription(e){await this.#c.action("group.updateDescription",{id:this.#a,description:e}),this.#l=e}get appData(){return this.#h}async updateAppData(e){await this.#c.action("group.updateAppData",{id:this.#a,appData:e}),this.#h=e}get admins(){return this.#u}get superAdmins(){return this.#w}async listAdmins(){const e=await this.#c.action("group.listAdmins",{id:this.#a});return this.#u=e,e}async listSuperAdmins(){const e=await this.#c.action("group.listSuperAdmins",{id:this.#a});return this.#w=e,e}async permissions(){return this.#c.action("group.permissions",{id:this.#a})}async updatePermission(e,t,s){return this.#c.action("group.updatePermission",{id:this.#a,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.#c.action("group.addMembersByIdentifiers",{id:this.#a,identifiers:e})}async addMembers(e){return this.#c.action("group.addMembers",{id:this.#a,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#c.action("group.removeMembersByIdentifiers",{id:this.#a,identifiers:e})}async removeMembers(e){return this.#c.action("group.removeMembers",{id:this.#a,inboxIds:e})}async addAdmin(e){return this.#c.action("group.addAdmin",{id:this.#a,inboxId:e})}async removeAdmin(e){return this.#c.action("group.removeAdmin",{id:this.#a,inboxId:e})}async addSuperAdmin(e){return this.#c.action("group.addSuperAdmin",{id:this.#a,inboxId:e})}async removeSuperAdmin(e){return this.#c.action("group.removeSuperAdmin",{id:this.#a,inboxId:e})}async requestRemoval(){return this.#c.action("group.requestRemoval",{id:this.#a})}async isPendingRemoval(){return this.#c.action("group.isPendingRemoval",{id:this.#a})}}class oe{#n;#c;constructor(e,t){this.#c=e,this.#n=t}async sync(){return this.#c.action("conversations.sync")}async syncAll(e){return this.#c.action("conversations.syncAll",{consentStates:e})}async getConversationById(e){const s=await this.#c.action("conversations.getConversationById",{id:e});if(s)switch(s.metadata.conversationType){case t.Group:return new ae(this.#c,this.#n,s.id,s);case t.Dm:return new re(this.#c,this.#n,s.id,s);default:return}}async getMessageById(e){const t=await this.#c.action("conversations.getMessageById",{id:e});return t?new W(this.#n,t):void 0}async getDmByInboxId(e){const t=await this.#c.action("conversations.getDmByInboxId",{inboxId:e});return t?new re(this.#c,this.#n,t.id,t):void 0}async fetchDmByIdentifier(e){const t=await this.#c.action("client.getInboxIdByIdentifier",{identifier:e});if(t)return this.getDmByInboxId(t)}async list(e){return(await this.#c.action("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case t.Dm:return new re(this.#c,this.#n,e.id,e);case t.Group:return new ae(this.#c,this.#n,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#c.action("conversations.listGroups",{options:e})).map((e=>new ae(this.#c,this.#n,e.id,e)))}async listDms(e){return(await this.#c.action("conversations.listDms",{options:e})).map((e=>new re(this.#c,this.#n,e.id,e)))}async createGroupOptimistic(e){const t=await this.#c.action("conversations.createGroupOptimistic",{options:e});return new ae(this.#c,this.#n,t.id,t)}async createGroupWithIdentifiers(e,t){const s=await this.#c.action("conversations.createGroupWithIdentifiers",{identifiers:e,options:t});return new ae(this.#c,this.#n,s.id,s)}async createGroup(e,t){const s=await this.#c.action("conversations.createGroup",{inboxIds:e,options:t});return new ae(this.#c,this.#n,s.id,s)}async createDmWithIdentifier(e,t){const s=await this.#c.action("conversations.createDmWithIdentifier",{identifier:e,options:t});return new re(this.#c,this.#n,s.id,s)}async createDm(e,t){const s=await this.#c.action("conversations.createDm",{inboxId:e,options:t});return new re(this.#c,this.#n,s.id,s)}async hmacKeys(){return this.#c.action("conversations.hmacKeys")}async stream(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversations.stream",{streamId:i,conversationType:e?.conversationType}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>{switch(e.metadata.conversationType){case t.Group:return new ae(this.#c,this.#n,e.id,e);case t.Dm:return new re(this.#c,this.#n,e.id,e);default:throw new Error(`Unknown conversation type: ${e.metadata.conversationType}`)}}),e)}async streamGroups(e){return this.stream({...e,conversationType:t.Group})}async streamDms(e){return this.stream({...e,conversationType:t.Dm})}async streamAllMessages(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversations.streamAllMessages",{streamId:i,conversationType:e?.conversationType,consentStates:e?.consentStates}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>new W(this.#n,e)),e)}async streamAllGroupMessages(e){return this.streamAllMessages({...e,conversationType:t.Group})}async streamAllDmMessages(e){return this.streamAllMessages({...e,conversationType:t.Dm})}async streamMessageDeletions(e){return se((async t=>{const s=ie();return await this.#c.action("conversations.streamMessageDeletions",{streamId:s}),this.#c.handleStreamMessage(s,t,e)}),void 0,e)}}class ce{#c;constructor(e){this.#c=e}apiStatistics(){return this.#c.action("debugInformation.apiStatistics")}apiIdentityStatistics(){return this.#c.action("debugInformation.apiIdentityStatistics")}apiAggregateStatistics(){return this.#c.action("debugInformation.apiAggregateStatistics")}clearAllStatistics(){return this.#c.action("debugInformation.clearAllStatistics")}}class de{#c;constructor(e){this.#c=e}sync(){return this.#c.action("preferences.sync")}async inboxState(){return this.#c.action("preferences.inboxState",{refreshFromNetwork:!1})}async fetchInboxState(){return this.#c.action("preferences.inboxState",{refreshFromNetwork:!0})}async getInboxStates(e){return this.#c.action("preferences.getInboxStates",{inboxIds:e,refreshFromNetwork:!1})}async fetchInboxStates(e){return this.#c.action("preferences.getInboxStates",{inboxIds:e,refreshFromNetwork:!0})}async setConsentStates(e){return this.#c.action("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#c.action("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("preferences.streamConsent",{streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),void 0,e)}async streamPreferences(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("preferences.streamPreferences",{streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),void 0,e)}}const ue={local:"http://localhost:5557",dev:"https://api.dev.xmtp.network:5558",production:"https://api.production.xmtp.network:5558"},he={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"},le=async(t,i)=>(await e(),s(t,i)),pe=async(t,s,n)=>{await e();const r=s?ue[s]:ue.dev,a=r.startsWith("https");return i(r,n??null,a,t)},ge=async(t,s,i,n,o)=>{await e();const c=await t.getIdentifier(),{signatureText:d,signatureRequest:u}=await(async(t,s,i,n,r)=>{await e();const o=a(ue[n??"dev"],r??null,t,s,i);return{signatureText:await o.signatureText(),signatureRequest:o}})(c,s,i,n,o),h=await t.signMessage(d),l=ue[n??"dev"];switch(t.type){case"EOA":await u.addEcdsaSignature(h);break;case"SCW":await u.addScwSignature(c,h,t.getChainId(),t.getBlockNumber?.())}await r(l,o??null,u)},we=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?.()}}},ye=e=>{console.error(`[worker] error: ${e.message}`)};class me{#c;#y;#m=new Map;constructor(e,t){this.#c=e,this.#c.addEventListener("message",this.handleMessage),this.#c.addEventListener("error",ye),this.#y=t??!1}action(e,...t){const s=ie();this.#c.postMessage({action:e,id:s,data:t[0]});return new Promise(((e,t)=>{this.#m.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#y&&console.log("[worker] client received event data",t);const s=this.#m.get(t.id);s&&(this.#m.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t,s)=>{const i=i=>{const n=i.data;if(n.streamId===e){if("stream.fail"===n.action)return void s?.onFail?.();"error"in n?t(n.error,void 0):t(null,n.result)}};return this.#c.addEventListener("message",i),async()=>{await this.action("endStream",{streamId:e}),this.#c.removeEventListener("message",i)}};close(){this.#c.removeEventListener("message",this.handleMessage),this.#c.removeEventListener("error",ye),this.#c.terminate()}}class ke{#k;#n;#f;#I;#v;#b;#R;#x;#S=!1;#A;#T;#D;#M;#c;constructor(e){const t=new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),s=void 0!==e?.loggingLevel&&e.loggingLevel!==o.Off;this.#c=new me(t,s),this.#T=e,this.#n=new P([...e?.codecs??[]]),this.#f=new oe(this.#c,this.#n),this.#I=new ce(this.#c),this.#D=new de(this.#c)}async init(e){const t=await this.#c.action("client.init",{identifier:e,options:this.#T});this.#k=t.appVersion,this.#v=e,this.#b=t.inboxId,this.#R=t.installationId,this.#x=t.installationIdBytes,this.#A=t.libxmtpVersion,this.#S=!0}close(){this.#c.close(),this.#S=!1}static async create(e,t){const s=new ke(t);return s.#M=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new ke({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#T}get signer(){return this.#M}get isReady(){return this.#S}get inboxId(){return this.#b}get accountIdentifier(){return this.#v}get installationId(){return this.#R}get installationIdBytes(){return this.#x}get conversations(){return this.#f}get debugInformation(){return this.#I}get preferences(){return this.#D}get libxmtpVersion(){return this.#A}get appVersion(){return this.#k}async unsafe_createInboxSignatureText(){return this.#c.action("client.createInboxSignatureText",{signatureRequestId:ie()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new j;return this.#c.action("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:ie()})}async unsafe_removeAccountSignatureText(e){return this.#c.action("client.removeAccountSignatureText",{identifier:e,signatureRequestId:ie()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.#c.action("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:ie()})}async unsafe_revokeInstallationsSignatureText(e){return this.#c.action("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:ie()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.#c.action("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:ie()})}async unsafe_applySignatureRequest(e,t){return this.#c.action("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#M)throw new $;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#M.signMessage(e),i=await we(this.#M,s);return this.#c.action("client.registerIdentity",{signer:i,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#M)throw new $;if(!t)throw new j;const s=await this.fetchInboxIdByIdentifier(await e.getIdentifier());if(s)throw new z(s);const{signatureText:i,signatureRequestId:n}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(i),a=await we(e,r);return this.#c.action("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:n})}async removeAccount(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.removeAccount",{identifier:e,signer:n,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#M)throw new $;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)return;const s=await this.#M.signMessage(e),i=await we(this.#M,s);return this.#c.action("client.revokeAllOtherInstallations",{signer:i,signatureRequestId:t})}async revokeInstallations(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.revokeInstallations",{installationIds:e,signer:n,signatureRequestId:s})}static async revokeInstallations(e,t,s,i,n){await ge(e,t,s,i,n)}static async fetchInboxStates(t,s,i){return(async(t,s,i)=>(await e(),n(ue[s??"dev"],i??null,t)))(t,s,i)}async changeRecoveryIdentifier(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.changeRecoveryIdentifier",{identifier:e,signer:n,signatureRequestId:s})}async isRegistered(){return this.#c.action("client.isRegistered")}async canMessage(e){return this.#c.action("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map;for(const i of e){const e=await pe(i,t);s.set(i.identifier.toLowerCase(),void 0!==e)}return s}async fetchInboxIdByIdentifier(e){return this.#c.action("client.getInboxIdByIdentifier",{identifier:e})}signWithInstallationKey(e){return this.#c.action("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.#c.action("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.#c.action("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async fetchKeyPackageStatuses(e){return this.#c.action("client.fetchKeyPackageStatuses",{installationIds:e})}}class fe{#c;#y;constructor(e){const t=new Worker(new URL("./workers/opfs",import.meta.url),{type:"module"});this.#c=new me(t,e),this.#y=e??!1}async init(){await this.#c.action("opfs.init",{enableLogging:this.#y})}close(){this.#c.close()}static async create(e){const t=new fe(e);return await t.init(),t}async listFiles(){return this.#c.action("opfs.listFiles")}async fileCount(){return this.#c.action("opfs.fileCount")}async poolCapacity(){return this.#c.action("opfs.poolCapacity")}async fileExists(e){return this.#c.action("opfs.fileExists",{path:e})}async deleteFile(e){return this.#c.action("opfs.deleteFile",{path:e})}async exportDb(e){return this.#c.action("opfs.exportDb",{path:e})}async importDb(e,t){return this.#c.action("opfs.importDb",{path:e,data:t})}async clearAll(){return this.#c.action("opfs.clearAll")}}const Ie=async t=>(await e(),c(t)),ve=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs}),be=t=>async(...s)=>(await e(),t(...s)),Re=be(O),xe=be(d),Se=be(u),Ae=be(h),Te=be(l),De=be(p),Me=be(g),Ce=be(w),Be=be(y),Ee=be(m),qe=be(k),Ne=be(f),Oe=be(I),Fe=be(v),Pe=be(b),Le=be(R),Ge=be(x),We=be(S),Ue=be(A),Ke=be(T),Ve=be(D),_e=be(M),$e=be(C),je=be(B),ze=be(E),Xe=be(q),He=be(N);export{z as AccountAlreadyAssociatedError,ue as ApiUrls,ke as Client,_ as ClientNotInitializedError,ne as Conversation,oe as Conversations,W as DecodedMessage,re as Dm,ae as Group,X as GroupNotFoundError,he as HistorySyncUrls,j as InboxReassignError,fe as Opfs,Z as OpfsInitializationError,Y as OpfsNotInitializedError,$ as SignerUnavailableError,J as StreamFailedError,Q as StreamInvalidRetryAttemptsError,H as StreamNotFoundError,Ne as contentTypeActions,Oe as contentTypeAttachment,Fe as contentTypeGroupUpdated,Pe as contentTypeIntent,Le as contentTypeLeaveRequest,Ge as contentTypeMarkdown,We as contentTypeMultiRemoteAttachment,Ue as contentTypeReaction,Ke as contentTypeReadReceipt,Ve as contentTypeRemoteAttachment,_e as contentTypeReply,$e as contentTypeText,je as contentTypeTransactionReference,ze as contentTypeWalletSendCalls,He as decryptAttachment,Re as encodeActions,xe as encodeAttachment,Se as encodeIntent,Ae as encodeMarkdown,Te as encodeMultiRemoteAttachment,De as encodeReaction,Me as encodeReadReceipt,Ce as encodeRemoteAttachment,Be as encodeText,Ee as encodeTransactionReference,qe as encodeWalletSendCalls,Xe as encryptAttachment,le as generateInboxId,pe as getInboxIdForIdentifier,Ie as metadataFieldName,ve as toSafeConversation,we as toSafeSigner};
1
+ import e,{ConversationType as t,generateInboxId as s,getInboxIdForIdentifier as i,inboxStateFromInboxIds as n,applySignatureRequest as r,revokeInstallationsSignatureRequest as a,LogLevel as o,metadataFieldName as c,encodeAttachment as d,encodeIntent as u,encodeMarkdown as h,encodeMultiRemoteAttachment as l,encodeReaction as p,encodeReadReceipt as g,encodeRemoteAttachment as w,encodeText as y,encodeTransactionReference as m,encodeWalletSendCalls as k,contentTypeActions as f,contentTypeAttachment as I,contentTypeGroupUpdated as v,contentTypeIntent as R,contentTypeLeaveRequest as b,contentTypeMarkdown as x,contentTypeMultiRemoteAttachment as S,contentTypeReaction as A,contentTypeReadReceipt as T,contentTypeRemoteAttachment as D,contentTypeReply as M,contentTypeText as C,contentTypeTransactionReference as q,contentTypeWalletSendCalls as B,encryptAttachment as E,decryptAttachment as N,encodeActions as O}from"@xmtp/wasm-bindings";export{ActionStyle,ConsentEntityType,ConsentState,ContentType,ConversationType,DeliveryStatus,GroupMembershipState,GroupMessageKind,GroupPermissionsOptions,IdentifierKind,ListConversationsOrderBy,LogLevel,MessageSortBy,MetadataField,PermissionLevel,PermissionPolicy,PermissionUpdateType,ReactionAction,ReactionSchema,SortDirection}from"@xmtp/wasm-bindings";import{contentTypeToString as F}from"@xmtp/content-type-primitives";class P{#e;constructor(e){this.#e=new Map(e.map((e=>[F(e.contentType),e])))}getCodec(e){return this.#e.get(F(e))}}function L(e){return new Date(Number(e/1000000n))}const G=e=>{switch(e.type){case"text":case"markdown":case"reply":case"reaction":case"attachment":case"remoteAttachment":case"multiRemoteAttachment":case"transactionReference":case"groupUpdated":case"readReceipt":case"leaveRequest":case"walletSendCalls":case"intent":case"actions":case"custom":return e.content;default:return null}};class W{content;contentType;conversationId;deliveryStatus;expiresAtNs;expiresAt;fallback;id;kind;numReplies;reactions;senderInboxId;sentAt;sentAtNs;constructor(e,t){switch(this.id=t.id,this.expiresAtNs=t.expiresAtNs,this.expiresAt=t.expiresAtNs?L(t.expiresAtNs):void 0,this.sentAtNs=t.sentAtNs,this.sentAt=L(t.sentAtNs),this.conversationId=t.conversationId,this.senderInboxId=t.senderInboxId,this.contentType=t.contentType,this.fallback=t.fallback??void 0,this.kind=t.kind,this.deliveryStatus=t.deliveryStatus,this.numReplies=t.numReplies,this.reactions=t.reactions.map((t=>new W(e,t))),this.content=G(t.content)??void 0,t.content.type){case"reply":{const s=t.content.content;let i=G(s.content);if("custom"===s.content.type){const t=e.getCodec(s.content.content.type);if(t)try{i=t.decode(i)}catch(e){e instanceof Error?console.warn(`Error decoding custom content: ${e.message}`):console.warn("Error decoding custom content")}}this.content={referenceId:s.referenceId,content:i,inReplyTo:s.inReplyTo?new W(e,s.inReplyTo):null};break}case"custom":{const s=t.content.content,i=e.getCodec(this.contentType);if(i)try{this.content=i.decode(s)}catch(e){e instanceof Error?console.warn(`Error decoding custom content: ${e.message}`):console.warn("Error decoding custom content"),this.content=void 0}else console.warn(`No codec found for content type "${F(this.contentType)}"`),this.content=void 0;break}}}}class U{isDone=!1;#t=[];#s;onDone;onReturn;constructor(){this.#s=[],this.isDone=!1}flush(){for(;this.#t.length>0;){const e=this.#t.shift();e&&e({done:!0,value:void 0})}}done(){this.flush(),this.#s=[],this.#t=[],this.isDone=!0,this.onDone?.()}push=e=>{if(this.isDone)return;const t=this.#t.shift();t?t({done:!1,value:e}):this.#s.push(e)};next=()=>this.isDone?Promise.resolve({done:!0,value:void 0}):this.#s.length>0?Promise.resolve({done:!1,value:this.#s.shift()}):new Promise((e=>{this.#t.push(e)}));return=()=>(this.onReturn?.(),this.done(),Promise.resolve({done:!0,value:void 0}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const K=["end","isDone","next","return",Symbol.asyncIterator],V=e=>K.includes(e);class _ extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class $ extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class j extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class z extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class X extends Error{constructor(e){super(`Group "${e}" not found`)}}class H extends Error{constructor(e){super(`Stream "${e}" not found`)}}class J extends Error{constructor(e){super(`Stream failed, retried ${e} ${"time"+(1!==e?"s":"")}`)}}class Q extends Error{constructor(){super("Stream retry attempts must be greater than 0")}}class Y extends Error{constructor(){super("OPFS must be initialized before accessing its methods")}}class Z extends Error{constructor(){super("Failed to initialize OPFS, ensure that there are no other active XMTP clients or Opfs instances")}}const ee=1e4,te=6,se=async(e,t,s)=>{const{onEnd:i,onError:n,onFail:r,onRestart:a,onRetry:o,onValue:c,retryAttempts:d=te,retryDelay:u=ee,retryOnFail:h=!0}=s??{};if(h&&d<0)throw new Q;const l=new U,p=(e,s)=>{if(e)n?.(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=>{l.push(e),c?.(e)})).catch((e=>{n?.(e)})):(l.push(e),c?.(e))}else l.push(s),c?.(s)}catch(e){n?.(e)}},g=async(t=d)=>{try{if(0===t)throw l.end(),new J(d);await(s=u,new Promise((e=>setTimeout(e,s)))),o?.(d-t+1,d);const n=await e(p,(()=>{r?.(),g()}));l.onDone=()=>{n(),i?.()},a?.()}catch(e){n?.(e),g(t-1)}var s},w=()=>{if(!h)throw l.end(),new J(0);g()};try{const t=await e(p,(()=>{r?.(),w()}));l.onDone=()=>{t(),i?.()}}catch(e){n?.(e),w()}return new Proxy(l,{get(e,t,s){if(V(t))return Reflect.get(e,t,s)},set:()=>!0,has:(e,t)=>V(t),ownKeys:()=>K,getOwnPropertyDescriptor(e,t){if(V(t))return{enumerable:!0,configurable:!0,value:Reflect.get(e,t)}}})},ie=()=>{const e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,(e=>e.toString(16).padStart(2,"0"))).join("")};class ne{#i;#n;#r;#a;#o;#c;constructor(e,t,s,i){this.#c=e,this.#n=t,this.#a=s,this.#d(i)}#d(e){this.#i=e?.addedByInboxId,this.#o=e?.metadata,this.#r=e?.createdAtNs}get id(){return this.#a}get addedByInboxId(){return this.#i}get createdAtNs(){return this.#r}get createdAt(){return this.#r?L(this.#r):void 0}get metadata(){return this.#o}async lastMessage(){const e=await this.#c.action("conversation.lastMessage",{id:this.#a});return e?new W(this.#n,e):void 0}async isActive(){return this.#c.action("conversation.isActive",{id:this.#a})}async members(){return this.#c.action("conversation.members",{id:this.#a})}async sync(){const e=await this.#c.action("conversation.sync",{id:this.#a});return this.#d(e),e}async publishMessages(){return this.#c.action("conversation.publishMessages",{id:this.#a})}async send(e,t){return this.#c.action("conversation.send",{id:this.#a,content:e,options:t})}async sendText(e,t){return this.#c.action("conversation.sendText",{id:this.#a,text:e,isOptimistic:t})}async sendMarkdown(e,t){return this.#c.action("conversation.sendMarkdown",{id:this.#a,markdown:e,isOptimistic:t})}async sendReaction(e,t){return this.#c.action("conversation.sendReaction",{id:this.#a,reaction:e,isOptimistic:t})}async sendReadReceipt(e){return this.#c.action("conversation.sendReadReceipt",{id:this.#a,isOptimistic:e})}async sendReply(e,t){return this.#c.action("conversation.sendReply",{id:this.#a,reply:e,isOptimistic:t})}async sendTransactionReference(e,t){return this.#c.action("conversation.sendTransactionReference",{id:this.#a,transactionReference:e,isOptimistic:t})}async sendWalletSendCalls(e,t){return this.#c.action("conversation.sendWalletSendCalls",{id:this.#a,walletSendCalls:e,isOptimistic:t})}async sendActions(e,t){return this.#c.action("conversation.sendActions",{id:this.#a,actions:e,isOptimistic:t})}async sendIntent(e,t){return this.#c.action("conversation.sendIntent",{id:this.#a,intent:e,isOptimistic:t})}async sendAttachment(e,t){return this.#c.action("conversation.sendAttachment",{id:this.#a,attachment:e,isOptimistic:t})}async sendMultiRemoteAttachment(e,t){return this.#c.action("conversation.sendMultiRemoteAttachment",{id:this.#a,multiRemoteAttachment:e,isOptimistic:t})}async sendRemoteAttachment(e,t){return this.#c.action("conversation.sendRemoteAttachment",{id:this.#a,remoteAttachment:e,isOptimistic:t})}async messages(e){return(await this.#c.action("conversation.messages",{id:this.#a,options:e})).map((e=>new W(this.#n,e)))}async countMessages(e){return await this.#c.action("conversation.countMessages",{id:this.#a,options:e})}async consentState(){return this.#c.action("conversation.consentState",{id:this.#a})}async updateConsentState(e){return this.#c.action("conversation.updateConsentState",{id:this.#a,state:e})}async messageDisappearingSettings(){return this.#c.action("conversation.messageDisappearingSettings",{id:this.#a})}async updateMessageDisappearingSettings(e,t){return this.#c.action("conversation.updateMessageDisappearingSettings",{id:this.#a,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#c.action("conversation.removeMessageDisappearingSettings",{id:this.#a})}async isMessageDisappearingEnabled(){return this.#c.action("conversation.isMessageDisappearingEnabled",{id:this.#a})}async stream(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversation.stream",{groupId:this.#a,streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>new W(this.#n,e)),e)}async pausedForVersion(){return this.#c.action("conversation.pausedForVersion",{id:this.#a})}async hmacKeys(){return this.#c.action("conversation.hmacKeys",{id:this.#a})}async debugInfo(){return this.#c.action("conversation.debugInfo",{id:this.#a})}async lastReadTimes(){return this.#c.action("conversation.lastReadTimes",{id:this.#a})}}class re extends ne{#n;#c;#a;constructor(e,t,s,i){super(e,t,s,i),this.#c=e,this.#n=t,this.#a=s}async peerInboxId(){return this.#c.action("dm.peerInboxId",{id:this.#a})}async duplicateDms(){return(await this.#c.action("dm.duplicateDms",{id:this.#a})).map((e=>new re(this.#c,this.#n,e.id,e)))}}class ae extends ne{#u=[];#h;#c;#l;#a;#p;#g;#w=[];#d(e){this.#g=e?.name??"",this.#p=e?.imageUrl??"",this.#l=e?.description??"",this.#h=e?.appData??"",this.#u=e?.admins??[],this.#w=e?.superAdmins??[]}constructor(e,t,s,i){super(e,t,s,i),this.#c=e,this.#a=s,this.#d(i)}async sync(){const e=await super.sync();return this.#d(e),e}get name(){return this.#g}async updateName(e){await this.#c.action("group.updateName",{id:this.#a,name:e}),this.#g=e}get imageUrl(){return this.#p}async updateImageUrl(e){await this.#c.action("group.updateImageUrl",{id:this.#a,imageUrl:e}),this.#p=e}get description(){return this.#l}async updateDescription(e){await this.#c.action("group.updateDescription",{id:this.#a,description:e}),this.#l=e}get appData(){return this.#h}async updateAppData(e){await this.#c.action("group.updateAppData",{id:this.#a,appData:e}),this.#h=e}get admins(){return this.#u}get superAdmins(){return this.#w}async listAdmins(){const e=await this.#c.action("group.listAdmins",{id:this.#a});return this.#u=e,e}async listSuperAdmins(){const e=await this.#c.action("group.listSuperAdmins",{id:this.#a});return this.#w=e,e}async permissions(){return this.#c.action("group.permissions",{id:this.#a})}async updatePermission(e,t,s){return this.#c.action("group.updatePermission",{id:this.#a,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.#c.action("group.addMembersByIdentifiers",{id:this.#a,identifiers:e})}async addMembers(e){return this.#c.action("group.addMembers",{id:this.#a,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#c.action("group.removeMembersByIdentifiers",{id:this.#a,identifiers:e})}async removeMembers(e){return this.#c.action("group.removeMembers",{id:this.#a,inboxIds:e})}async addAdmin(e){return this.#c.action("group.addAdmin",{id:this.#a,inboxId:e})}async removeAdmin(e){return this.#c.action("group.removeAdmin",{id:this.#a,inboxId:e})}async addSuperAdmin(e){return this.#c.action("group.addSuperAdmin",{id:this.#a,inboxId:e})}async removeSuperAdmin(e){return this.#c.action("group.removeSuperAdmin",{id:this.#a,inboxId:e})}async requestRemoval(){return this.#c.action("group.requestRemoval",{id:this.#a})}async isPendingRemoval(){return this.#c.action("group.isPendingRemoval",{id:this.#a})}}class oe{#n;#c;constructor(e,t){this.#c=e,this.#n=t}async sync(){return this.#c.action("conversations.sync")}async syncAll(e){return this.#c.action("conversations.syncAll",{consentStates:e})}async getConversationById(e){const s=await this.#c.action("conversations.getConversationById",{id:e});if(s)switch(s.metadata.conversationType){case t.Group:return new ae(this.#c,this.#n,s.id,s);case t.Dm:return new re(this.#c,this.#n,s.id,s);default:return}}async getMessageById(e){const t=await this.#c.action("conversations.getMessageById",{id:e});return t?new W(this.#n,t):void 0}async getDmByInboxId(e){const t=await this.#c.action("conversations.getDmByInboxId",{inboxId:e});return t?new re(this.#c,this.#n,t.id,t):void 0}async fetchDmByIdentifier(e){const t=await this.#c.action("client.getInboxIdByIdentifier",{identifier:e});if(t)return this.getDmByInboxId(t)}async list(e){return(await this.#c.action("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case t.Dm:return new re(this.#c,this.#n,e.id,e);case t.Group:return new ae(this.#c,this.#n,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#c.action("conversations.listGroups",{options:e})).map((e=>new ae(this.#c,this.#n,e.id,e)))}async listDms(e){return(await this.#c.action("conversations.listDms",{options:e})).map((e=>new re(this.#c,this.#n,e.id,e)))}async createGroupOptimistic(e){const t=await this.#c.action("conversations.createGroupOptimistic",{options:e});return new ae(this.#c,this.#n,t.id,t)}async createGroupWithIdentifiers(e,t){const s=await this.#c.action("conversations.createGroupWithIdentifiers",{identifiers:e,options:t});return new ae(this.#c,this.#n,s.id,s)}async createGroup(e,t){const s=await this.#c.action("conversations.createGroup",{inboxIds:e,options:t});return new ae(this.#c,this.#n,s.id,s)}async createDmWithIdentifier(e,t){const s=await this.#c.action("conversations.createDmWithIdentifier",{identifier:e,options:t});return new re(this.#c,this.#n,s.id,s)}async createDm(e,t){const s=await this.#c.action("conversations.createDm",{inboxId:e,options:t});return new re(this.#c,this.#n,s.id,s)}async hmacKeys(){return this.#c.action("conversations.hmacKeys")}async stream(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversations.stream",{streamId:i,conversationType:e?.conversationType}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>{switch(e.metadata.conversationType){case t.Group:return new ae(this.#c,this.#n,e.id,e);case t.Dm:return new re(this.#c,this.#n,e.id,e);default:throw new Error(`Unknown conversation type: ${e.metadata.conversationType}`)}}),e)}async streamGroups(e){return this.stream({...e,conversationType:t.Group})}async streamDms(e){return this.stream({...e,conversationType:t.Dm})}async streamAllMessages(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("conversations.streamAllMessages",{streamId:i,conversationType:e?.conversationType,consentStates:e?.consentStates}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),(e=>new W(this.#n,e)),e)}async streamAllGroupMessages(e){return this.streamAllMessages({...e,conversationType:t.Group})}async streamAllDmMessages(e){return this.streamAllMessages({...e,conversationType:t.Dm})}async streamMessageDeletions(e){return se((async t=>{const s=ie();return await this.#c.action("conversations.streamMessageDeletions",{streamId:s}),this.#c.handleStreamMessage(s,t,e)}),void 0,e)}}class ce{#c;constructor(e){this.#c=e}apiStatistics(){return this.#c.action("debugInformation.apiStatistics")}apiIdentityStatistics(){return this.#c.action("debugInformation.apiIdentityStatistics")}apiAggregateStatistics(){return this.#c.action("debugInformation.apiAggregateStatistics")}clearAllStatistics(){return this.#c.action("debugInformation.clearAllStatistics")}}class de{#c;constructor(e){this.#c=e}sync(){return this.#c.action("preferences.sync")}async inboxState(){return this.#c.action("preferences.inboxState",{refreshFromNetwork:!1})}async fetchInboxState(){return this.#c.action("preferences.inboxState",{refreshFromNetwork:!0})}async getInboxStates(e){return this.#c.action("preferences.getInboxStates",{inboxIds:e,refreshFromNetwork:!1})}async fetchInboxStates(e){return this.#c.action("preferences.getInboxStates",{inboxIds:e,refreshFromNetwork:!0})}async setConsentStates(e){return this.#c.action("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#c.action("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("preferences.streamConsent",{streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),void 0,e)}async streamPreferences(e){return se((async(t,s)=>{const i=ie();return e?.disableSync||await this.sync(),await this.#c.action("preferences.streamPreferences",{streamId:i}),this.#c.handleStreamMessage(i,t,{...e,onFail:s})}),void 0,e)}}const ue={local:"http://localhost:5557",dev:"https://api.dev.xmtp.network:5558",production:"https://api.production.xmtp.network:5558"},he={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"},le=async(t,i)=>(await e(),s(t,i)),pe=async(t,s,n)=>{await e();const r=s?ue[s]:ue.dev,a=r.startsWith("https");return i(r,n??null,a,t)},ge=async(t,s,i,n,o)=>{await e();const c=await t.getIdentifier(),{signatureText:d,signatureRequest:u}=await(async(t,s,i,n,r)=>{await e();const o=a(ue[n??"dev"],r??null,t,s,i);return{signatureText:await o.signatureText(),signatureRequest:o}})(c,s,i,n,o),h=await t.signMessage(d),l=ue[n??"dev"];switch(t.type){case"EOA":await u.addEcdsaSignature(h);break;case"SCW":await u.addScwSignature(c,h,t.getChainId(),t.getBlockNumber?.())}await r(l,o??null,u)},we=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?.()}}},ye=e=>{console.error(`[worker] error: ${e.message}`)};class me{#c;#y;#m=new Map;constructor(e,t){this.#c=e,this.#c.addEventListener("message",this.handleMessage),this.#c.addEventListener("error",ye),this.#y=t??!1}action(e,...t){const s=ie();this.#c.postMessage({action:e,id:s,data:t[0]});return new Promise(((e,t)=>{this.#m.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#y&&console.log("[worker] client received event data",t);const s=this.#m.get(t.id);s&&(this.#m.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t,s)=>{const i=i=>{const n=i.data;if(n.streamId===e){if("stream.fail"===n.action)return void s?.onFail?.();"error"in n?t(n.error,void 0):t(null,n.result)}};return this.#c.addEventListener("message",i),async()=>{await this.action("endStream",{streamId:e}),this.#c.removeEventListener("message",i)}};close(){this.#c.removeEventListener("message",this.handleMessage),this.#c.removeEventListener("error",ye),this.#c.terminate()}}class ke{#k;#n;#f;#I;#v;#R;#b;#x;#S=!1;#A;#T;#D;#M;#c;constructor(e){const t=new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),s=void 0!==e?.loggingLevel&&e.loggingLevel!==o.Off;this.#c=new me(t,s),this.#T=e,this.#n=new P([...e?.codecs??[]]),this.#f=new oe(this.#c,this.#n),this.#I=new ce(this.#c),this.#D=new de(this.#c)}async init(e){const t=await this.#c.action("client.init",{identifier:e,options:this.#T});this.#k=t.appVersion,this.#v=e,this.#R=t.inboxId,this.#b=t.installationId,this.#x=t.installationIdBytes,this.#A=t.libxmtpVersion,this.#S=!0}close(){this.#c.close(),this.#S=!1}static async create(e,t){const s=new ke(t);return s.#M=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new ke({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#T}get signer(){return this.#M}get isReady(){return this.#S}get inboxId(){return this.#R}get accountIdentifier(){return this.#v}get installationId(){return this.#b}get installationIdBytes(){return this.#x}get conversations(){return this.#f}get debugInformation(){return this.#I}get preferences(){return this.#D}get libxmtpVersion(){return this.#A}get appVersion(){return this.#k}async unsafe_createInboxSignatureText(){return this.#c.action("client.createInboxSignatureText",{signatureRequestId:ie()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new j;return this.#c.action("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:ie()})}async unsafe_removeAccountSignatureText(e){return this.#c.action("client.removeAccountSignatureText",{identifier:e,signatureRequestId:ie()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.#c.action("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:ie()})}async unsafe_revokeInstallationsSignatureText(e){return this.#c.action("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:ie()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.#c.action("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:ie()})}async unsafe_applySignatureRequest(e,t){return this.#c.action("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#M)throw new $;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#M.signMessage(e),i=await we(this.#M,s);return this.#c.action("client.registerIdentity",{signer:i,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#M)throw new $;if(!t)throw new j;const s=await this.fetchInboxIdByIdentifier(await e.getIdentifier());if(s)throw new z(s);const{signatureText:i,signatureRequestId:n}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(i),a=await we(e,r);return this.#c.action("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:n})}async removeAccount(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.removeAccount",{identifier:e,signer:n,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#M)throw new $;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)return;const s=await this.#M.signMessage(e),i=await we(this.#M,s);return this.#c.action("client.revokeAllOtherInstallations",{signer:i,signatureRequestId:t})}async revokeInstallations(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.revokeInstallations",{installationIds:e,signer:n,signatureRequestId:s})}static async revokeInstallations(e,t,s,i,n){await ge(e,t,s,i,n)}static async fetchInboxStates(t,s,i){return(async(t,s,i)=>(await e(),n(ue[s??"dev"],i??null,t)))(t,s,i)}async changeRecoveryIdentifier(e){if(!this.#M)throw new $;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),i=await this.#M.signMessage(t),n=await we(this.#M,i);return this.#c.action("client.changeRecoveryIdentifier",{identifier:e,signer:n,signatureRequestId:s})}async isRegistered(){return this.#c.action("client.isRegistered")}async canMessage(e){return this.#c.action("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map;for(const i of e){const e=await pe(i,t);s.set(i.identifier.toLowerCase(),void 0!==e)}return s}async fetchInboxIdByIdentifier(e){return this.#c.action("client.getInboxIdByIdentifier",{identifier:e})}signWithInstallationKey(e){return this.#c.action("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.#c.action("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.#c.action("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async fetchKeyPackageStatuses(e){return this.#c.action("client.fetchKeyPackageStatuses",{installationIds:e})}async sendSyncRequest(){return this.#c.action("client.sendSyncRequest")}}class fe{#c;#y;constructor(e){const t=new Worker(new URL("./workers/opfs",import.meta.url),{type:"module"});this.#c=new me(t,e),this.#y=e??!1}async init(){await this.#c.action("opfs.init",{enableLogging:this.#y})}close(){this.#c.close()}static async create(e){const t=new fe(e);return await t.init(),t}async listFiles(){return this.#c.action("opfs.listFiles")}async fileCount(){return this.#c.action("opfs.fileCount")}async poolCapacity(){return this.#c.action("opfs.poolCapacity")}async fileExists(e){return this.#c.action("opfs.fileExists",{path:e})}async deleteFile(e){return this.#c.action("opfs.deleteFile",{path:e})}async exportDb(e){return this.#c.action("opfs.exportDb",{path:e})}async importDb(e,t){return this.#c.action("opfs.importDb",{path:e,data:t})}async clearAll(){return this.#c.action("opfs.clearAll")}}const Ie=async t=>(await e(),c(t)),ve=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs}),Re=t=>async(...s)=>(await e(),t(...s)),be=Re(O),xe=Re(d),Se=Re(u),Ae=Re(h),Te=Re(l),De=Re(p),Me=Re(g),Ce=Re(w),qe=Re(y),Be=Re(m),Ee=Re(k),Ne=Re(f),Oe=Re(I),Fe=Re(v),Pe=Re(R),Le=Re(b),Ge=Re(x),We=Re(S),Ue=Re(A),Ke=Re(T),Ve=Re(D),_e=Re(M),$e=Re(C),je=Re(q),ze=Re(B),Xe=Re(E),He=Re(N);export{z as AccountAlreadyAssociatedError,ue as ApiUrls,ke as Client,_ as ClientNotInitializedError,ne as Conversation,oe as Conversations,W as DecodedMessage,re as Dm,ae as Group,X as GroupNotFoundError,he as HistorySyncUrls,j as InboxReassignError,fe as Opfs,Z as OpfsInitializationError,Y as OpfsNotInitializedError,$ as SignerUnavailableError,J as StreamFailedError,Q as StreamInvalidRetryAttemptsError,H as StreamNotFoundError,Ne as contentTypeActions,Oe as contentTypeAttachment,Fe as contentTypeGroupUpdated,Pe as contentTypeIntent,Le as contentTypeLeaveRequest,Ge as contentTypeMarkdown,We as contentTypeMultiRemoteAttachment,Ue as contentTypeReaction,Ke as contentTypeReadReceipt,Ve as contentTypeRemoteAttachment,_e as contentTypeReply,$e as contentTypeText,je as contentTypeTransactionReference,ze as contentTypeWalletSendCalls,He as decryptAttachment,be as encodeActions,xe as encodeAttachment,Se as encodeIntent,Ae as encodeMarkdown,Te as encodeMultiRemoteAttachment,De as encodeReaction,Me as encodeReadReceipt,Ce as encodeRemoteAttachment,qe as encodeText,Be as encodeTransactionReference,Ee as encodeWalletSendCalls,Xe as encryptAttachment,le as generateInboxId,pe as getInboxIdForIdentifier,Ie as metadataFieldName,ve as toSafeConversation,we as toSafeSigner};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/CodecRegistry.ts","../src/utils/date.ts","../src/DecodedMessage.ts","../src/AsyncStream.ts","../src/utils/errors.ts","../src/utils/streams.ts","../src/utils/uuid.ts","../src/Conversation.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/constants.ts","../src/utils/inboxId.ts","../src/utils/installations.ts","../src/utils/signer.ts","../src/utils/WorkerBridge.ts","../src/Client.ts","../src/utils/inboxState.ts","../src/Opfs.ts","../src/utils/metadata.ts","../src/utils/conversions.ts","../src/utils/contentTypes.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CodecRegistry","codecs","constructor","this","Map","map","codec","contentTypeToString","contentType","getCodec","get","nsToDate","ns","Date","Number","getContentFromDecodedMessageContent","content","type","DecodedMessage","conversationId","deliveryStatus","expiresAtNs","expiresAt","fallback","id","kind","numReplies","reactions","senderInboxId","sentAt","sentAtNs","codecRegistry","message","undefined","reaction","reply","replyContent","decode","error","Error","console","warn","referenceId","inReplyTo","encodedContent","AsyncStream","isDone","pendingResolves","queue","onDone","onReturn","flush","length","nextResolve","shift","done","value","push","next","Promise","resolve","return","end","Symbol","asyncIterator","usableProperties","isUsableProperty","prop","includes","ClientNotInitializedError","super","SignerUnavailableError","InboxReassignError","AccountAlreadyAssociatedError","inboxId","GroupNotFoundError","groupId","StreamNotFoundError","streamId","StreamFailedError","retryAttempts","StreamInvalidRetryAttemptsError","OpfsNotInitializedError","OpfsInitializationError","DEFAULT_RETRY_DELAY","DEFAULT_RETRY_ATTEMPTS","createStream","async","streamFunction","streamValueMutator","options","onEnd","onError","onFail","onRestart","onRetry","onValue","retryDelay","retryOnFail","asyncStream","streamCallback","mutatedValue","then","isPromise","catch","retry","retries","ms","setTimeout","streamCloser","startRetry","Proxy","target","receiver","Reflect","set","has","_target","ownKeys","getOwnPropertyDescriptor","enumerable","configurable","uuid","bytes","Uint8Array","crypto","getRandomValues","Array","from","b","toString","padStart","join","Conversation","addedByInboxId","createdAtNs","metadata","worker","data","syncData","createdAt","lastMessage","action","isActive","members","sync","publishMessages","send","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","sendReadReceipt","sendReply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","messages","countMessages","consentState","updateConsentState","state","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","disableSync","handleStreamMessage","pausedForVersion","hmacKeys","debugInfo","lastReadTimes","Dm","peerInboxId","duplicateDms","conversation","Group","admins","appData","description","imageUrl","name","superAdmins","updateName","updateImageUrl","updateDescription","updateAppData","listAdmins","listSuperAdmins","permissions","updatePermission","permissionType","policy","metadataField","isAdmin","isSuperAdmin","addMembersByIdentifiers","identifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","requestRemoval","isPendingRemoval","Conversations","syncAll","consentStates","getConversationById","conversationType","ConversationType","getMessageById","getDmByInboxId","fetchDmByIdentifier","identifier","list","filter","listGroups","listDms","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createDmWithIdentifier","createDm","streamGroups","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","streamMessageDeletions","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","Preferences","inboxState","refreshFromNetwork","fetchInboxState","getInboxStates","fetchInboxStates","setConsentStates","records","getConsentState","entityType","entity","streamConsent","streamPreferences","ApiUrls","local","dev","production","HistorySyncUrls","generateInboxId","nonce","init","wasmGenerateInboxId","getInboxIdForIdentifier","env","gatewayHost","host","isSecure","startsWith","wasmGetInboxIdForIdentifier","revokeInstallations","signer","installationIds","getIdentifier","signatureText","signatureRequest","revokeInstallationsSignatureRequest","revokeInstallationsSignatureText","signature","signMessage","addEcdsaSignature","addScwSignature","getChainId","getBlockNumber","applySignatureRequest","toSafeSigner","chainId","blockNumber","handleError","event","WorkerBridge","enableLogging","promises","addEventListener","handleMessage","args","promiseId","postMessage","reject","eventData","log","promise","delete","result","streamHandler","removeEventListener","close","terminate","Client","appVersion","conversations","debugInformation","installationId","installationIdBytes","isReady","libxmtpVersion","preferences","Worker","URL","url","loggingLevel","LogLevel","Off","create","client","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","signatureRequestId","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","fetchInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utilsRevokeInstallations","wasmInboxStateFromInboxIds","utilsInboxStateFromInboxIds","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","Opfs","opfs","listFiles","fileCount","poolCapacity","fileExists","path","deleteFile","exportDb","importDb","clearAll","metadataFieldName","field","wasmMetadataFieldName","toSafeConversation","wrap","fn","encodeActions","wasmEncodeActions","encodeAttachment","wasmEncodeAttachment","encodeIntent","wasmEncodeIntent","encodeMarkdown","wasmEncodeMarkdown","encodeMultiRemoteAttachment","wasmEncodeMultiRemoteAttachment","encodeReaction","wasmEncodeReaction","encodeReadReceipt","wasmEncodeReadReceipt","encodeRemoteAttachment","wasmEncodeRemoteAttachment","encodeText","wasmEncodeText","encodeTransactionReference","wasmEncodeTransactionReference","encodeWalletSendCalls","wasmEncodeWalletSendCalls","contentTypeActions","wasmContentTypeActions","contentTypeAttachment","wasmContentTypeAttachment","contentTypeGroupUpdated","wasmContentTypeGroupUpdated","contentTypeIntent","wasmContentTypeIntent","contentTypeLeaveRequest","wasmContentTypeLeaveRequest","contentTypeMarkdown","wasmContentTypeMarkdown","contentTypeMultiRemoteAttachment","wasmContentTypeMultiRemoteAttachment","contentTypeReaction","wasmContentTypeReaction","contentTypeReadReceipt","wasmContentTypeReadReceipt","contentTypeRemoteAttachment","wasmContentTypeRemoteAttachment","contentTypeReply","wasmContentTypeReply","contentTypeText","wasmContentTypeText","contentTypeTransactionReference","wasmContentTypeTransactionReference","contentTypeWalletSendCalls","wasmContentTypeWalletSendCalls","encryptAttachment","wasmEncryptAttachment","decryptAttachment","wasmDecryptAttachment"],"mappings":"y1CAMaA,EACXC,GAEA,WAAAC,CAAYD,GACVE,MAAKF,EAAU,IAAIG,IACjBH,EAAOI,KAAKC,GAAU,CAACC,EAAoBD,EAAME,aAAcF,KAEnE,CAQA,QAAAG,CAAgCD,GAC9B,OAAOL,MAAKF,EAAQS,IAAIH,EAAoBC,GAG9C,ECzBI,SAAUG,EAASC,GACvB,OAAO,IAAIC,KAAKC,OAAOF,EAAK,UAC9B,CCaA,MAAMG,EACJC,IAEA,OAAQA,EAAQC,MACd,IAAK,OAGL,IAAK,WAGL,IAAK,QAGL,IAAK,WAGL,IAAK,aAGL,IAAK,mBAGL,IAAK,wBAGL,IAAK,uBAGL,IAAK,eAGL,IAAK,cAGL,IAAK,eAGL,IAAK,kBAGL,IAAK,SAGL,IAAK,UAGL,IAAK,SACH,OAAOD,EAAQA,QAEjB,QAEE,OAAO,aAuBAE,EACXF,QACAR,YACAW,eACAC,eACAC,YACAC,UACAC,SACAC,GACAC,KACAC,WACAC,UACAC,cACAC,OACAC,SAEA,WAAA5B,CAAY6B,EAA8BC,GAyBxC,OAxBA7B,KAAKqB,GAAKQ,EAAQR,GAClBrB,KAAKkB,YAAcW,EAAQX,YAC3BlB,KAAKmB,UAAYU,EAAQX,YACrBV,EAASqB,EAAQX,kBACjBY,EACJ9B,KAAK2B,SAAWE,EAAQF,SACxB3B,KAAK0B,OAASlB,EAASqB,EAAQF,UAC/B3B,KAAKgB,eAAiBa,EAAQb,eAC9BhB,KAAKyB,cAAgBI,EAAQJ,cAC7BzB,KAAKK,YAAcwB,EAAQxB,YAC3BL,KAAKoB,SAAWS,EAAQT,eAAYU,EAEpC9B,KAAKsB,KAAOO,EAAQP,KACpBtB,KAAKiB,eAAiBY,EAAQZ,eAE9BjB,KAAKuB,WAAaM,EAAQN,WAC1BvB,KAAKwB,UAAYK,EAAQL,UAAUtB,KAChC6B,GAAa,IAAIhB,EAAyBa,EAAeG,KAG5D/B,KAAKa,QACHD,EAAkDiB,EAAQhB,eAC1DiB,EAEMD,EAAQhB,QAAQC,MACtB,IAAK,QAAS,CACZ,MAAMkB,EAAQH,EAAQhB,QAAQA,QAC9B,IAAIoB,EAAerB,EACjBoB,EAAMnB,SAER,GAA2B,WAAvBmB,EAAMnB,QAAQC,KAAmB,CACnC,MAAMX,EAAQyB,EAActB,SAC1B0B,EAAMnB,QAAQA,QAAQC,MAExB,GAAIX,EACF,IACE8B,EAAe9B,EAAM+B,OAAOD,EAC9B,CAAE,MAAOE,GACHA,aAAiBC,MACnBC,QAAQC,KAAK,kCAAkCH,EAAMN,WAErDQ,QAAQC,KAAK,gCAEjB,CAEJ,CACAtC,KAAKa,QAAU,CACb0B,YAAaP,EAAMO,YACnB1B,QAASoB,EACTO,UAAWR,EAAMQ,UACb,IAAIzB,EAA6Ba,EAAeI,EAAMQ,WACtD,MAEN,KACF,CACA,IAAK,SAAU,CACb,MAAMC,EAAiBZ,EAAQhB,QAAQA,QACjCV,EAAQyB,EAActB,SAAuBN,KAAKK,aACxD,GAAIF,EACF,IACEH,KAAKa,QAAUV,EAAM+B,OAAOO,EAC9B,CAAE,MAAON,GACHA,aAAiBC,MACnBC,QAAQC,KAAK,kCAAkCH,EAAMN,WAErDQ,QAAQC,KAAK,iCAEftC,KAAKa,aAAUiB,CACjB,MAEAO,QAAQC,KACN,oCAAoClC,EAAoBJ,KAAKK,iBAE/DL,KAAKa,aAAUiB,EAEjB,KACF,EAEJ,QC3JWY,EACXC,QAAS,EACTC,GAAiD,GACjDC,GACAC,OACAC,SAEA,WAAAhD,GACEC,MAAK6C,EAAS,GACd7C,KAAK2C,QAAS,CAChB,CAEA,KAAAK,GACE,KAAOhD,MAAK4C,EAAiBK,OAAS,GAAG,CACvC,MAAMC,EAAclD,MAAK4C,EAAiBO,QACtCD,GACFA,EAAY,CAAEE,MAAM,EAAMC,WAAOvB,GAErC,CACF,CAEA,IAAAsB,GACEpD,KAAKgD,QACLhD,MAAK6C,EAAS,GACd7C,MAAK4C,EAAmB,GACxB5C,KAAK2C,QAAS,EACd3C,KAAK8C,UACP,CAEAQ,KAAQD,IACN,GAAIrD,KAAK2C,OACP,OAGF,MAAMO,EAAclD,MAAK4C,EAAiBO,QACtCD,EACFA,EAAY,CACVE,MAAM,EACNC,UAGFrD,MAAK6C,EAAOS,KAAKD,EACnB,EAGFE,KAAO,IACDvD,KAAK2C,OACAa,QAAQC,QAAQ,CAAEL,MAAM,EAAMC,WAAOvB,IAG1C9B,MAAK6C,EAAOI,OAAS,EAChBO,QAAQC,QAAQ,CACrBL,MAAM,EACNC,MAAOrD,MAAK6C,EAAOM,UAIhB,IAAIK,SAASC,IAClBzD,MAAK4C,EAAiBU,KAAKG,EAAQ,IAIvCC,OAAS,KACP1D,KAAK+C,aACL/C,KAAKoD,OAEEI,QAAQC,QAAQ,CACrBL,MAAM,EACNC,WAAOvB,KAIX6B,IAAM,IAAM3D,KAAK0D,SAEjB,CAACE,OAAOC,iBACN,OAAO7D,IACT,EAUF,MAAM8D,EAAmB,CACvB,MACA,SACA,OACA,SACAF,OAAOC,eAEHE,EACJC,GAEOF,EAAiBG,SAASD,GC7H7B,MAAOE,UAAkC9B,MAC7C,WAAArC,GACEoE,MACE,+EAEJ,EAGI,MAAOC,UAA+BhC,MAC1C,WAAArC,GACEoE,MACE,yEAEJ,EAGI,MAAOE,UAA2BjC,MACtC,WAAArC,GACEoE,MACE,iFAEJ,EAGI,MAAOG,UAAsClC,MACjD,WAAArC,CAAYwE,GACVJ,MAAM,yCAAyCI,IACjD,EAGI,MAAOC,UAA2BpC,MACtC,WAAArC,CAAY0E,GACVN,MAAM,UAAUM,eAClB,EAGI,MAAOC,UAA4BtC,MACvC,WAAArC,CAAY4E,GACVR,MAAM,WAAWQ,eACnB,EAGI,MAAOC,UAA0BxC,MACrC,WAAArC,CAAY8E,GAEVV,MAAM,0BAA0BU,KADlB,QAAyB,IAAlBA,EAAsB,IAAM,MAEnD,EAGI,MAAOC,UAAwC1C,MACnD,WAAArC,GACEoE,MAAM,+CACR,EAGI,MAAOY,UAAgC3C,MAC3C,WAAArC,GACEoE,MAAM,wDACR,EAGI,MAAOa,UAAgC5C,MAC3C,WAAArC,GACEoE,MACE,kGAEJ,EC/DF,MAWac,GAAsB,IACtBC,GAAyB,EA8EzBC,GAAeC,MAC1BC,EACAC,EACAC,KAEA,MAAMC,MACJA,EAAKC,QACLA,EAAOC,OACPA,EAAMC,UACNA,EAASC,QACTA,EAAOC,QACPA,EAAOhB,cACPA,EAAgBK,GAAsBY,WACtCA,EAAab,GAAmBc,YAChCA,GAAc,GACZR,GAAW,CAAA,EAEf,GAAIQ,GAAelB,EAAgB,EACjC,MAAM,IAAIC,EAGZ,MAAMkB,EAAc,IAAItD,EAClBuD,EAAoC,CAAC9D,EAAOkB,KAEhD,GAAIlB,EACFsD,IAAUtD,QAIZ,QAAcL,IAAVuB,EACF,IAEE,GAAIiC,EAAoB,CACtB,MAAMY,EAAeZ,EAAmBjC,GA3HhC,CAAcA,KAE1BA,IACgB,iBAAVA,GAAuC,mBAAVA,IACrC,SAAUA,GACY,mBAAfA,EAAM8C,KAuHHC,CAAUF,GACPA,EACFC,MAAMD,IACLF,EAAY1C,KAAK4C,GACjBL,IAAUK,EAAa,IAExBG,OAAOlE,IACNsD,IAAUtD,EAAe,KAG7B6D,EAAY1C,KAAK4C,GACjBL,IAAUK,GAEd,MACEF,EAAY1C,KAAKD,GACjBwC,IAAUxC,EAEd,CAAE,MAAOlB,GACPsD,IAAUtD,EACZ,CACF,EAEImE,EAAQlB,MAAOmB,EAAkB1B,KACrC,IAGE,GAAgB,IAAZ0B,EAEF,MADKP,EAAYrC,MACX,IAAIiB,EAAkBC,SA/ItB2B,EAmJGV,EAnJY,IAAItC,SAASC,GAAYgD,WAAWhD,EAAS+C,MAqJpEZ,IAAUf,EAAgB0B,EAAU,EAAG1B,GAGvC,MAAM6B,QAAqBrB,EAAeY,GAAgB,KAExDP,MACKY,GAAO,IAIdN,EAAYlD,OAAS,KACnB4D,IACAlB,KAAS,EAIXG,KACF,CAAE,MAAOxD,GACPsD,IAAUtD,GAELmE,EAAMC,EAAU,EACvB,CA1KS,IAACC,CA0KV,EAEIG,EAAa,KAEjB,IAAIZ,EAKF,MAFKC,EAAYrC,MAEX,IAAIiB,EAAkB,GAJvB0B,GAKP,EAGF,IAEE,MAAMI,QAAqBrB,EAAeY,GAAgB,KAExDP,MACAiB,GAAY,IAGdX,EAAYlD,OAAS,KACnB4D,IACAlB,KAAS,CAEb,CAAE,MAAOrD,GACPsD,IAAUtD,GACVwE,GACF,CAGA,OFvDO,IAAIC,MEuDmBZ,EFvDL,CACvB,GAAAzF,CAAIsG,EAAQ7C,EAAM8C,GAChB,GAAI/C,EAAiBC,GACnB,OAAO+C,QAAQxG,IAAIsG,EAAQ7C,EAAM8C,EAErC,EAEAE,IAAG,KACM,EAGTC,IAAG,CAACC,EAASlD,IACJD,EAAiBC,GAG1BmD,QAAO,IACErD,EAGT,wBAAAsD,CAAyBP,EAAQ7C,GAC/B,GAAID,EAAiBC,GACnB,MAAO,CACLqD,YAAY,EACZC,cAAc,EACdjE,MAAO0D,QAAQxG,IAAIsG,EAAQ7C,GAIjC,GE2BwC,EClN/BuD,GAAO,KAClB,MAAMC,EAAQ,IAAIC,WAAW,IAE7B,OADAC,OAAOC,gBAAgBH,GAChBI,MAAMC,KAAKL,GAAQM,GAAMA,EAAEC,SAAS,IAAIC,SAAS,EAAG,OAAMC,KAAK,GAAG,QC4B9DC,GACXC,GACAvG,GACAwG,GACA/G,GACAgH,GACAC,GAUA,WAAAvI,CACEuI,EACA1G,EACAP,EACAkH,GAEAvI,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,EACtB5B,MAAKqB,EAAMA,EACXrB,MAAKwI,EAAUD,EACjB,CAEA,EAAAC,CAAUD,GACRvI,MAAKmI,EAAkBI,GAAMJ,eAC7BnI,MAAKqI,EAAYE,GAAMF,SACvBrI,MAAKoI,EAAeG,GAAMH,WAC5B,CAEA,MAAI/G,GACF,OAAOrB,MAAKqB,CACd,CAEA,kBAAI8G,GACF,OAAOnI,MAAKmI,CACd,CAEA,eAAIC,GACF,OAAOpI,MAAKoI,CACd,CAEA,aAAIK,GACF,OAAOzI,MAAKoI,EAAe5H,EAASR,MAAKoI,QAAgBtG,CAC3D,CAEA,YAAIuG,GACF,OAAOrI,MAAKqI,CACd,CAEA,iBAAMK,GACJ,MAAMA,QAAoB1I,MAAKsI,EAAQK,OAAO,2BAA4B,CACxEtH,GAAIrB,MAAKqB,IAEX,OAAOqH,EACH,IAAI3H,EAA6Bf,MAAK4B,EAAgB8G,QACtD5G,CACN,CAEA,cAAM8G,GACJ,OAAO5I,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,GAEb,CAOA,aAAMwH,GACJ,OAAO7I,MAAKsI,EAAQK,OAAO,uBAAwB,CACjDtH,GAAIrB,MAAKqB,GAEb,CAOA,UAAMyH,GACJ,MAAMP,QAAavI,MAAKsI,EAAQK,OAAO,oBAAqB,CAC1DtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAKwI,EAAUD,GACRA,CACT,CAOA,qBAAMQ,GACJ,OAAO/I,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDtH,GAAIrB,MAAKqB,GAEb,CAaA,UAAM2H,CAAKnI,EAAyB0E,GAClC,OAAOvF,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,EACTR,UACA0E,WAEJ,CASA,cAAM0D,CAASC,EAAcC,GAC3B,OAAOnJ,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,EACT6H,OACAC,gBAEJ,CASA,kBAAMC,CAAaC,EAAkBF,GACnC,OAAOnJ,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,EACTgI,WACAF,gBAEJ,CASA,kBAAMG,CAAavH,EAAoBoH,GACrC,OAAOnJ,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,EACTU,WACAoH,gBAEJ,CAQA,qBAAMI,CAAgBJ,GACpB,OAAOnJ,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDtH,GAAIrB,MAAKqB,EACT8H,gBAEJ,CASA,eAAMK,CAAUxH,EAAcmH,GAC5B,OAAOnJ,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTW,QACAmH,gBAEJ,CASA,8BAAMM,CACJC,EACAP,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,wCAAyC,CAClEtH,GAAIrB,MAAKqB,EACTqI,uBACAP,gBAEJ,CASA,yBAAMQ,CACJC,EACAT,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DtH,GAAIrB,MAAKqB,EACTuI,kBACAT,gBAEJ,CASA,iBAAMU,CAAYC,EAAkBX,GAClC,OAAOnJ,MAAKsI,EAAQK,OAAO,2BAA4B,CACrDtH,GAAIrB,MAAKqB,EACTyI,UACAX,gBAEJ,CASA,gBAAMY,CAAWC,EAAgBb,GAC/B,OAAOnJ,MAAKsI,EAAQK,OAAO,0BAA2B,CACpDtH,GAAIrB,MAAKqB,EACT2I,SACAb,gBAEJ,CASA,oBAAMc,CAAeC,EAAwBf,GAC3C,OAAOnJ,MAAKsI,EAAQK,OAAO,8BAA+B,CACxDtH,GAAIrB,MAAKqB,EACT6I,aACAf,gBAEJ,CASA,+BAAMgB,CACJC,EACAjB,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,yCAA0C,CACnEtH,GAAIrB,MAAKqB,EACT+I,wBACAjB,gBAEJ,CASA,0BAAMkB,CACJC,EACAnB,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,oCAAqC,CAC9DtH,GAAIrB,MAAKqB,EACTiJ,mBACAnB,gBAEJ,CAQA,cAAMoB,CAAShF,GAMb,aALuBvF,MAAKsI,EAAQK,OAAO,wBAAyB,CAClEtH,GAAIrB,MAAKqB,EACTkE,aAGcrF,KACb2B,GACC,IAAId,EAA6Bf,MAAK4B,EAAgBC,IAE5D,CAQA,mBAAM2I,CACJjF,GAMA,aAJoBvF,MAAKsI,EAAQK,OAAO,6BAA8B,CACpEtH,GAAIrB,MAAKqB,EACTkE,WAGJ,CAOA,kBAAMkF,GACJ,OAAOzK,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,GAEb,CAQA,wBAAMqJ,CAAmBC,GACvB,OAAO3K,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5DtH,GAAIrB,MAAKqB,EACTsJ,SAEJ,CAOA,iCAAMC,GACJ,OAAO5K,MAAKsI,EAAQK,OAAO,2CAA4C,CACrEtH,GAAIrB,MAAKqB,GAEb,CASA,uCAAMwJ,CAAkCC,EAAgBC,GACtD,OAAO/K,MAAKsI,EAAQK,OAClB,iDACA,CACEtH,GAAIrB,MAAKqB,EACTyJ,SACAC,QAGN,CAOA,uCAAMC,GACJ,OAAOhL,MAAKsI,EAAQK,OAClB,iDACA,CACEtH,GAAIrB,MAAKqB,GAGf,CAOA,kCAAM4J,GACJ,OAAOjL,MAAKsI,EAAQK,OAAO,4CAA6C,CACtEtH,GAAIrB,MAAKqB,GAEb,CAQA,YAAM6J,CACJ3F,GA6BA,OAAOJ,IA3BQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAWjB,OAVKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,sBAAuB,CAC/ClE,QAASzE,MAAKqB,EACdsD,aAGK3E,MAAKsI,EAAQ+C,oBAGlB1G,EAAUwG,EAAU,IACjB5F,EACHG,UACA,IAEoBrC,GACf,IAAItC,EAA6Bf,MAAK4B,EAAgByB,IAGnBkC,EAC9C,CAEA,sBAAM+F,GACJ,OAAOtL,MAAKsI,EAAQK,OAAO,gCAAiC,CAC1DtH,GAAIrB,MAAKqB,GAEb,CAOA,cAAMkK,GACJ,OAAOvL,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,GAEb,CAOA,eAAMmK,GACJ,OAAOxL,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,GAEb,CAQA,mBAAMoK,GACJ,OAAOzL,MAAKsI,EAAQK,OAAO,6BAA8B,CACvDtH,GAAIrB,MAAKqB,GAEb,EC7gBI,MAAOqK,WAAmCxD,GAC9CtG,GACA0G,GACAjH,GAUA,WAAAtB,CACEuI,EACA1G,EACAP,EACAkH,GAEApE,MAAMmE,EAAQ1G,EAAeP,EAAIkH,GACjCvI,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,EACtB5B,MAAKqB,EAAMA,CACb,CAOA,iBAAMsK,GACJ,OAAO3L,MAAKsI,EAAQK,OAAO,iBAAkB,CAC3CtH,GAAIrB,MAAKqB,GAEb,CAEA,kBAAMuK,GAKJ,aAJ4B5L,MAAKsI,EAAQK,OAAO,kBAAmB,CACjEtH,GAAIrB,MAAKqB,KAGUnB,KAClB2L,GACC,IAAIH,GACF1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,EC5CI,MAAOC,WAAsC5D,GACjD6D,GAAsC,GACtCC,GACA1D,GACA2D,GACA5K,GACA6K,GACAC,GACAC,GAAgD,GAEhD,EAAA5D,CAAUD,GACRvI,MAAKmM,EAAQ5D,GAAM4D,MAAQ,GAC3BnM,MAAKkM,EAAY3D,GAAM2D,UAAY,GACnClM,MAAKiM,EAAe1D,GAAM0D,aAAe,GACzCjM,MAAKgM,EAAWzD,GAAMyD,SAAW,GACjChM,MAAK+L,EAAUxD,GAAMwD,QAAU,GAC/B/L,MAAKoM,EAAe7D,GAAM6D,aAAe,EAC3C,CAUA,WAAArM,CACEuI,EACA1G,EACAP,EACAkH,GAEApE,MAAMmE,EAAQ1G,EAAeP,EAAIkH,GACjCvI,MAAKsI,EAAUA,EACftI,MAAKqB,EAAMA,EACXrB,MAAKwI,EAAUD,EACjB,CAOA,UAAMO,GACJ,MAAMP,QAAapE,MAAM2E,OAEzB,OADA9I,MAAKwI,EAAUD,GACRA,CACT,CAKA,QAAI4D,GACF,OAAOnM,MAAKmM,CACd,CAOA,gBAAME,CAAWF,SACTnM,MAAKsI,EAAQK,OAAO,mBAAoB,CAC5CtH,GAAIrB,MAAKqB,EACT8K,SAEFnM,MAAKmM,EAAQA,CACf,CAKA,YAAID,GACF,OAAOlM,MAAKkM,CACd,CAOA,oBAAMI,CAAeJ,SACblM,MAAKsI,EAAQK,OAAO,uBAAwB,CAChDtH,GAAIrB,MAAKqB,EACT6K,aAEFlM,MAAKkM,EAAYA,CACnB,CAKA,eAAID,GACF,OAAOjM,MAAKiM,CACd,CAOA,uBAAMM,CAAkBN,SAChBjM,MAAKsI,EAAQK,OAAO,0BAA2B,CACnDtH,GAAIrB,MAAKqB,EACT4K,gBAEFjM,MAAKiM,EAAeA,CACtB,CAKA,WAAID,GACF,OAAOhM,MAAKgM,CACd,CAOA,mBAAMQ,CAAcR,SACZhM,MAAKsI,EAAQK,OAAO,sBAAuB,CAC/CtH,GAAIrB,MAAKqB,EACT2K,YAEFhM,MAAKgM,EAAWA,CAClB,CAKA,UAAID,GACF,OAAO/L,MAAK+L,CACd,CAKA,eAAIK,GACF,OAAOpM,MAAKoM,CACd,CAOA,gBAAMK,GACJ,MAAMV,QAAe/L,MAAKsI,EAAQK,OAAO,mBAAoB,CAC3DtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAK+L,EAAUA,EACRA,CACT,CAOA,qBAAMW,GACJ,MAAMN,QAAoBpM,MAAKsI,EAAQK,OAAO,wBAAyB,CACrEtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAKoM,EAAeA,EACbA,CACT,CAOA,iBAAMO,GACJ,OAAO3M,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,GAEb,CASA,sBAAMuL,CACJC,EACAC,EACAC,GAEA,OAAO/M,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTwL,iBACAC,SACAC,iBAEJ,CAQA,aAAMC,CAAQzI,GAEZ,aADqBvE,KAAKyM,cACZxI,SAASM,EACzB,CAQA,kBAAM0I,CAAa1I,GAEjB,aAD0BvE,KAAK0M,mBACZzI,SAASM,EAC9B,CAOA,6BAAM2I,CAAwBC,GAC5B,OAAOnN,MAAKsI,EAAQK,OAAO,gCAAiC,CAC1DtH,GAAIrB,MAAKqB,EACT8L,eAEJ,CAOA,gBAAMC,CAAWC,GACf,OAAOrN,MAAKsI,EAAQK,OAAO,mBAAoB,CAC7CtH,GAAIrB,MAAKqB,EACTgM,YAEJ,CAOA,gCAAMC,CAA2BH,GAC/B,OAAOnN,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DtH,GAAIrB,MAAKqB,EACT8L,eAEJ,CAOA,mBAAMI,CAAcF,GAClB,OAAOrN,MAAKsI,EAAQK,OAAO,sBAAuB,CAChDtH,GAAIrB,MAAKqB,EACTgM,YAEJ,CAOA,cAAMG,CAASjJ,GACb,OAAOvE,MAAKsI,EAAQK,OAAO,iBAAkB,CAC3CtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,iBAAMkJ,CAAYlJ,GAChB,OAAOvE,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,mBAAMmJ,CAAcnJ,GAClB,OAAOvE,MAAKsI,EAAQK,OAAO,sBAAuB,CAChDtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,sBAAMoJ,CAAiBpJ,GACrB,OAAOvE,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAKA,oBAAMqJ,GACJ,OAAO5N,MAAKsI,EAAQK,OAAO,uBAAwB,CACjDtH,GAAIrB,MAAKqB,GAEb,CAOA,sBAAMwM,GACJ,OAAO7N,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,GAEb,QCtUWyM,GACXlM,GACA0G,GAQA,WAAAvI,CACEuI,EACA1G,GAEA5B,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,CACxB,CAOA,UAAMkH,GACJ,OAAO9I,MAAKsI,EAAQK,OAAO,qBAC7B,CAUA,aAAMoF,CAAQC,GACZ,OAAOhO,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDqF,iBAEJ,CAQA,yBAAMC,CAAoB5M,GACxB,MAAMkH,QAAavI,MAAKsI,EAAQK,OAC9B,oCACA,CACEtH,OAGJ,GAAIkH,EACF,OAAQA,EAAKF,SAAS6F,kBACpB,KAAKC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACL2G,EAAKlH,GACLkH,GAEJ,KAAK4F,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACL2G,EAAKlH,GACLkH,GAEJ,QACE,OAIR,CAQA,oBAAM6F,CAAe/M,GACnB,MAAMkH,QAAavI,MAAKsI,EAAQK,OAAO,+BAAgC,CACrEtH,OAEF,OAAOkH,EACH,IAAIxH,EAA6Bf,MAAK4B,EAAgB2G,QACtDzG,CACN,CAQA,oBAAMuM,CAAe9J,GACnB,MAAMgE,QAAavI,MAAKsI,EAAQK,OAAO,+BAAgC,CACrEpE,YAEF,OAAOgE,EACH,IAAImD,GAAG1L,MAAKsI,EAAStI,MAAK4B,EAAgB2G,EAAKlH,GAAIkH,QACnDzG,CACN,CAQA,yBAAMwM,CAAoBC,GACxB,MAAMhK,QAAgBvE,MAAKsI,EAAQK,OAAO,gCAAiC,CACzE4F,eAEF,GAAKhK,EAGL,OAAOvE,KAAKqO,eAAe9J,EAC7B,CAQA,UAAMiK,CAAKjJ,GAKT,aAJ4BvF,MAAKsI,EAAQK,OAAO,qBAAsB,CACpEpD,aAICrF,KAAK2L,IACJ,OAAQA,EAAaxD,SAAS6F,kBAC5B,KAAKC,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,GAEJ,KAAKsC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,GAEJ,QACE,WAGL4C,QAAQ5C,QAAkC/J,IAAjB+J,GAC9B,CAQA,gBAAM6C,CACJnJ,GASA,aAP4BvF,MAAKsI,EAAQK,OACvC,2BACA,CACEpD,aAIiBrF,KAClB2L,GACC,IAAIC,GACF9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,CAQA,aAAM8C,CAAQpJ,GAKZ,aAJ4BvF,MAAKsI,EAAQK,OAAO,wBAAyB,CACvEpD,aAGmBrF,KAClB2L,GACC,IAAIH,GACF1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,CAQA,2BAAM+C,CAAsBrJ,GAC1B,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,sCACA,CACEpD,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,gCAAMgD,CACJ1B,EACA5H,GAEA,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,2CACA,CACEwE,cACA5H,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,iBAAMiD,CAAYzB,EAAoB9H,GACpC,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,4BACA,CACE0E,WACA9H,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,4BAAMkD,CACJR,EACAhJ,GAEA,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,uCACA,CACE4F,aACAhJ,YAIJ,OAAO,IAAImG,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,cAAMmD,CAASzK,EAAiBgB,GAC9B,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OAAO,yBAA0B,CACvEpE,UACAgB,YAGF,OAAO,IAAImG,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CAOA,cAAMN,GACJ,OAAOvL,MAAKsI,EAAQK,OAAO,yBAC7B,CASA,YAAMuC,CAKJ3F,GAmDA,OAAOJ,IA/CQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAWjB,OAVKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,uBAAwB,CAChDhE,WACAuJ,iBAAkB3I,GAAS2I,mBAGtBlO,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA,IACK5F,EACHG,UAEH,IAE0BrC,IAC3B,OAAQA,EAAMgF,SAAS6F,kBACrB,KAAKC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLyB,EAAMhC,GACNgC,GAEJ,KAAK8K,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLyB,EAAMhC,GACNgC,GAEJ,QACE,MAAM,IAAIjB,MACR,8BAA8BiB,EAAMgF,SAAS6F,uBAKJ3I,EACnD,CAQA,kBAAM0J,CACJ1J,GAEA,OAAOvF,KAAKkL,OAAO,IACd3F,EACH2I,iBAAkBC,EAAiBrC,OAEvC,CAQA,eAAMoD,CAAU3J,GACd,OAAOvF,KAAKkL,OAAO,IACd3F,EACH2I,iBAAkBC,EAAiBzC,IAEvC,CAUA,uBAAMyD,CACJ5J,GAoCA,OAAOJ,IA5BQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAYjB,OAXKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,kCAAmC,CAC3DhE,WACAuJ,iBAAkB3I,GAAS2I,iBAC3BF,cAAezI,GAASyI,gBAGnBhO,MAAKsI,EAAQ+C,oBAGlB1G,EAAUwG,EAAU,IACjB5F,EACHG,UACA,IAEoBrC,GACf,IAAItC,EAA6Bf,MAAK4B,EAAgByB,IAGnBkC,EAC9C,CASA,4BAAM6J,CACJ7J,GAOA,OAAOvF,KAAKmP,kBAAkB,IACzB5J,EACH2I,iBAAkBC,EAAiBrC,OAEvC,CASA,yBAAMuD,CACJ9J,GAOA,OAAOvF,KAAKmP,kBAAkB,IACzB5J,EACH2I,iBAAkBC,EAAiBzC,IAEvC,CAQA,4BAAM4D,CACJ/J,GAwBA,OAAOJ,IAbQC,MAAO+F,IACpB,MAAMxG,EAAW4C,KAMjB,aAJMvH,MAAKsI,EAAQK,OAAO,uCAAwC,CAChEhE,aAGK3E,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA5F,EACD,QAEyBzD,EAAWyD,EACzC,QC7jBWgK,GACXjH,GAEA,WAAAvI,CAAYuI,GACVtI,MAAKsI,EAAUA,CACjB,CAEA,aAAAkH,GACE,OAAOxP,MAAKsI,EAAQK,OAAO,iCAC7B,CAEA,qBAAA8G,GACE,OAAOzP,MAAKsI,EAAQK,OAAO,yCAC7B,CAEA,sBAAA+G,GACE,OAAO1P,MAAKsI,EAAQK,OAAO,0CAC7B,CAEA,kBAAAgH,GACE,OAAO3P,MAAKsI,EAAQK,OAAO,sCAC7B,QCTWiH,GACXtH,GAOA,WAAAvI,CAAYuI,GACVtI,MAAKsI,EAAUA,CACjB,CAEA,IAAAQ,GACE,OAAO9I,MAAKsI,EAAQK,OAAO,mBAC7B,CAOA,gBAAMkH,GACJ,OAAO7P,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDmH,oBAAoB,GAExB,CAOA,qBAAMC,GACJ,OAAO/P,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDmH,oBAAoB,GAExB,CASA,oBAAME,CAAe3C,GACnB,OAAOrN,MAAKsI,EAAQK,OAAO,6BAA8B,CACvD0E,WACAyC,oBAAoB,GAExB,CAQA,sBAAMG,CAAiB5C,GACrB,OAAOrN,MAAKsI,EAAQK,OAAO,6BAA8B,CACvD0E,WACAyC,oBAAoB,GAExB,CAQA,sBAAMI,CAAiBC,GACrB,OAAOnQ,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDwH,WAEJ,CASA,qBAAMC,CACJC,EACAC,GAEA,OAAOtQ,MAAKsI,EAAQK,OAAO,8BAA+B,CACxD0H,aACAC,UAEJ,CAQA,mBAAMC,CAAchL,GAqBlB,OAAOJ,IApBQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAUjB,OARKhC,GAAS6F,mBACNpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,4BAA6B,CACrDhE,aAGK3E,MAAKsI,EAAQ+C,oBAA+B1G,EAAUwG,EAAU,IAClE5F,EACHG,UACA,QAGwB5D,EAAWyD,EACzC,CAQA,uBAAMiL,CAAkBjL,GAyBtB,OAAOJ,IAxBQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAUjB,OARKhC,GAAS6F,mBACNpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,gCAAiC,CACzDhE,aAGK3E,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA,IACK5F,EACHG,UAEH,QAGyB5D,EAAWyD,EACzC,ECxKK,MAAMkL,GAAU,CACrBC,MAAO,wBACPC,IAAK,oCACLC,WAAY,4CAWDC,GAAkB,CAC7BH,MAAO,wBACPC,IAAK,+CACLC,WAAY,uDCVDE,GAAkB1L,MAC7BmJ,EACAwC,WAEMC,IACCC,EAAoB1C,EAAYwC,IAW5BG,GAA0B9L,MACrCmJ,EACA4C,EACAC,WAEMJ,IACN,MAAMK,EAAOF,EAAMV,GAAQU,GAAOV,GAAQE,IACpCW,EAAWD,EAAKE,WAAW,SACjC,OAAOC,EACLH,EACAD,GAAe,KACfE,EACA/C,EACD,ECeUkD,GAAsBrM,MACjCsM,EACAnN,EACAoN,EACAR,EACAC,WAEMJ,IACN,MAAMzC,QAAmBmD,EAAOE,iBAC1BC,cAAEA,EAAaC,iBAAEA,QA1CuB1M,OAC9CmJ,EACAhK,EACAoN,EACAR,EACAC,WAKMJ,IACN,MACMc,EAAmBC,EADZtB,GAAQU,GAAO,OAG1BC,GAAe,KACf7C,EACAhK,EACAoN,GAGF,MAAO,CAAEE,oBADmBC,EAAiBD,gBACrBC,mBAAkB,EAuBlCE,CACJzD,EACAhK,EACAoN,EACAR,EACAC,GAEEa,QAAkBP,EAAOQ,YAAYL,GACrCR,EAAOZ,GAAQU,GAAO,OAE5B,OAAQO,EAAO5Q,MACb,IAAK,YACGgR,EAAiBK,kBAAkBF,GACzC,MACF,IAAK,YACGH,EAAiBM,gBACrB7D,EACA0D,EACAP,EAAOW,aACPX,EAAOY,0BAKPC,EAAsBlB,EAAMD,GAAe,KAAMU,EAAiB,ECvD7DU,GAAepN,MAC1BsM,EACAO,KAEA,OAAQP,EAAO5Q,MACb,IAAK,MACH,MAAO,CACLA,KAAM,MACNyN,iBAAkBmD,EAAOE,gBACzBK,aAEJ,IAAK,MACH,MAAO,CACLnR,KAAM,MACNyN,iBAAkBmD,EAAOE,gBACzBK,YACAQ,QAASf,EAAOW,aAChBK,YAAahB,EAAOY,sBCvCtBK,GAAeC,IACnBvQ,QAAQF,MAAM,mBAAmByQ,EAAM/Q,UAAU,QAYtCgR,GACXvK,GACAwK,GACAC,GAAY,IAAI9S,IAQhB,WAAAF,CAAYuI,EAAgBwK,GAC1B9S,MAAKsI,EAAUA,EACftI,MAAKsI,EAAQ0K,iBAAiB,UAAWhT,KAAKiT,eAC9CjT,MAAKsI,EAAQ0K,iBAAiB,QAASL,IACvC3S,MAAK8S,EAAiBA,IAAiB,CACzC,CASA,MAAAnK,CAIEA,KAAcuK,GACd,MAAMC,EAAY5L,KAClBvH,MAAKsI,EAAQ8K,YAAY,CACvBzK,SACAtH,GAAI8R,EACJ5K,KAAM2K,EAAK,KAQb,OANgB,IAAI1P,SAAQ,CAACC,EAAS4P,KACpCrT,MAAK+S,EAAU/L,IAAImM,EAAW,CAC5B1P,QAASA,EACT4P,UACA,GAGN,CAOAJ,cACEL,IAEA,MAAMU,EAAYV,EAAMrK,KACpBvI,MAAK8S,GACPzQ,QAAQkR,IAAI,sCAAuCD,GAErD,MAAME,EAAUxT,MAAK+S,EAAUxS,IAAI+S,EAAUjS,IACzCmS,IACFxT,MAAK+S,EAAUU,OAAOH,EAAUjS,IAC5B,UAAWiS,EACbE,EAAQH,OAAOC,EAAUnR,OAEzBqR,EAAQ/P,QAAQ6P,EAAUI,QAE9B,EAUFrI,oBAAsB,CACpB1G,EACAwG,EACA5F,KAEA,MAAMoO,EACJf,IAEA,MAAMU,EAAYV,EAAMrK,KAExB,GAAI+K,EAAU3O,WAAaA,EAAU,CAEnC,GAAyB,gBAArB2O,EAAU3K,OAEZ,YADApD,GAASG,WAGP,UAAW4N,EACbnI,EAASmI,EAAUnR,WAAOL,GAE1BqJ,EAAS,KAAMmI,EAAUI,OAE7B,GAIF,OAFA1T,MAAKsI,EAAQ0K,iBAAiB,UAAWW,GAElCvO,gBACCpF,KAAK2I,OAIT,YAAa,CAAEhE,aACjB3E,MAAKsI,EAAQsL,oBAAoB,UAAWD,EAAc,CAC3D,EAMH,KAAAE,GACE7T,MAAKsI,EAAQsL,oBAAoB,UAAW5T,KAAKiT,eACjDjT,MAAKsI,EAAQsL,oBAAoB,QAASjB,IAC1C3S,MAAKsI,EAAQwL,WACf,QCvHWC,GACXC,GACApS,GACAqS,GACAC,GACA3F,GACAhK,GACA4P,GACAC,GACAC,IAAW,EACXC,GACA/O,GACAgP,GACA7C,GACApJ,GAUA,WAAAvI,CAAYwF,GACV,MAAM+C,EAAS,IAAIkM,OAAO,IAAIC,IAAI,+BAAgCC,KAAM,CACtE5T,KAAM,WAEFgS,OACsBhR,IAA1ByD,GAASoP,cACTpP,EAAQoP,eAAiBC,EAASC,IACpC7U,MAAKsI,EAAU,IAAIuK,GAAiCvK,EAAQwK,GAC5D9S,MAAKuF,EAAWA,EAChBvF,MAAK4B,EAAiB,IAAI/B,EAAc,IAAK0F,GAASzF,QAAU,KAChEE,MAAKiU,EAAiB,IAAInG,GAAc9N,MAAKsI,EAAStI,MAAK4B,GAC3D5B,MAAKkU,EAAoB,IAAI3E,GAAiBvP,MAAKsI,GACnDtI,MAAKuU,EAAe,IAAI3E,GAAY5P,MAAKsI,EAC3C,CAUA,UAAM0I,CAAKzC,GACT,MAAMmF,QAAe1T,MAAKsI,EAAQK,OAAO,cAAe,CACtD4F,aACAhJ,QAASvF,MAAKuF,IAEhBvF,MAAKgU,EAAcN,EAAOM,WAC1BhU,MAAKuO,EAAcA,EACnBvO,MAAKuE,EAAWmP,EAAOnP,QACvBvE,MAAKmU,EAAkBT,EAAOS,eAC9BnU,MAAKoU,EAAuBV,EAAOU,oBACnCpU,MAAKsU,EAAkBZ,EAAOY,eAC9BtU,MAAKqU,GAAW,CAClB,CAKA,KAAAR,GACE7T,MAAKsI,EAAQuL,QACb7T,MAAKqU,GAAW,CAClB,CASA,mBAAaS,CACXpD,EACAnM,GAIA,MAAMwP,EAAS,IAAIhB,GAAgDxO,GASnE,OARAwP,GAAOrD,EAAUA,QAEXqD,EAAO/D,WAAWU,EAAOE,iBAE1BrM,GAASyP,2BACND,EAAOE,WAGRF,CACT,CAYA,kBAAaG,CACX3G,EACAhJ,GAIA,MAAMwP,EAAS,IAAIhB,GAAgD,IAC9DxO,EACHyP,qBAAqB,IAGvB,aADMD,EAAO/D,KAAKzC,GACXwG,CACT,CAKA,WAAIxP,GACF,OAAOvF,MAAKuF,CACd,CAKA,UAAImM,GACF,OAAO1R,MAAK0R,CACd,CAKA,WAAI2C,GACF,OAAOrU,MAAKqU,CACd,CAKA,WAAI9P,GACF,OAAOvE,MAAKuE,CACd,CAKA,qBAAI4Q,GACF,OAAOnV,MAAKuO,CACd,CAKA,kBAAI4F,GACF,OAAOnU,MAAKmU,CACd,CAKA,uBAAIC,GACF,OAAOpU,MAAKoU,CACd,CAKA,iBAAIH,GACF,OAAOjU,MAAKiU,CACd,CAKA,oBAAIC,GACF,OAAOlU,MAAKkU,CACd,CAKA,eAAIK,GACF,OAAOvU,MAAKuU,CACd,CAKA,kBAAID,GACF,OAAOtU,MAAKsU,CACd,CAKA,cAAIN,GACF,OAAOhU,MAAKgU,CACd,CAaA,qCAAMoB,GACJ,OAAOpV,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5D0M,mBAAoB9N,MAExB,CAgBA,oCAAM+N,CACJC,EACAC,GAA8B,GAE9B,IAAKA,EACH,MAAM,IAAInR,EAGZ,OAAOrE,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3D4M,gBACAF,mBAAoB9N,MAExB,CAcA,uCAAMkO,CAAkClH,GACtC,OAAOvO,MAAKsI,EAAQK,OAAO,oCAAqC,CAC9D4F,aACA8G,mBAAoB9N,MAExB,CAcA,qDAAMmO,GACJ,OAAO1V,MAAKsI,EAAQK,OAClB,kDACA,CACE0M,mBAAoB9N,MAG1B,CAeA,6CAAMoO,CAAwChE,GAC5C,OAAO3R,MAAKsI,EAAQK,OAAO,0CAA2C,CACpEgJ,kBACA0D,mBAAoB9N,MAExB,CAeA,kDAAMqO,CAA6CrH,GACjD,OAAOvO,MAAKsI,EAAQK,OAAO,+CAAgD,CACzE4F,aACA8G,mBAAoB9N,MAExB,CAgBA,kCAAMsO,CACJnE,EACA2D,GAEA,OAAOrV,MAAKsI,EAAQK,OAAO,+BAAgC,CACzD+I,SACA2D,sBAEJ,CASA,cAAMJ,GACJ,IAAKjV,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKoV,kCAGb,IAAKvD,IAAkBwD,EACrB,OAGF,MAAMpD,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,0BAA2B,CACpD+I,SACA2D,sBAEJ,CAoBA,uBAAMS,CACJC,EACAP,GAA8B,GAE9B,IAAKxV,MAAK0R,EACR,MAAM,IAAItN,EAGZ,IAAKoR,EACH,MAAM,IAAInR,EAIZ,MAAM2R,QAAwBhW,KAAKiW,+BAC3BF,EAAiBnE,iBAGzB,GAAIoE,EACF,MAAM,IAAI1R,EAA8B0R,GAG1C,MAAMnE,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKsV,qCACHS,EAAiBnE,iBACvB,GAEEK,QAAkB8D,EAAiB7D,YAAYL,GAC/CH,QAAec,GAAauD,EAAkB9D,GACpD,OAAOjS,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9C4F,WAAYmD,EAAOnD,WACnBmD,SACA2D,sBAEJ,CAUA,mBAAMa,CAAc3H,GAClB,IAAKvO,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKyV,kCAAkClH,GACzC0D,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,uBAAwB,CACjD4F,aACAmD,SACA2D,sBAEJ,CASA,iCAAMc,GACJ,IAAKnW,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK0V,kDAGb,IAAK7D,EACH,OAGF,MAAMI,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,qCAAsC,CAC/D+I,SACA2D,sBAEJ,CAUA,yBAAM5D,CAAoBE,GACxB,IAAK3R,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK2V,wCAAwChE,GAC/CM,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,6BAA8B,CACvDgJ,kBACAD,SACA2D,sBAEJ,CAUA,gCAAa5D,CACXC,EACAnN,EACAoN,EACAR,EACAC,SAEMgF,GACJ1E,EACAnN,EACAoN,EACAR,EACAC,EAEJ,CAUA,6BAAanB,CACX5C,EACA8D,EACAC,GAEA,MCljBkChM,OACpCiI,EACA8D,EACAC,WAEMJ,IAECqF,EADM5F,GAAQU,GAAO,OACYC,GAAe,KAAM/D,ID2iBpDiJ,CAA4BjJ,EAAU8D,EAAKC,EACpD,CAUA,8BAAMmF,CAAyBhI,GAC7B,IAAKvO,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK4V,6CAA6CrH,GACpD0D,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5D4F,aACAmD,SACA2D,sBAEJ,CAOA,kBAAMmB,GACJ,OAAOxW,MAAKsI,EAAQK,OAAO,sBAC7B,CAQA,gBAAM8N,CAAWtJ,GACf,OAAOnN,MAAKsI,EAAQK,OAAO,oBAAqB,CAAEwE,eACpD,CASA,uBAAasJ,CAAWtJ,EAA2BgE,GACjD,MAAMuF,EAAgB,IAAIzW,IAC1B,IAAK,MAAMsO,KAAcpB,EAAa,CACpC,MAAM5I,QAAgB2M,GAAwB3C,EAAY4C,GAC1DuF,EAAc1P,IACZuH,EAAWA,WAAWoI,mBACV7U,IAAZyC,EAEJ,CACA,OAAOmS,CACT,CASA,8BAAMT,CAAyB1H,GAC7B,OAAOvO,MAAKsI,EAAQK,OAAO,gCAAiC,CAAE4F,cAChE,CAQA,uBAAAqI,CAAwB/E,GACtB,OAAO7R,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3DkJ,iBAEJ,CASA,+BAAAgF,CACEhF,EACAiF,GAEA,OAAO9W,MAAKsI,EAAQK,OAAO,yCAA0C,CACnEkJ,gBACAiF,kBAEJ,CAUA,yBAAAC,CACElF,EACAiF,EACAE,GAEA,OAAOhX,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DkJ,gBACAiF,iBACAE,aAEJ,CASA,6BAAMC,CAAwBtF,GAC5B,OAAO3R,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3DgJ,mBAEJ,QEtsBWuF,GACX5O,GACAwK,GAEA,WAAA/S,CAAY+S,GACV,MAAMxK,EAAS,IAAIkM,OAAO,IAAIC,IAAI,6BAA8BC,KAAM,CACpE5T,KAAM,WAERd,MAAKsI,EAAU,IAAIuK,GAAyBvK,EAAQwK,GACpD9S,MAAK8S,EAAiBA,IAAiB,CACzC,CAEA,UAAM9B,SACEhR,MAAKsI,EAAQK,OAAO,YAAa,CACrCmK,cAAe9S,MAAK8S,GAExB,CAEA,KAAAe,GACE7T,MAAKsI,EAAQuL,OACf,CAEA,mBAAaiB,CAAOhC,GAClB,MAAMqE,EAAO,IAAID,GAAKpE,GAEtB,aADMqE,EAAKnG,OACJmG,CACT,CAEA,eAAMC,GACJ,OAAOpX,MAAKsI,EAAQK,OAAO,iBAC7B,CAEA,eAAM0O,GACJ,OAAOrX,MAAKsI,EAAQK,OAAO,iBAC7B,CAEA,kBAAM2O,GACJ,OAAOtX,MAAKsI,EAAQK,OAAO,oBAC7B,CAEA,gBAAM4O,CAAWC,GACf,OAAOxX,MAAKsI,EAAQK,OAAO,kBAAmB,CAAE6O,QAClD,CAEA,gBAAMC,CAAWD,GACf,OAAOxX,MAAKsI,EAAQK,OAAO,kBAAmB,CAAE6O,QAClD,CAEA,cAAME,CAASF,GACb,OAAOxX,MAAKsI,EAAQK,OAAO,gBAAiB,CAAE6O,QAChD,CAEA,cAAMG,CAASH,EAAcjP,GAC3B,OAAOvI,MAAKsI,EAAQK,OAAO,gBAAiB,CAAE6O,OAAMjP,QACtD,CAEA,cAAMqP,GACJ,OAAO5X,MAAKsI,EAAQK,OAAO,gBAC7B,QClDWkP,GAAoBzS,MAAO0S,UAChC9G,IACC+G,EAAsBD,ICYlBE,GAAqB5S,MAChCyG,IAEO,CACLxK,GAAIwK,EAAaxK,GACjB8K,KAAMN,EAAaM,KACnBD,SAAUL,EAAaK,SACvBD,YAAaJ,EAAaI,YAC1BD,QAASH,EAAaG,QACtBW,YAAad,EAAac,cAC1BxE,eAAgB0D,EAAa1D,eAC7BE,eAAgBwD,EAAaxD,WAC7B0D,OAAQF,EAAaY,aACrBL,YAAaP,EAAaa,kBAC1BtE,YAAayD,EAAazD,cCTxB6P,GACsCC,GAC1C9S,SAAU8N,WACFlC,IACCkH,KAAMhF,IAIJiF,GAAgBF,GAAKG,GACrBC,GAAmBJ,GAAKK,GACxBC,GAAeN,GAAKO,GACpBC,GAAiBR,GAAKS,GACtBC,GAA8BV,GACzCW,GAEWC,GAAiBZ,GAAKa,GACtBC,GAAoBd,GAAKe,GACzBC,GAAyBhB,GAAKiB,GAC9BC,GAAalB,GAAKmB,GAClBC,GAA6BpB,GAAKqB,GAClCC,GAAwBtB,GAAKuB,GAG7BC,GAAqBxB,GAAKyB,GAC1BC,GAAwB1B,GAAK2B,GAC7BC,GAA0B5B,GAAK6B,GAC/BC,GAAoB9B,GAAK+B,GACzBC,GAA0BhC,GAAKiC,GAC/BC,GAAsBlC,GAAKmC,GAC3BC,GAAmCpC,GAC9CqC,GAEWC,GAAsBtC,GAAKuC,GAC3BC,GAAyBxC,GAAKyC,GAC9BC,GAA8B1C,GACzC2C,GAEWC,GAAmB5C,GAAK6C,GACxBC,GAAkB9C,GAAK+C,GACvBC,GAAkChD,GAC7CiD,GAEWC,GAA6BlD,GAAKmD,GAGlCC,GAAoBpD,GAAKqD,GACzBC,GAAoBtD,GAAKuD"}
1
+ {"version":3,"file":"index.js","sources":["../src/CodecRegistry.ts","../src/utils/date.ts","../src/DecodedMessage.ts","../src/AsyncStream.ts","../src/utils/errors.ts","../src/utils/streams.ts","../src/utils/uuid.ts","../src/Conversation.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/constants.ts","../src/utils/inboxId.ts","../src/utils/installations.ts","../src/utils/signer.ts","../src/utils/WorkerBridge.ts","../src/Client.ts","../src/utils/inboxState.ts","../src/Opfs.ts","../src/utils/metadata.ts","../src/utils/conversions.ts","../src/utils/contentTypes.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CodecRegistry","codecs","constructor","this","Map","map","codec","contentTypeToString","contentType","getCodec","get","nsToDate","ns","Date","Number","getContentFromDecodedMessageContent","content","type","DecodedMessage","conversationId","deliveryStatus","expiresAtNs","expiresAt","fallback","id","kind","numReplies","reactions","senderInboxId","sentAt","sentAtNs","codecRegistry","message","undefined","reaction","reply","replyContent","decode","error","Error","console","warn","referenceId","inReplyTo","encodedContent","AsyncStream","isDone","pendingResolves","queue","onDone","onReturn","flush","length","nextResolve","shift","done","value","push","next","Promise","resolve","return","end","Symbol","asyncIterator","usableProperties","isUsableProperty","prop","includes","ClientNotInitializedError","super","SignerUnavailableError","InboxReassignError","AccountAlreadyAssociatedError","inboxId","GroupNotFoundError","groupId","StreamNotFoundError","streamId","StreamFailedError","retryAttempts","StreamInvalidRetryAttemptsError","OpfsNotInitializedError","OpfsInitializationError","DEFAULT_RETRY_DELAY","DEFAULT_RETRY_ATTEMPTS","createStream","async","streamFunction","streamValueMutator","options","onEnd","onError","onFail","onRestart","onRetry","onValue","retryDelay","retryOnFail","asyncStream","streamCallback","mutatedValue","then","isPromise","catch","retry","retries","ms","setTimeout","streamCloser","startRetry","Proxy","target","receiver","Reflect","set","has","_target","ownKeys","getOwnPropertyDescriptor","enumerable","configurable","uuid","bytes","Uint8Array","crypto","getRandomValues","Array","from","b","toString","padStart","join","Conversation","addedByInboxId","createdAtNs","metadata","worker","data","syncData","createdAt","lastMessage","action","isActive","members","sync","publishMessages","send","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","sendReadReceipt","sendReply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","messages","countMessages","consentState","updateConsentState","state","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","disableSync","handleStreamMessage","pausedForVersion","hmacKeys","debugInfo","lastReadTimes","Dm","peerInboxId","duplicateDms","conversation","Group","admins","appData","description","imageUrl","name","superAdmins","updateName","updateImageUrl","updateDescription","updateAppData","listAdmins","listSuperAdmins","permissions","updatePermission","permissionType","policy","metadataField","isAdmin","isSuperAdmin","addMembersByIdentifiers","identifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","requestRemoval","isPendingRemoval","Conversations","syncAll","consentStates","getConversationById","conversationType","ConversationType","getMessageById","getDmByInboxId","fetchDmByIdentifier","identifier","list","filter","listGroups","listDms","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createDmWithIdentifier","createDm","streamGroups","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","streamMessageDeletions","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","Preferences","inboxState","refreshFromNetwork","fetchInboxState","getInboxStates","fetchInboxStates","setConsentStates","records","getConsentState","entityType","entity","streamConsent","streamPreferences","ApiUrls","local","dev","production","HistorySyncUrls","generateInboxId","nonce","init","wasmGenerateInboxId","getInboxIdForIdentifier","env","gatewayHost","host","isSecure","startsWith","wasmGetInboxIdForIdentifier","revokeInstallations","signer","installationIds","getIdentifier","signatureText","signatureRequest","revokeInstallationsSignatureRequest","revokeInstallationsSignatureText","signature","signMessage","addEcdsaSignature","addScwSignature","getChainId","getBlockNumber","applySignatureRequest","toSafeSigner","chainId","blockNumber","handleError","event","WorkerBridge","enableLogging","promises","addEventListener","handleMessage","args","promiseId","postMessage","reject","eventData","log","promise","delete","result","streamHandler","removeEventListener","close","terminate","Client","appVersion","conversations","debugInformation","installationId","installationIdBytes","isReady","libxmtpVersion","preferences","Worker","URL","url","loggingLevel","LogLevel","Off","create","client","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","signatureRequestId","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","fetchInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utilsRevokeInstallations","wasmInboxStateFromInboxIds","utilsInboxStateFromInboxIds","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","sendSyncRequest","Opfs","opfs","listFiles","fileCount","poolCapacity","fileExists","path","deleteFile","exportDb","importDb","clearAll","metadataFieldName","field","wasmMetadataFieldName","toSafeConversation","wrap","fn","encodeActions","wasmEncodeActions","encodeAttachment","wasmEncodeAttachment","encodeIntent","wasmEncodeIntent","encodeMarkdown","wasmEncodeMarkdown","encodeMultiRemoteAttachment","wasmEncodeMultiRemoteAttachment","encodeReaction","wasmEncodeReaction","encodeReadReceipt","wasmEncodeReadReceipt","encodeRemoteAttachment","wasmEncodeRemoteAttachment","encodeText","wasmEncodeText","encodeTransactionReference","wasmEncodeTransactionReference","encodeWalletSendCalls","wasmEncodeWalletSendCalls","contentTypeActions","wasmContentTypeActions","contentTypeAttachment","wasmContentTypeAttachment","contentTypeGroupUpdated","wasmContentTypeGroupUpdated","contentTypeIntent","wasmContentTypeIntent","contentTypeLeaveRequest","wasmContentTypeLeaveRequest","contentTypeMarkdown","wasmContentTypeMarkdown","contentTypeMultiRemoteAttachment","wasmContentTypeMultiRemoteAttachment","contentTypeReaction","wasmContentTypeReaction","contentTypeReadReceipt","wasmContentTypeReadReceipt","contentTypeRemoteAttachment","wasmContentTypeRemoteAttachment","contentTypeReply","wasmContentTypeReply","contentTypeText","wasmContentTypeText","contentTypeTransactionReference","wasmContentTypeTransactionReference","contentTypeWalletSendCalls","wasmContentTypeWalletSendCalls","encryptAttachment","wasmEncryptAttachment","decryptAttachment","wasmDecryptAttachment"],"mappings":"y1CAMaA,EACXC,GAEA,WAAAC,CAAYD,GACVE,MAAKF,EAAU,IAAIG,IACjBH,EAAOI,KAAKC,GAAU,CAACC,EAAoBD,EAAME,aAAcF,KAEnE,CAQA,QAAAG,CAAgCD,GAC9B,OAAOL,MAAKF,EAAQS,IAAIH,EAAoBC,GAG9C,ECzBI,SAAUG,EAASC,GACvB,OAAO,IAAIC,KAAKC,OAAOF,EAAK,UAC9B,CCaA,MAAMG,EACJC,IAEA,OAAQA,EAAQC,MACd,IAAK,OAGL,IAAK,WAGL,IAAK,QAGL,IAAK,WAGL,IAAK,aAGL,IAAK,mBAGL,IAAK,wBAGL,IAAK,uBAGL,IAAK,eAGL,IAAK,cAGL,IAAK,eAGL,IAAK,kBAGL,IAAK,SAGL,IAAK,UAGL,IAAK,SACH,OAAOD,EAAQA,QAEjB,QAEE,OAAO,aAuBAE,EACXF,QACAR,YACAW,eACAC,eACAC,YACAC,UACAC,SACAC,GACAC,KACAC,WACAC,UACAC,cACAC,OACAC,SAEA,WAAA5B,CAAY6B,EAA8BC,GAyBxC,OAxBA7B,KAAKqB,GAAKQ,EAAQR,GAClBrB,KAAKkB,YAAcW,EAAQX,YAC3BlB,KAAKmB,UAAYU,EAAQX,YACrBV,EAASqB,EAAQX,kBACjBY,EACJ9B,KAAK2B,SAAWE,EAAQF,SACxB3B,KAAK0B,OAASlB,EAASqB,EAAQF,UAC/B3B,KAAKgB,eAAiBa,EAAQb,eAC9BhB,KAAKyB,cAAgBI,EAAQJ,cAC7BzB,KAAKK,YAAcwB,EAAQxB,YAC3BL,KAAKoB,SAAWS,EAAQT,eAAYU,EAEpC9B,KAAKsB,KAAOO,EAAQP,KACpBtB,KAAKiB,eAAiBY,EAAQZ,eAE9BjB,KAAKuB,WAAaM,EAAQN,WAC1BvB,KAAKwB,UAAYK,EAAQL,UAAUtB,KAChC6B,GAAa,IAAIhB,EAAyBa,EAAeG,KAG5D/B,KAAKa,QACHD,EAAkDiB,EAAQhB,eAC1DiB,EAEMD,EAAQhB,QAAQC,MACtB,IAAK,QAAS,CACZ,MAAMkB,EAAQH,EAAQhB,QAAQA,QAC9B,IAAIoB,EAAerB,EACjBoB,EAAMnB,SAER,GAA2B,WAAvBmB,EAAMnB,QAAQC,KAAmB,CACnC,MAAMX,EAAQyB,EAActB,SAC1B0B,EAAMnB,QAAQA,QAAQC,MAExB,GAAIX,EACF,IACE8B,EAAe9B,EAAM+B,OAAOD,EAC9B,CAAE,MAAOE,GACHA,aAAiBC,MACnBC,QAAQC,KAAK,kCAAkCH,EAAMN,WAErDQ,QAAQC,KAAK,gCAEjB,CAEJ,CACAtC,KAAKa,QAAU,CACb0B,YAAaP,EAAMO,YACnB1B,QAASoB,EACTO,UAAWR,EAAMQ,UACb,IAAIzB,EAA6Ba,EAAeI,EAAMQ,WACtD,MAEN,KACF,CACA,IAAK,SAAU,CACb,MAAMC,EAAiBZ,EAAQhB,QAAQA,QACjCV,EAAQyB,EAActB,SAAuBN,KAAKK,aACxD,GAAIF,EACF,IACEH,KAAKa,QAAUV,EAAM+B,OAAOO,EAC9B,CAAE,MAAON,GACHA,aAAiBC,MACnBC,QAAQC,KAAK,kCAAkCH,EAAMN,WAErDQ,QAAQC,KAAK,iCAEftC,KAAKa,aAAUiB,CACjB,MAEAO,QAAQC,KACN,oCAAoClC,EAAoBJ,KAAKK,iBAE/DL,KAAKa,aAAUiB,EAEjB,KACF,EAEJ,QC3JWY,EACXC,QAAS,EACTC,GAAiD,GACjDC,GACAC,OACAC,SAEA,WAAAhD,GACEC,MAAK6C,EAAS,GACd7C,KAAK2C,QAAS,CAChB,CAEA,KAAAK,GACE,KAAOhD,MAAK4C,EAAiBK,OAAS,GAAG,CACvC,MAAMC,EAAclD,MAAK4C,EAAiBO,QACtCD,GACFA,EAAY,CAAEE,MAAM,EAAMC,WAAOvB,GAErC,CACF,CAEA,IAAAsB,GACEpD,KAAKgD,QACLhD,MAAK6C,EAAS,GACd7C,MAAK4C,EAAmB,GACxB5C,KAAK2C,QAAS,EACd3C,KAAK8C,UACP,CAEAQ,KAAQD,IACN,GAAIrD,KAAK2C,OACP,OAGF,MAAMO,EAAclD,MAAK4C,EAAiBO,QACtCD,EACFA,EAAY,CACVE,MAAM,EACNC,UAGFrD,MAAK6C,EAAOS,KAAKD,EACnB,EAGFE,KAAO,IACDvD,KAAK2C,OACAa,QAAQC,QAAQ,CAAEL,MAAM,EAAMC,WAAOvB,IAG1C9B,MAAK6C,EAAOI,OAAS,EAChBO,QAAQC,QAAQ,CACrBL,MAAM,EACNC,MAAOrD,MAAK6C,EAAOM,UAIhB,IAAIK,SAASC,IAClBzD,MAAK4C,EAAiBU,KAAKG,EAAQ,IAIvCC,OAAS,KACP1D,KAAK+C,aACL/C,KAAKoD,OAEEI,QAAQC,QAAQ,CACrBL,MAAM,EACNC,WAAOvB,KAIX6B,IAAM,IAAM3D,KAAK0D,SAEjB,CAACE,OAAOC,iBACN,OAAO7D,IACT,EAUF,MAAM8D,EAAmB,CACvB,MACA,SACA,OACA,SACAF,OAAOC,eAEHE,EACJC,GAEOF,EAAiBG,SAASD,GC7H7B,MAAOE,UAAkC9B,MAC7C,WAAArC,GACEoE,MACE,+EAEJ,EAGI,MAAOC,UAA+BhC,MAC1C,WAAArC,GACEoE,MACE,yEAEJ,EAGI,MAAOE,UAA2BjC,MACtC,WAAArC,GACEoE,MACE,iFAEJ,EAGI,MAAOG,UAAsClC,MACjD,WAAArC,CAAYwE,GACVJ,MAAM,yCAAyCI,IACjD,EAGI,MAAOC,UAA2BpC,MACtC,WAAArC,CAAY0E,GACVN,MAAM,UAAUM,eAClB,EAGI,MAAOC,UAA4BtC,MACvC,WAAArC,CAAY4E,GACVR,MAAM,WAAWQ,eACnB,EAGI,MAAOC,UAA0BxC,MACrC,WAAArC,CAAY8E,GAEVV,MAAM,0BAA0BU,KADlB,QAAyB,IAAlBA,EAAsB,IAAM,MAEnD,EAGI,MAAOC,UAAwC1C,MACnD,WAAArC,GACEoE,MAAM,+CACR,EAGI,MAAOY,UAAgC3C,MAC3C,WAAArC,GACEoE,MAAM,wDACR,EAGI,MAAOa,UAAgC5C,MAC3C,WAAArC,GACEoE,MACE,kGAEJ,EC/DF,MAWac,GAAsB,IACtBC,GAAyB,EA8EzBC,GAAeC,MAC1BC,EACAC,EACAC,KAEA,MAAMC,MACJA,EAAKC,QACLA,EAAOC,OACPA,EAAMC,UACNA,EAASC,QACTA,EAAOC,QACPA,EAAOhB,cACPA,EAAgBK,GAAsBY,WACtCA,EAAab,GAAmBc,YAChCA,GAAc,GACZR,GAAW,CAAA,EAEf,GAAIQ,GAAelB,EAAgB,EACjC,MAAM,IAAIC,EAGZ,MAAMkB,EAAc,IAAItD,EAClBuD,EAAoC,CAAC9D,EAAOkB,KAEhD,GAAIlB,EACFsD,IAAUtD,QAIZ,QAAcL,IAAVuB,EACF,IAEE,GAAIiC,EAAoB,CACtB,MAAMY,EAAeZ,EAAmBjC,GA3HhC,CAAcA,KAE1BA,IACgB,iBAAVA,GAAuC,mBAAVA,IACrC,SAAUA,GACY,mBAAfA,EAAM8C,KAuHHC,CAAUF,GACPA,EACFC,MAAMD,IACLF,EAAY1C,KAAK4C,GACjBL,IAAUK,EAAa,IAExBG,OAAOlE,IACNsD,IAAUtD,EAAe,KAG7B6D,EAAY1C,KAAK4C,GACjBL,IAAUK,GAEd,MACEF,EAAY1C,KAAKD,GACjBwC,IAAUxC,EAEd,CAAE,MAAOlB,GACPsD,IAAUtD,EACZ,CACF,EAEImE,EAAQlB,MAAOmB,EAAkB1B,KACrC,IAGE,GAAgB,IAAZ0B,EAEF,MADKP,EAAYrC,MACX,IAAIiB,EAAkBC,SA/ItB2B,EAmJGV,EAnJY,IAAItC,SAASC,GAAYgD,WAAWhD,EAAS+C,MAqJpEZ,IAAUf,EAAgB0B,EAAU,EAAG1B,GAGvC,MAAM6B,QAAqBrB,EAAeY,GAAgB,KAExDP,MACKY,GAAO,IAIdN,EAAYlD,OAAS,KACnB4D,IACAlB,KAAS,EAIXG,KACF,CAAE,MAAOxD,GACPsD,IAAUtD,GAELmE,EAAMC,EAAU,EACvB,CA1KS,IAACC,CA0KV,EAEIG,EAAa,KAEjB,IAAIZ,EAKF,MAFKC,EAAYrC,MAEX,IAAIiB,EAAkB,GAJvB0B,GAKP,EAGF,IAEE,MAAMI,QAAqBrB,EAAeY,GAAgB,KAExDP,MACAiB,GAAY,IAGdX,EAAYlD,OAAS,KACnB4D,IACAlB,KAAS,CAEb,CAAE,MAAOrD,GACPsD,IAAUtD,GACVwE,GACF,CAGA,OFvDO,IAAIC,MEuDmBZ,EFvDL,CACvB,GAAAzF,CAAIsG,EAAQ7C,EAAM8C,GAChB,GAAI/C,EAAiBC,GACnB,OAAO+C,QAAQxG,IAAIsG,EAAQ7C,EAAM8C,EAErC,EAEAE,IAAG,KACM,EAGTC,IAAG,CAACC,EAASlD,IACJD,EAAiBC,GAG1BmD,QAAO,IACErD,EAGT,wBAAAsD,CAAyBP,EAAQ7C,GAC/B,GAAID,EAAiBC,GACnB,MAAO,CACLqD,YAAY,EACZC,cAAc,EACdjE,MAAO0D,QAAQxG,IAAIsG,EAAQ7C,GAIjC,GE2BwC,EClN/BuD,GAAO,KAClB,MAAMC,EAAQ,IAAIC,WAAW,IAE7B,OADAC,OAAOC,gBAAgBH,GAChBI,MAAMC,KAAKL,GAAQM,GAAMA,EAAEC,SAAS,IAAIC,SAAS,EAAG,OAAMC,KAAK,GAAG,QC4B9DC,GACXC,GACAvG,GACAwG,GACA/G,GACAgH,GACAC,GAUA,WAAAvI,CACEuI,EACA1G,EACAP,EACAkH,GAEAvI,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,EACtB5B,MAAKqB,EAAMA,EACXrB,MAAKwI,EAAUD,EACjB,CAEA,EAAAC,CAAUD,GACRvI,MAAKmI,EAAkBI,GAAMJ,eAC7BnI,MAAKqI,EAAYE,GAAMF,SACvBrI,MAAKoI,EAAeG,GAAMH,WAC5B,CAEA,MAAI/G,GACF,OAAOrB,MAAKqB,CACd,CAEA,kBAAI8G,GACF,OAAOnI,MAAKmI,CACd,CAEA,eAAIC,GACF,OAAOpI,MAAKoI,CACd,CAEA,aAAIK,GACF,OAAOzI,MAAKoI,EAAe5H,EAASR,MAAKoI,QAAgBtG,CAC3D,CAEA,YAAIuG,GACF,OAAOrI,MAAKqI,CACd,CAEA,iBAAMK,GACJ,MAAMA,QAAoB1I,MAAKsI,EAAQK,OAAO,2BAA4B,CACxEtH,GAAIrB,MAAKqB,IAEX,OAAOqH,EACH,IAAI3H,EAA6Bf,MAAK4B,EAAgB8G,QACtD5G,CACN,CAEA,cAAM8G,GACJ,OAAO5I,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,GAEb,CAOA,aAAMwH,GACJ,OAAO7I,MAAKsI,EAAQK,OAAO,uBAAwB,CACjDtH,GAAIrB,MAAKqB,GAEb,CAOA,UAAMyH,GACJ,MAAMP,QAAavI,MAAKsI,EAAQK,OAAO,oBAAqB,CAC1DtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAKwI,EAAUD,GACRA,CACT,CAOA,qBAAMQ,GACJ,OAAO/I,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDtH,GAAIrB,MAAKqB,GAEb,CAaA,UAAM2H,CAAKnI,EAAyB0E,GAClC,OAAOvF,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,EACTR,UACA0E,WAEJ,CASA,cAAM0D,CAASC,EAAcC,GAC3B,OAAOnJ,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,EACT6H,OACAC,gBAEJ,CASA,kBAAMC,CAAaC,EAAkBF,GACnC,OAAOnJ,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,EACTgI,WACAF,gBAEJ,CASA,kBAAMG,CAAavH,EAAoBoH,GACrC,OAAOnJ,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,EACTU,WACAoH,gBAEJ,CAQA,qBAAMI,CAAgBJ,GACpB,OAAOnJ,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDtH,GAAIrB,MAAKqB,EACT8H,gBAEJ,CASA,eAAMK,CAAUxH,EAAcmH,GAC5B,OAAOnJ,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTW,QACAmH,gBAEJ,CASA,8BAAMM,CACJC,EACAP,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,wCAAyC,CAClEtH,GAAIrB,MAAKqB,EACTqI,uBACAP,gBAEJ,CASA,yBAAMQ,CACJC,EACAT,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DtH,GAAIrB,MAAKqB,EACTuI,kBACAT,gBAEJ,CASA,iBAAMU,CAAYC,EAAkBX,GAClC,OAAOnJ,MAAKsI,EAAQK,OAAO,2BAA4B,CACrDtH,GAAIrB,MAAKqB,EACTyI,UACAX,gBAEJ,CASA,gBAAMY,CAAWC,EAAgBb,GAC/B,OAAOnJ,MAAKsI,EAAQK,OAAO,0BAA2B,CACpDtH,GAAIrB,MAAKqB,EACT2I,SACAb,gBAEJ,CASA,oBAAMc,CAAeC,EAAwBf,GAC3C,OAAOnJ,MAAKsI,EAAQK,OAAO,8BAA+B,CACxDtH,GAAIrB,MAAKqB,EACT6I,aACAf,gBAEJ,CASA,+BAAMgB,CACJC,EACAjB,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,yCAA0C,CACnEtH,GAAIrB,MAAKqB,EACT+I,wBACAjB,gBAEJ,CASA,0BAAMkB,CACJC,EACAnB,GAEA,OAAOnJ,MAAKsI,EAAQK,OAAO,oCAAqC,CAC9DtH,GAAIrB,MAAKqB,EACTiJ,mBACAnB,gBAEJ,CAQA,cAAMoB,CAAShF,GAMb,aALuBvF,MAAKsI,EAAQK,OAAO,wBAAyB,CAClEtH,GAAIrB,MAAKqB,EACTkE,aAGcrF,KACb2B,GACC,IAAId,EAA6Bf,MAAK4B,EAAgBC,IAE5D,CAQA,mBAAM2I,CACJjF,GAMA,aAJoBvF,MAAKsI,EAAQK,OAAO,6BAA8B,CACpEtH,GAAIrB,MAAKqB,EACTkE,WAGJ,CAOA,kBAAMkF,GACJ,OAAOzK,MAAKsI,EAAQK,OAAO,4BAA6B,CACtDtH,GAAIrB,MAAKqB,GAEb,CAQA,wBAAMqJ,CAAmBC,GACvB,OAAO3K,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5DtH,GAAIrB,MAAKqB,EACTsJ,SAEJ,CAOA,iCAAMC,GACJ,OAAO5K,MAAKsI,EAAQK,OAAO,2CAA4C,CACrEtH,GAAIrB,MAAKqB,GAEb,CASA,uCAAMwJ,CAAkCC,EAAgBC,GACtD,OAAO/K,MAAKsI,EAAQK,OAClB,iDACA,CACEtH,GAAIrB,MAAKqB,EACTyJ,SACAC,QAGN,CAOA,uCAAMC,GACJ,OAAOhL,MAAKsI,EAAQK,OAClB,iDACA,CACEtH,GAAIrB,MAAKqB,GAGf,CAOA,kCAAM4J,GACJ,OAAOjL,MAAKsI,EAAQK,OAAO,4CAA6C,CACtEtH,GAAIrB,MAAKqB,GAEb,CAQA,YAAM6J,CACJ3F,GA6BA,OAAOJ,IA3BQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAWjB,OAVKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,sBAAuB,CAC/ClE,QAASzE,MAAKqB,EACdsD,aAGK3E,MAAKsI,EAAQ+C,oBAGlB1G,EAAUwG,EAAU,IACjB5F,EACHG,UACA,IAEoBrC,GACf,IAAItC,EAA6Bf,MAAK4B,EAAgByB,IAGnBkC,EAC9C,CAEA,sBAAM+F,GACJ,OAAOtL,MAAKsI,EAAQK,OAAO,gCAAiC,CAC1DtH,GAAIrB,MAAKqB,GAEb,CAOA,cAAMkK,GACJ,OAAOvL,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDtH,GAAIrB,MAAKqB,GAEb,CAOA,eAAMmK,GACJ,OAAOxL,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,GAEb,CAQA,mBAAMoK,GACJ,OAAOzL,MAAKsI,EAAQK,OAAO,6BAA8B,CACvDtH,GAAIrB,MAAKqB,GAEb,EC7gBI,MAAOqK,WAAmCxD,GAC9CtG,GACA0G,GACAjH,GAUA,WAAAtB,CACEuI,EACA1G,EACAP,EACAkH,GAEApE,MAAMmE,EAAQ1G,EAAeP,EAAIkH,GACjCvI,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,EACtB5B,MAAKqB,EAAMA,CACb,CAOA,iBAAMsK,GACJ,OAAO3L,MAAKsI,EAAQK,OAAO,iBAAkB,CAC3CtH,GAAIrB,MAAKqB,GAEb,CAEA,kBAAMuK,GAKJ,aAJ4B5L,MAAKsI,EAAQK,OAAO,kBAAmB,CACjEtH,GAAIrB,MAAKqB,KAGUnB,KAClB2L,GACC,IAAIH,GACF1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,EC5CI,MAAOC,WAAsC5D,GACjD6D,GAAsC,GACtCC,GACA1D,GACA2D,GACA5K,GACA6K,GACAC,GACAC,GAAgD,GAEhD,EAAA5D,CAAUD,GACRvI,MAAKmM,EAAQ5D,GAAM4D,MAAQ,GAC3BnM,MAAKkM,EAAY3D,GAAM2D,UAAY,GACnClM,MAAKiM,EAAe1D,GAAM0D,aAAe,GACzCjM,MAAKgM,EAAWzD,GAAMyD,SAAW,GACjChM,MAAK+L,EAAUxD,GAAMwD,QAAU,GAC/B/L,MAAKoM,EAAe7D,GAAM6D,aAAe,EAC3C,CAUA,WAAArM,CACEuI,EACA1G,EACAP,EACAkH,GAEApE,MAAMmE,EAAQ1G,EAAeP,EAAIkH,GACjCvI,MAAKsI,EAAUA,EACftI,MAAKqB,EAAMA,EACXrB,MAAKwI,EAAUD,EACjB,CAOA,UAAMO,GACJ,MAAMP,QAAapE,MAAM2E,OAEzB,OADA9I,MAAKwI,EAAUD,GACRA,CACT,CAKA,QAAI4D,GACF,OAAOnM,MAAKmM,CACd,CAOA,gBAAME,CAAWF,SACTnM,MAAKsI,EAAQK,OAAO,mBAAoB,CAC5CtH,GAAIrB,MAAKqB,EACT8K,SAEFnM,MAAKmM,EAAQA,CACf,CAKA,YAAID,GACF,OAAOlM,MAAKkM,CACd,CAOA,oBAAMI,CAAeJ,SACblM,MAAKsI,EAAQK,OAAO,uBAAwB,CAChDtH,GAAIrB,MAAKqB,EACT6K,aAEFlM,MAAKkM,EAAYA,CACnB,CAKA,eAAID,GACF,OAAOjM,MAAKiM,CACd,CAOA,uBAAMM,CAAkBN,SAChBjM,MAAKsI,EAAQK,OAAO,0BAA2B,CACnDtH,GAAIrB,MAAKqB,EACT4K,gBAEFjM,MAAKiM,EAAeA,CACtB,CAKA,WAAID,GACF,OAAOhM,MAAKgM,CACd,CAOA,mBAAMQ,CAAcR,SACZhM,MAAKsI,EAAQK,OAAO,sBAAuB,CAC/CtH,GAAIrB,MAAKqB,EACT2K,YAEFhM,MAAKgM,EAAWA,CAClB,CAKA,UAAID,GACF,OAAO/L,MAAK+L,CACd,CAKA,eAAIK,GACF,OAAOpM,MAAKoM,CACd,CAOA,gBAAMK,GACJ,MAAMV,QAAe/L,MAAKsI,EAAQK,OAAO,mBAAoB,CAC3DtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAK+L,EAAUA,EACRA,CACT,CAOA,qBAAMW,GACJ,MAAMN,QAAoBpM,MAAKsI,EAAQK,OAAO,wBAAyB,CACrEtH,GAAIrB,MAAKqB,IAGX,OADArB,MAAKoM,EAAeA,EACbA,CACT,CAOA,iBAAMO,GACJ,OAAO3M,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,GAEb,CASA,sBAAMuL,CACJC,EACAC,EACAC,GAEA,OAAO/M,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTwL,iBACAC,SACAC,iBAEJ,CAQA,aAAMC,CAAQzI,GAEZ,aADqBvE,KAAKyM,cACZxI,SAASM,EACzB,CAQA,kBAAM0I,CAAa1I,GAEjB,aAD0BvE,KAAK0M,mBACZzI,SAASM,EAC9B,CAOA,6BAAM2I,CAAwBC,GAC5B,OAAOnN,MAAKsI,EAAQK,OAAO,gCAAiC,CAC1DtH,GAAIrB,MAAKqB,EACT8L,eAEJ,CAOA,gBAAMC,CAAWC,GACf,OAAOrN,MAAKsI,EAAQK,OAAO,mBAAoB,CAC7CtH,GAAIrB,MAAKqB,EACTgM,YAEJ,CAOA,gCAAMC,CAA2BH,GAC/B,OAAOnN,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DtH,GAAIrB,MAAKqB,EACT8L,eAEJ,CAOA,mBAAMI,CAAcF,GAClB,OAAOrN,MAAKsI,EAAQK,OAAO,sBAAuB,CAChDtH,GAAIrB,MAAKqB,EACTgM,YAEJ,CAOA,cAAMG,CAASjJ,GACb,OAAOvE,MAAKsI,EAAQK,OAAO,iBAAkB,CAC3CtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,iBAAMkJ,CAAYlJ,GAChB,OAAOvE,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9CtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,mBAAMmJ,CAAcnJ,GAClB,OAAOvE,MAAKsI,EAAQK,OAAO,sBAAuB,CAChDtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAOA,sBAAMoJ,CAAiBpJ,GACrB,OAAOvE,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,EACTkD,WAEJ,CAKA,oBAAMqJ,GACJ,OAAO5N,MAAKsI,EAAQK,OAAO,uBAAwB,CACjDtH,GAAIrB,MAAKqB,GAEb,CAOA,sBAAMwM,GACJ,OAAO7N,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDtH,GAAIrB,MAAKqB,GAEb,QCtUWyM,GACXlM,GACA0G,GAQA,WAAAvI,CACEuI,EACA1G,GAEA5B,MAAKsI,EAAUA,EACftI,MAAK4B,EAAiBA,CACxB,CAOA,UAAMkH,GACJ,OAAO9I,MAAKsI,EAAQK,OAAO,qBAC7B,CAUA,aAAMoF,CAAQC,GACZ,OAAOhO,MAAKsI,EAAQK,OAAO,wBAAyB,CAClDqF,iBAEJ,CAQA,yBAAMC,CAAoB5M,GACxB,MAAMkH,QAAavI,MAAKsI,EAAQK,OAC9B,oCACA,CACEtH,OAGJ,GAAIkH,EACF,OAAQA,EAAKF,SAAS6F,kBACpB,KAAKC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACL2G,EAAKlH,GACLkH,GAEJ,KAAK4F,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACL2G,EAAKlH,GACLkH,GAEJ,QACE,OAIR,CAQA,oBAAM6F,CAAe/M,GACnB,MAAMkH,QAAavI,MAAKsI,EAAQK,OAAO,+BAAgC,CACrEtH,OAEF,OAAOkH,EACH,IAAIxH,EAA6Bf,MAAK4B,EAAgB2G,QACtDzG,CACN,CAQA,oBAAMuM,CAAe9J,GACnB,MAAMgE,QAAavI,MAAKsI,EAAQK,OAAO,+BAAgC,CACrEpE,YAEF,OAAOgE,EACH,IAAImD,GAAG1L,MAAKsI,EAAStI,MAAK4B,EAAgB2G,EAAKlH,GAAIkH,QACnDzG,CACN,CAQA,yBAAMwM,CAAoBC,GACxB,MAAMhK,QAAgBvE,MAAKsI,EAAQK,OAAO,gCAAiC,CACzE4F,eAEF,GAAKhK,EAGL,OAAOvE,KAAKqO,eAAe9J,EAC7B,CAQA,UAAMiK,CAAKjJ,GAKT,aAJ4BvF,MAAKsI,EAAQK,OAAO,qBAAsB,CACpEpD,aAICrF,KAAK2L,IACJ,OAAQA,EAAaxD,SAAS6F,kBAC5B,KAAKC,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,GAEJ,KAAKsC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,GAEJ,QACE,WAGL4C,QAAQ5C,QAAkC/J,IAAjB+J,GAC9B,CAQA,gBAAM6C,CACJnJ,GASA,aAP4BvF,MAAKsI,EAAQK,OACvC,2BACA,CACEpD,aAIiBrF,KAClB2L,GACC,IAAIC,GACF9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,CAQA,aAAM8C,CAAQpJ,GAKZ,aAJ4BvF,MAAKsI,EAAQK,OAAO,wBAAyB,CACvEpD,aAGmBrF,KAClB2L,GACC,IAAIH,GACF1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,IAGR,CAQA,2BAAM+C,CAAsBrJ,GAC1B,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,sCACA,CACEpD,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,gCAAMgD,CACJ1B,EACA5H,GAEA,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,2CACA,CACEwE,cACA5H,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,iBAAMiD,CAAYzB,EAAoB9H,GACpC,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,4BACA,CACE0E,WACA9H,YAIJ,OAAO,IAAIuG,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,4BAAMkD,CACJR,EACAhJ,GAEA,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OACtC,uCACA,CACE4F,aACAhJ,YAIJ,OAAO,IAAImG,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CASA,cAAMmD,CAASzK,EAAiBgB,GAC9B,MAAMsG,QAAqB7L,MAAKsI,EAAQK,OAAO,yBAA0B,CACvEpE,UACAgB,YAGF,OAAO,IAAImG,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLiK,EAAaxK,GACbwK,EAEJ,CAOA,cAAMN,GACJ,OAAOvL,MAAKsI,EAAQK,OAAO,yBAC7B,CASA,YAAMuC,CAKJ3F,GAmDA,OAAOJ,IA/CQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAWjB,OAVKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,uBAAwB,CAChDhE,WACAuJ,iBAAkB3I,GAAS2I,mBAGtBlO,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA,IACK5F,EACHG,UAEH,IAE0BrC,IAC3B,OAAQA,EAAMgF,SAAS6F,kBACrB,KAAKC,EAAiBrC,MACpB,OAAO,IAAIA,GACT9L,MAAKsI,EACLtI,MAAK4B,EACLyB,EAAMhC,GACNgC,GAEJ,KAAK8K,EAAiBzC,GACpB,OAAO,IAAIA,GACT1L,MAAKsI,EACLtI,MAAK4B,EACLyB,EAAMhC,GACNgC,GAEJ,QACE,MAAM,IAAIjB,MACR,8BAA8BiB,EAAMgF,SAAS6F,uBAKJ3I,EACnD,CAQA,kBAAM0J,CACJ1J,GAEA,OAAOvF,KAAKkL,OAAO,IACd3F,EACH2I,iBAAkBC,EAAiBrC,OAEvC,CAQA,eAAMoD,CAAU3J,GACd,OAAOvF,KAAKkL,OAAO,IACd3F,EACH2I,iBAAkBC,EAAiBzC,IAEvC,CAUA,uBAAMyD,CACJ5J,GAoCA,OAAOJ,IA5BQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAYjB,OAXKhC,GAAS6F,mBAENpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,kCAAmC,CAC3DhE,WACAuJ,iBAAkB3I,GAAS2I,iBAC3BF,cAAezI,GAASyI,gBAGnBhO,MAAKsI,EAAQ+C,oBAGlB1G,EAAUwG,EAAU,IACjB5F,EACHG,UACA,IAEoBrC,GACf,IAAItC,EAA6Bf,MAAK4B,EAAgByB,IAGnBkC,EAC9C,CASA,4BAAM6J,CACJ7J,GAOA,OAAOvF,KAAKmP,kBAAkB,IACzB5J,EACH2I,iBAAkBC,EAAiBrC,OAEvC,CASA,yBAAMuD,CACJ9J,GAOA,OAAOvF,KAAKmP,kBAAkB,IACzB5J,EACH2I,iBAAkBC,EAAiBzC,IAEvC,CAQA,4BAAM4D,CACJ/J,GAwBA,OAAOJ,IAbQC,MAAO+F,IACpB,MAAMxG,EAAW4C,KAMjB,aAJMvH,MAAKsI,EAAQK,OAAO,uCAAwC,CAChEhE,aAGK3E,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA5F,EACD,QAEyBzD,EAAWyD,EACzC,QC7jBWgK,GACXjH,GAEA,WAAAvI,CAAYuI,GACVtI,MAAKsI,EAAUA,CACjB,CAEA,aAAAkH,GACE,OAAOxP,MAAKsI,EAAQK,OAAO,iCAC7B,CAEA,qBAAA8G,GACE,OAAOzP,MAAKsI,EAAQK,OAAO,yCAC7B,CAEA,sBAAA+G,GACE,OAAO1P,MAAKsI,EAAQK,OAAO,0CAC7B,CAEA,kBAAAgH,GACE,OAAO3P,MAAKsI,EAAQK,OAAO,sCAC7B,QCTWiH,GACXtH,GAOA,WAAAvI,CAAYuI,GACVtI,MAAKsI,EAAUA,CACjB,CAEA,IAAAQ,GACE,OAAO9I,MAAKsI,EAAQK,OAAO,mBAC7B,CAOA,gBAAMkH,GACJ,OAAO7P,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDmH,oBAAoB,GAExB,CAOA,qBAAMC,GACJ,OAAO/P,MAAKsI,EAAQK,OAAO,yBAA0B,CACnDmH,oBAAoB,GAExB,CASA,oBAAME,CAAe3C,GACnB,OAAOrN,MAAKsI,EAAQK,OAAO,6BAA8B,CACvD0E,WACAyC,oBAAoB,GAExB,CAQA,sBAAMG,CAAiB5C,GACrB,OAAOrN,MAAKsI,EAAQK,OAAO,6BAA8B,CACvD0E,WACAyC,oBAAoB,GAExB,CAQA,sBAAMI,CAAiBC,GACrB,OAAOnQ,MAAKsI,EAAQK,OAAO,+BAAgC,CACzDwH,WAEJ,CASA,qBAAMC,CACJC,EACAC,GAEA,OAAOtQ,MAAKsI,EAAQK,OAAO,8BAA+B,CACxD0H,aACAC,UAEJ,CAQA,mBAAMC,CAAchL,GAqBlB,OAAOJ,IApBQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAUjB,OARKhC,GAAS6F,mBACNpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,4BAA6B,CACrDhE,aAGK3E,MAAKsI,EAAQ+C,oBAA+B1G,EAAUwG,EAAU,IAClE5F,EACHG,UACA,QAGwB5D,EAAWyD,EACzC,CAQA,uBAAMiL,CAAkBjL,GAyBtB,OAAOJ,IAxBQC,MACb+F,EACAzF,KAEA,MAAMf,EAAW4C,KAUjB,OARKhC,GAAS6F,mBACNpL,KAAK8I,aAGP9I,MAAKsI,EAAQK,OAAO,gCAAiC,CACzDhE,aAGK3E,MAAKsI,EAAQ+C,oBAClB1G,EACAwG,EACA,IACK5F,EACHG,UAEH,QAGyB5D,EAAWyD,EACzC,ECxKK,MAAMkL,GAAU,CACrBC,MAAO,wBACPC,IAAK,oCACLC,WAAY,4CAWDC,GAAkB,CAC7BH,MAAO,wBACPC,IAAK,+CACLC,WAAY,uDCVDE,GAAkB1L,MAC7BmJ,EACAwC,WAEMC,IACCC,EAAoB1C,EAAYwC,IAW5BG,GAA0B9L,MACrCmJ,EACA4C,EACAC,WAEMJ,IACN,MAAMK,EAAOF,EAAMV,GAAQU,GAAOV,GAAQE,IACpCW,EAAWD,EAAKE,WAAW,SACjC,OAAOC,EACLH,EACAD,GAAe,KACfE,EACA/C,EACD,ECeUkD,GAAsBrM,MACjCsM,EACAnN,EACAoN,EACAR,EACAC,WAEMJ,IACN,MAAMzC,QAAmBmD,EAAOE,iBAC1BC,cAAEA,EAAaC,iBAAEA,QA1CuB1M,OAC9CmJ,EACAhK,EACAoN,EACAR,EACAC,WAKMJ,IACN,MACMc,EAAmBC,EADZtB,GAAQU,GAAO,OAG1BC,GAAe,KACf7C,EACAhK,EACAoN,GAGF,MAAO,CAAEE,oBADmBC,EAAiBD,gBACrBC,mBAAkB,EAuBlCE,CACJzD,EACAhK,EACAoN,EACAR,EACAC,GAEEa,QAAkBP,EAAOQ,YAAYL,GACrCR,EAAOZ,GAAQU,GAAO,OAE5B,OAAQO,EAAO5Q,MACb,IAAK,YACGgR,EAAiBK,kBAAkBF,GACzC,MACF,IAAK,YACGH,EAAiBM,gBACrB7D,EACA0D,EACAP,EAAOW,aACPX,EAAOY,0BAKPC,EAAsBlB,EAAMD,GAAe,KAAMU,EAAiB,ECvD7DU,GAAepN,MAC1BsM,EACAO,KAEA,OAAQP,EAAO5Q,MACb,IAAK,MACH,MAAO,CACLA,KAAM,MACNyN,iBAAkBmD,EAAOE,gBACzBK,aAEJ,IAAK,MACH,MAAO,CACLnR,KAAM,MACNyN,iBAAkBmD,EAAOE,gBACzBK,YACAQ,QAASf,EAAOW,aAChBK,YAAahB,EAAOY,sBCvCtBK,GAAeC,IACnBvQ,QAAQF,MAAM,mBAAmByQ,EAAM/Q,UAAU,QAYtCgR,GACXvK,GACAwK,GACAC,GAAY,IAAI9S,IAQhB,WAAAF,CAAYuI,EAAgBwK,GAC1B9S,MAAKsI,EAAUA,EACftI,MAAKsI,EAAQ0K,iBAAiB,UAAWhT,KAAKiT,eAC9CjT,MAAKsI,EAAQ0K,iBAAiB,QAASL,IACvC3S,MAAK8S,EAAiBA,IAAiB,CACzC,CASA,MAAAnK,CAIEA,KAAcuK,GACd,MAAMC,EAAY5L,KAClBvH,MAAKsI,EAAQ8K,YAAY,CACvBzK,SACAtH,GAAI8R,EACJ5K,KAAM2K,EAAK,KAQb,OANgB,IAAI1P,SAAQ,CAACC,EAAS4P,KACpCrT,MAAK+S,EAAU/L,IAAImM,EAAW,CAC5B1P,QAASA,EACT4P,UACA,GAGN,CAOAJ,cACEL,IAEA,MAAMU,EAAYV,EAAMrK,KACpBvI,MAAK8S,GACPzQ,QAAQkR,IAAI,sCAAuCD,GAErD,MAAME,EAAUxT,MAAK+S,EAAUxS,IAAI+S,EAAUjS,IACzCmS,IACFxT,MAAK+S,EAAUU,OAAOH,EAAUjS,IAC5B,UAAWiS,EACbE,EAAQH,OAAOC,EAAUnR,OAEzBqR,EAAQ/P,QAAQ6P,EAAUI,QAE9B,EAUFrI,oBAAsB,CACpB1G,EACAwG,EACA5F,KAEA,MAAMoO,EACJf,IAEA,MAAMU,EAAYV,EAAMrK,KAExB,GAAI+K,EAAU3O,WAAaA,EAAU,CAEnC,GAAyB,gBAArB2O,EAAU3K,OAEZ,YADApD,GAASG,WAGP,UAAW4N,EACbnI,EAASmI,EAAUnR,WAAOL,GAE1BqJ,EAAS,KAAMmI,EAAUI,OAE7B,GAIF,OAFA1T,MAAKsI,EAAQ0K,iBAAiB,UAAWW,GAElCvO,gBACCpF,KAAK2I,OAIT,YAAa,CAAEhE,aACjB3E,MAAKsI,EAAQsL,oBAAoB,UAAWD,EAAc,CAC3D,EAMH,KAAAE,GACE7T,MAAKsI,EAAQsL,oBAAoB,UAAW5T,KAAKiT,eACjDjT,MAAKsI,EAAQsL,oBAAoB,QAASjB,IAC1C3S,MAAKsI,EAAQwL,WACf,QCvHWC,GACXC,GACApS,GACAqS,GACAC,GACA3F,GACAhK,GACA4P,GACAC,GACAC,IAAW,EACXC,GACA/O,GACAgP,GACA7C,GACApJ,GAUA,WAAAvI,CAAYwF,GACV,MAAM+C,EAAS,IAAIkM,OAAO,IAAIC,IAAI,+BAAgCC,KAAM,CACtE5T,KAAM,WAEFgS,OACsBhR,IAA1ByD,GAASoP,cACTpP,EAAQoP,eAAiBC,EAASC,IACpC7U,MAAKsI,EAAU,IAAIuK,GAAiCvK,EAAQwK,GAC5D9S,MAAKuF,EAAWA,EAChBvF,MAAK4B,EAAiB,IAAI/B,EAAc,IAAK0F,GAASzF,QAAU,KAChEE,MAAKiU,EAAiB,IAAInG,GAAc9N,MAAKsI,EAAStI,MAAK4B,GAC3D5B,MAAKkU,EAAoB,IAAI3E,GAAiBvP,MAAKsI,GACnDtI,MAAKuU,EAAe,IAAI3E,GAAY5P,MAAKsI,EAC3C,CAUA,UAAM0I,CAAKzC,GACT,MAAMmF,QAAe1T,MAAKsI,EAAQK,OAAO,cAAe,CACtD4F,aACAhJ,QAASvF,MAAKuF,IAEhBvF,MAAKgU,EAAcN,EAAOM,WAC1BhU,MAAKuO,EAAcA,EACnBvO,MAAKuE,EAAWmP,EAAOnP,QACvBvE,MAAKmU,EAAkBT,EAAOS,eAC9BnU,MAAKoU,EAAuBV,EAAOU,oBACnCpU,MAAKsU,EAAkBZ,EAAOY,eAC9BtU,MAAKqU,GAAW,CAClB,CAKA,KAAAR,GACE7T,MAAKsI,EAAQuL,QACb7T,MAAKqU,GAAW,CAClB,CASA,mBAAaS,CACXpD,EACAnM,GAIA,MAAMwP,EAAS,IAAIhB,GAAgDxO,GASnE,OARAwP,GAAOrD,EAAUA,QAEXqD,EAAO/D,WAAWU,EAAOE,iBAE1BrM,GAASyP,2BACND,EAAOE,WAGRF,CACT,CAYA,kBAAaG,CACX3G,EACAhJ,GAIA,MAAMwP,EAAS,IAAIhB,GAAgD,IAC9DxO,EACHyP,qBAAqB,IAGvB,aADMD,EAAO/D,KAAKzC,GACXwG,CACT,CAKA,WAAIxP,GACF,OAAOvF,MAAKuF,CACd,CAKA,UAAImM,GACF,OAAO1R,MAAK0R,CACd,CAKA,WAAI2C,GACF,OAAOrU,MAAKqU,CACd,CAKA,WAAI9P,GACF,OAAOvE,MAAKuE,CACd,CAKA,qBAAI4Q,GACF,OAAOnV,MAAKuO,CACd,CAKA,kBAAI4F,GACF,OAAOnU,MAAKmU,CACd,CAKA,uBAAIC,GACF,OAAOpU,MAAKoU,CACd,CAKA,iBAAIH,GACF,OAAOjU,MAAKiU,CACd,CAKA,oBAAIC,GACF,OAAOlU,MAAKkU,CACd,CAKA,eAAIK,GACF,OAAOvU,MAAKuU,CACd,CAKA,kBAAID,GACF,OAAOtU,MAAKsU,CACd,CAKA,cAAIN,GACF,OAAOhU,MAAKgU,CACd,CAaA,qCAAMoB,GACJ,OAAOpV,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5D0M,mBAAoB9N,MAExB,CAgBA,oCAAM+N,CACJC,EACAC,GAA8B,GAE9B,IAAKA,EACH,MAAM,IAAInR,EAGZ,OAAOrE,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3D4M,gBACAF,mBAAoB9N,MAExB,CAcA,uCAAMkO,CAAkClH,GACtC,OAAOvO,MAAKsI,EAAQK,OAAO,oCAAqC,CAC9D4F,aACA8G,mBAAoB9N,MAExB,CAcA,qDAAMmO,GACJ,OAAO1V,MAAKsI,EAAQK,OAClB,kDACA,CACE0M,mBAAoB9N,MAG1B,CAeA,6CAAMoO,CAAwChE,GAC5C,OAAO3R,MAAKsI,EAAQK,OAAO,0CAA2C,CACpEgJ,kBACA0D,mBAAoB9N,MAExB,CAeA,kDAAMqO,CAA6CrH,GACjD,OAAOvO,MAAKsI,EAAQK,OAAO,+CAAgD,CACzE4F,aACA8G,mBAAoB9N,MAExB,CAgBA,kCAAMsO,CACJnE,EACA2D,GAEA,OAAOrV,MAAKsI,EAAQK,OAAO,+BAAgC,CACzD+I,SACA2D,sBAEJ,CASA,cAAMJ,GACJ,IAAKjV,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKoV,kCAGb,IAAKvD,IAAkBwD,EACrB,OAGF,MAAMpD,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,0BAA2B,CACpD+I,SACA2D,sBAEJ,CAoBA,uBAAMS,CACJC,EACAP,GAA8B,GAE9B,IAAKxV,MAAK0R,EACR,MAAM,IAAItN,EAGZ,IAAKoR,EACH,MAAM,IAAInR,EAIZ,MAAM2R,QAAwBhW,KAAKiW,+BAC3BF,EAAiBnE,iBAGzB,GAAIoE,EACF,MAAM,IAAI1R,EAA8B0R,GAG1C,MAAMnE,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKsV,qCACHS,EAAiBnE,iBACvB,GAEEK,QAAkB8D,EAAiB7D,YAAYL,GAC/CH,QAAec,GAAauD,EAAkB9D,GACpD,OAAOjS,MAAKsI,EAAQK,OAAO,oBAAqB,CAC9C4F,WAAYmD,EAAOnD,WACnBmD,SACA2D,sBAEJ,CAUA,mBAAMa,CAAc3H,GAClB,IAAKvO,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAKyV,kCAAkClH,GACzC0D,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,uBAAwB,CACjD4F,aACAmD,SACA2D,sBAEJ,CASA,iCAAMc,GACJ,IAAKnW,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK0V,kDAGb,IAAK7D,EACH,OAGF,MAAMI,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,qCAAsC,CAC/D+I,SACA2D,sBAEJ,CAUA,yBAAM5D,CAAoBE,GACxB,IAAK3R,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK2V,wCAAwChE,GAC/CM,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,6BAA8B,CACvDgJ,kBACAD,SACA2D,sBAEJ,CAUA,gCAAa5D,CACXC,EACAnN,EACAoN,EACAR,EACAC,SAEMgF,GACJ1E,EACAnN,EACAoN,EACAR,EACAC,EAEJ,CAUA,6BAAanB,CACX5C,EACA8D,EACAC,GAEA,MCljBkChM,OACpCiI,EACA8D,EACAC,WAEMJ,IAECqF,EADM5F,GAAQU,GAAO,OACYC,GAAe,KAAM/D,ID2iBpDiJ,CAA4BjJ,EAAU8D,EAAKC,EACpD,CAUA,8BAAMmF,CAAyBhI,GAC7B,IAAKvO,MAAK0R,EACR,MAAM,IAAItN,EAGZ,MAAMyN,cAAEA,EAAawD,mBAAEA,SACfrV,KAAK4V,6CAA6CrH,GACpD0D,QAAkBjS,MAAK0R,EAAQQ,YAAYL,GAC3CH,QAAec,GAAaxS,MAAK0R,EAASO,GAEhD,OAAOjS,MAAKsI,EAAQK,OAAO,kCAAmC,CAC5D4F,aACAmD,SACA2D,sBAEJ,CAOA,kBAAMmB,GACJ,OAAOxW,MAAKsI,EAAQK,OAAO,sBAC7B,CAQA,gBAAM8N,CAAWtJ,GACf,OAAOnN,MAAKsI,EAAQK,OAAO,oBAAqB,CAAEwE,eACpD,CASA,uBAAasJ,CAAWtJ,EAA2BgE,GACjD,MAAMuF,EAAgB,IAAIzW,IAC1B,IAAK,MAAMsO,KAAcpB,EAAa,CACpC,MAAM5I,QAAgB2M,GAAwB3C,EAAY4C,GAC1DuF,EAAc1P,IACZuH,EAAWA,WAAWoI,mBACV7U,IAAZyC,EAEJ,CACA,OAAOmS,CACT,CASA,8BAAMT,CAAyB1H,GAC7B,OAAOvO,MAAKsI,EAAQK,OAAO,gCAAiC,CAAE4F,cAChE,CAQA,uBAAAqI,CAAwB/E,GACtB,OAAO7R,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3DkJ,iBAEJ,CASA,+BAAAgF,CACEhF,EACAiF,GAEA,OAAO9W,MAAKsI,EAAQK,OAAO,yCAA0C,CACnEkJ,gBACAiF,kBAEJ,CAUA,yBAAAC,CACElF,EACAiF,EACAE,GAEA,OAAOhX,MAAKsI,EAAQK,OAAO,mCAAoC,CAC7DkJ,gBACAiF,iBACAE,aAEJ,CASA,6BAAMC,CAAwBtF,GAC5B,OAAO3R,MAAKsI,EAAQK,OAAO,iCAAkC,CAC3DgJ,mBAEJ,CAOA,qBAAMuF,GACJ,OAAOlX,MAAKsI,EAAQK,OAAO,yBAC7B,QE/sBWwO,GACX7O,GACAwK,GAEA,WAAA/S,CAAY+S,GACV,MAAMxK,EAAS,IAAIkM,OAAO,IAAIC,IAAI,6BAA8BC,KAAM,CACpE5T,KAAM,WAERd,MAAKsI,EAAU,IAAIuK,GAAyBvK,EAAQwK,GACpD9S,MAAK8S,EAAiBA,IAAiB,CACzC,CAEA,UAAM9B,SACEhR,MAAKsI,EAAQK,OAAO,YAAa,CACrCmK,cAAe9S,MAAK8S,GAExB,CAEA,KAAAe,GACE7T,MAAKsI,EAAQuL,OACf,CAEA,mBAAaiB,CAAOhC,GAClB,MAAMsE,EAAO,IAAID,GAAKrE,GAEtB,aADMsE,EAAKpG,OACJoG,CACT,CAEA,eAAMC,GACJ,OAAOrX,MAAKsI,EAAQK,OAAO,iBAC7B,CAEA,eAAM2O,GACJ,OAAOtX,MAAKsI,EAAQK,OAAO,iBAC7B,CAEA,kBAAM4O,GACJ,OAAOvX,MAAKsI,EAAQK,OAAO,oBAC7B,CAEA,gBAAM6O,CAAWC,GACf,OAAOzX,MAAKsI,EAAQK,OAAO,kBAAmB,CAAE8O,QAClD,CAEA,gBAAMC,CAAWD,GACf,OAAOzX,MAAKsI,EAAQK,OAAO,kBAAmB,CAAE8O,QAClD,CAEA,cAAME,CAASF,GACb,OAAOzX,MAAKsI,EAAQK,OAAO,gBAAiB,CAAE8O,QAChD,CAEA,cAAMG,CAASH,EAAclP,GAC3B,OAAOvI,MAAKsI,EAAQK,OAAO,gBAAiB,CAAE8O,OAAMlP,QACtD,CAEA,cAAMsP,GACJ,OAAO7X,MAAKsI,EAAQK,OAAO,gBAC7B,QClDWmP,GAAoB1S,MAAO2S,UAChC/G,IACCgH,EAAsBD,ICYlBE,GAAqB7S,MAChCyG,IAEO,CACLxK,GAAIwK,EAAaxK,GACjB8K,KAAMN,EAAaM,KACnBD,SAAUL,EAAaK,SACvBD,YAAaJ,EAAaI,YAC1BD,QAASH,EAAaG,QACtBW,YAAad,EAAac,cAC1BxE,eAAgB0D,EAAa1D,eAC7BE,eAAgBwD,EAAaxD,WAC7B0D,OAAQF,EAAaY,aACrBL,YAAaP,EAAaa,kBAC1BtE,YAAayD,EAAazD,cCTxB8P,GACsCC,GAC1C/S,SAAU8N,WACFlC,IACCmH,KAAMjF,IAIJkF,GAAgBF,GAAKG,GACrBC,GAAmBJ,GAAKK,GACxBC,GAAeN,GAAKO,GACpBC,GAAiBR,GAAKS,GACtBC,GAA8BV,GACzCW,GAEWC,GAAiBZ,GAAKa,GACtBC,GAAoBd,GAAKe,GACzBC,GAAyBhB,GAAKiB,GAC9BC,GAAalB,GAAKmB,GAClBC,GAA6BpB,GAAKqB,GAClCC,GAAwBtB,GAAKuB,GAG7BC,GAAqBxB,GAAKyB,GAC1BC,GAAwB1B,GAAK2B,GAC7BC,GAA0B5B,GAAK6B,GAC/BC,GAAoB9B,GAAK+B,GACzBC,GAA0BhC,GAAKiC,GAC/BC,GAAsBlC,GAAKmC,GAC3BC,GAAmCpC,GAC9CqC,GAEWC,GAAsBtC,GAAKuC,GAC3BC,GAAyBxC,GAAKyC,GAC9BC,GAA8B1C,GACzC2C,GAEWC,GAAmB5C,GAAK6C,GACxBC,GAAkB9C,GAAK+C,GACvBC,GAAkChD,GAC7CiD,GAEWC,GAA6BlD,GAAKmD,GAGlCC,GAAoBpD,GAAKqD,GACzBC,GAAoBtD,GAAKuD"}
@@ -1,2 +1,2 @@
1
- import e,{getInboxIdForIdentifier as t,generateInboxId as s,DeviceSyncWorkerMode as i,createClient as n,SortDirection as a,GroupMembershipState as r,ConversationType as o,verifySignedWithPublicKey as c,LogLevel as d}from"@xmtp/wasm-bindings";const u=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs});class l extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class g extends Error{constructor(e){super(`Group "${e}" not found`)}}class p extends Error{constructor(e){super(`Stream "${e}" not found`)}}const m={local:"http://localhost:5557",dev:"https://api.dev.xmtp.network:5558",production:"https://api.production.xmtp.network:5558"},I={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class v{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get id(){return this.#t.id()}get name(){return this.#t.groupName()}async updateName(e){return this.#t.updateGroupName(e)}get imageUrl(){return this.#t.groupImageUrlSquare()}async updateImageUrl(e){return this.#t.updateGroupImageUrlSquare(e)}get description(){return this.#t.groupDescription()}async updateDescription(e){return this.#t.updateGroupDescription(e)}get appData(){try{return this.#t.appData()}catch{return""}}async updateAppData(e){return this.#t.updateAppData(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async lastMessage(){const e=await this.messages({limit:1n,direction:a.Descending});if(e.length>0)return e[0]}async metadata(){return this.#t.groupMetadata()}async members(){return await this.#t.listMembers()}listAdmins(){return this.#t.adminList()}listSuperAdmins(){return this.#t.superAdminList()}permissions(){const e=this.#t.groupPermissions();return{policyType:e.policyType,policySet:e.policySet}}async updatePermission(e,t,s){return this.#t.updatePermissionPolicy(e,t,s)}isAdmin(e){return this.#t.isAdmin(e)}isSuperAdmin(e){return this.#t.isSuperAdmin(e)}async sync(){return this.#t.sync()}async addMembersByIdentifiers(e){return this.#t.addMembers(e)}async addMembers(e){return this.#t.addMembersByInboxId(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembers(e)}async removeMembers(e){return this.#t.removeMembersByInboxId(e)}async addAdmin(e){return this.#t.addAdmin(e)}async removeAdmin(e){return this.#t.removeAdmin(e)}async addSuperAdmin(e){return this.#t.addSuperAdmin(e)}async removeSuperAdmin(e){return this.#t.removeSuperAdmin(e)}async publishMessages(){return this.#t.publishMessages()}async send(e,t){return this.#t.send(e,t??{shouldPush:!0})}async sendText(e,t){return this.#t.sendText(e,t)}async sendMarkdown(e,t){return this.#t.sendMarkdown(e,t)}async sendReaction(e,t){return this.#t.sendReaction(e,t)}async sendReadReceipt(e){return this.#t.sendReadReceipt(e)}async sendReply(e,t){return this.#t.sendReply(e,t)}async sendTransactionReference(e,t){return this.#t.sendTransactionReference(e,t)}async sendWalletSendCalls(e,t){return this.#t.sendWalletSendCalls(e,t)}async sendActions(e,t){return this.#t.sendActions(e,t)}async sendIntent(e,t){return this.#t.sendIntent(e,t)}async sendAttachment(e,t){return this.#t.sendAttachment(e,t)}async sendMultiRemoteAttachment(e,t){return this.#t.sendMultiRemoteAttachment(e,t)}async sendRemoteAttachment(e,t){return this.#t.sendRemoteAttachment(e,t)}async messages(e){return this.#t.findEnrichedMessages(e)}async countMessages(e){return this.#t.countMessages(e)}consentState(){return this.#t.consentState()}updateConsentState(e){this.#t.updateConsentState(e)}dmPeerInboxId(){return this.#t.dmPeerInboxId()}messageDisappearingSettings(){return this.#t.messageDisappearingSettings()}async updateMessageDisappearingSettings(e,t){const s={fromNs:e,inNs:t};return this.#t.updateMessageDisappearingSettings(s)}async removeMessageDisappearingSettings(){return this.#t.removeMessageDisappearingSettings()}isMessageDisappearingEnabled(){return this.#t.isMessageDisappearingEnabled()}stream(e,t){return this.#t.stream({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}pausedForVersion(){return this.#t.pausedForVersion()}hmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async duplicateDms(){return(await this.#t.findDuplicateDms()).map((e=>new v(this.#e,e)))}async requestRemoval(){return this.#t.leaveGroup()}isPendingRemoval(){return this.#t.membershipState()===r.PendingRemove}async lastReadTimes(){return this.#t.getLastReadTimes()}}class h{#e;#s;constructor(e,t){this.#e=e,this.#s=t}async sync(){return this.#s.sync()}async syncAll(e){return this.#s.syncAllConversations(e)}getConversationById(e){try{const t=this.#s.findGroupById(e);return new v(this.#e,t)}catch{return}}async getMessageById(e){try{return await this.#s.findEnrichedMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new v(this.#e,t)}catch{return}}list(e){return this.#s.list(e).map((e=>new v(this.#e,e.conversation)))}listGroups(e){return this.#s.list({...e??{},conversationType:o.Group}).map((e=>new v(this.#e,e.conversation)))}listDms(e){return this.#s.list({...e??{},conversationType:o.Dm}).map((e=>new v(this.#e,e.conversation)))}createGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e);return new v(this.#e,t)}async createGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t);return new v(this.#e,s)}async createGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t);return new v(this.#e,s)}async createDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t);return new v(this.#e,s)}async createDm(e,t){const s=await this.#s.createDmByInboxId(e,t);return new v(this.#e,s)}hmacKeys(){return this.#s.getHmacKeys()}stream(e,t,s){return this.#s.stream({on_conversation:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s)}streamGroups(e,t){return this.stream(e,t,o.Group)}streamDms(e,t){return this.stream(e,t,o.Dm)}streamAllMessages(e,t,s,i){return this.#s.streamAllMessages({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s,i)}streamMessageDeletions(e){return this.#s.streamMessageDeletions({on_message_deleted:t=>{e(null,t)},on_error:t=>{e(t,void 0)}})}}class b{#e;constructor(e){this.#e=e}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}}class y{#e;#s;constructor(e,t){this.#e=e,this.#s=t}sync(){return this.#e.syncPreferences()}async inboxState(e){return this.#e.inboxState(e)}async getInboxStates(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async setConsentStates(e){return this.#e.setConsentStates(e)}async getConsentState(e,t){return this.#e.getConsentState(e,t)}streamConsent(e,t){return this.#s.streamConsent({on_consent_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}streamPreferences(e,t){return this.#s.streamPreferences({on_user_preference_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}}class w{#e;#s;#i;#n;constructor(e){this.#e=e;const t=e.conversations();this.#s=new h(this,t),this.#i=new b(e),this.#n=new y(e,t)}static async create(e,a){const r=await(async(e,a)=>{const r=a?.env||"dev",o=a?.apiUrl||m[r],c=a?.gatewayHost??null,d=o.startsWith("https"),u=await t(o,c,d,e)||s(e),l=void 0===a?.dbPath?`xmtp-${r}-${u}.db3`:a.dbPath,g=a&&(void 0!==a.loggingLevel||a.structuredLogging||a.performanceLogging),p=void 0===a?.historySyncUrl?I[r]:a.historySyncUrl,v=a?.disableDeviceSync?i.Disabled:i.Enabled;return n(o,u,e,l,a?.dbEncryptionKey,p,v,g?{structuredLogging:a.structuredLogging??!1,performanceLogging:a.performanceLogging??!1,loggingLevel:a.loggingLevel}:void 0,void 0,a?.appVersion,a?.gatewayHost,void 0,void 0,void 0,void 0)})(e,a);return new w(r)}get libxmtpVersion(){return this.#e.libxmtpVersion}get appVersion(){return this.#e.appVersion}get accountIdentifier(){return this.#e.accountIdentifier}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}get conversations(){return this.#s}get debugInformation(){return this.#i}get preferences(){return this.#n}async canMessage(e){return this.#e.canMessage(e)}async addSignature(e,t){switch(t.type){case"SCW":await e.addScwSignature(t.identifier,t.signature,t.chainId,t.blockNumber);break;case"EOA":await e.addEcdsaSignature(t.signature)}}async applySignatureRequest(e){return this.#e.applySignatureRequest(e)}async processSignatureRequest(e,t){await this.addSignature(t,e),await this.applySignatureRequest(t)}createInboxSignatureRequest(){return this.#e.createInboxSignatureRequest()}async addAccountSignatureRequest(e){return this.#e.addWalletSignatureRequest(e)}async removeAccountSignatureRequest(e){return this.#e.revokeWalletSignatureRequest(e)}async revokeAllOtherInstallationsSignatureRequest(){return this.#e.revokeAllOtherInstallationsSignatureRequest()}async revokeInstallationsSignatureRequest(e){return this.#e.revokeInstallationsSignatureRequest(e)}async changeRecoveryIdentifierSignatureRequest(e){return this.#e.changeRecoveryIdentifierSignatureRequest(e)}async registerIdentity(e,t){await this.addSignature(t,e),await this.#e.registerIdentity(t)}async getInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentifier(e)}signWithInstallationKey(e){return this.#e.signWithInstallationKey(e)}verifySignedWithInstallationKey(e,t){try{return this.#e.verifySignedWithInstallationKey(e,t),!0}catch{return!1}}verifySignedWithPublicKey(e,t,s){try{return c(e,t,s),!0}catch{return!1}}async fetchKeyPackageStatuses(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}}let S,f=!1;const k=new Map,R=new Map,A=e=>{self.postMessage(e)},x=e=>{self.postMessage(e)},q=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:i,data:n}=t.data;f&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!S)return S=await w.create(n.identifier,n.options),f=void 0!==n.options?.loggingLevel&&n.options.loggingLevel!==d.Off,void A({id:i,action:s,result:{appVersion:S.appVersion,inboxId:S.inboxId,installationId:S.installationId,installationIdBytes:S.installationIdBytes,libxmtpVersion:S.libxmtpVersion}});if(!S)throw new l;const e=S,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new g(t);return s};switch(s){case"endStream":{const e=k.get(n.streamId);if(!e)throw new p(n.streamId);e.end(),k.delete(n.streamId),A({id:i,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.createInboxSignatureText":{const t={signatureText:void 0,signatureRequestId:void 0};try{const s=e.createInboxSignatureRequest();s&&(t.signatureText=await s.signatureText(),t.signatureRequestId=n.signatureRequestId,R.set(n.signatureRequestId,s))}finally{A({id:i,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(n.newIdentifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(n.identifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),a={signatureText:await(t?.signatureText()),signatureRequestId:n.signatureRequestId};t&&R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(n.installationIds),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(n.identifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.registerIdentity":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.addAccount":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.removeAccount":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.revokeInstallations":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;A({id:i,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(n.identifiers);A({id:i,action:s,result:t});break}case"client.getInboxIdByIdentifier":{const t=await e.getInboxIdByIdentifier(n.identifier);A({id:i,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(n.signatureText);A({id:i,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);A({id:i,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);A({id:i,action:s,result:t});break}case"client.fetchKeyPackageStatuses":{const t=await e.fetchKeyPackageStatuses(n.installationIds);A({id:i,action:s,result:t});break}case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics();A({id:i,action:s,result:t});break}case"debugInformation.apiIdentityStatistics":{const t=e.debugInformation.apiIdentityStatistics();A({id:i,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();A({id:i,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),A({id:i,action:s,result:void 0});break;case"preferences.inboxState":{const t=await e.preferences.inboxState(n.refreshFromNetwork);A({id:i,action:s,result:t});break}case"preferences.getInboxStates":{const t=await e.preferences.getInboxStates(n.inboxIds,n.refreshFromNetwork);A({id:i,action:s,result:t});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(n.records),A({id:i,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(n.entityType,n.entity);A({id:i,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();A({id:i,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?q({action:"stream.consent",streamId:n.streamId,error:e}):x({action:"stream.consent",streamId:n.streamId,result:t??[]})},a=e.preferences.streamConsent(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?q({action:"stream.preferences",streamId:n.streamId,error:e}):x({action:"stream.preferences",streamId:n.streamId,result:t??void 0})},a=e.preferences.streamPreferences(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.stream":{const t=(t,s)=>{t?q({action:"stream.conversation",streamId:n.streamId,error:t}):s?u(new v(e,s)).then((e=>{x({action:"stream.conversation",streamId:n.streamId,result:e})})).catch((e=>{q({action:"stream.conversation",streamId:n.streamId,error:e})})):x({action:"stream.conversation",streamId:n.streamId,result:void 0})},a=e.conversations.stream(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(t,s)=>{t?q({action:"stream.message",streamId:n.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then((e=>{e&&x({action:"stream.message",streamId:n.streamId,result:e})}))},a=e.conversations.streamAllMessages(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType,n.consentStates);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.streamMessageDeletions":{const t=(e,t)=>{e?(k.delete(n.streamId),q({action:"stream.messageDeleted",streamId:n.streamId,error:e})):x({action:"stream.messageDeleted",streamId:n.streamId,result:t})},a=e.conversations.streamMessageDeletions(t);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.listGroups":{const t=e.conversations.listGroups(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.listDms":{const t=e.conversations.listDms(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.createGroupOptimistic":{const t=e.conversations.createGroupOptimistic(n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createGroupWithIdentifiers":{const t=await e.conversations.createGroupWithIdentifiers(n.identifiers,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createGroup":{const t=await e.conversations.createGroup(n.inboxIds,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createDmWithIdentifier":{const t=await e.conversations.createDmWithIdentifier(n.identifier,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createDm":{const t=await e.conversations.createDm(n.inboxId,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.sync":await e.conversations.sync(),A({id:i,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(n.consentStates),A({id:i,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(n.id),a=t?await u(t):void 0;A({id:i,action:s,result:a});break}case"conversations.getMessageById":{const t=await e.conversations.getMessageById(n.id);A({id:i,action:s,result:t});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(n.inboxId),a=t?await u(t):void 0;A({id:i,action:s,result:a});break}case"conversations.hmacKeys":{const t=e.conversations.hmacKeys();A({id:i,action:s,result:t});break}case"conversation.sync":{const e=t(n.id);await e.sync();const a=await u(e);A({id:i,action:s,result:a});break}case"conversation.lastMessage":{const e=t(n.id),a=await e.lastMessage();A({id:i,action:s,result:a});break}case"conversation.isActive":{const e=t(n.id).isActive;A({id:i,action:s,result:e});break}case"conversation.consentState":{const e=t(n.id).consentState();A({id:i,action:s,result:e});break}case"conversation.updateConsentState":t(n.id).updateConsentState(n.state),A({id:i,action:s,result:void 0});break;case"group.updateName":{const e=t(n.id);await e.updateName(n.name),A({id:i,action:s,result:void 0});break}case"group.updateDescription":{const e=t(n.id);await e.updateDescription(n.description),A({id:i,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(n.id);await e.updateImageUrl(n.imageUrl),A({id:i,action:s,result:void 0});break}case"group.updateAppData":{const e=t(n.id);await e.updateAppData(n.appData),A({id:i,action:s,result:void 0});break}case"conversation.send":{const e=t(n.id),a=await e.send(n.content,n.options);A({id:i,action:s,result:a});break}case"conversation.publishMessages":{const e=t(n.id);await e.publishMessages(),A({id:i,action:s,result:void 0});break}case"conversation.messages":{const e=t(n.id),a=await e.messages(n.options);A({id:i,action:s,result:a});break}case"conversation.countMessages":{const e=t(n.id),a=await e.countMessages(n.options);A({id:i,action:s,result:a});break}case"conversation.members":{const e=t(n.id),a=await e.members();A({id:i,action:s,result:a});break}case"group.listAdmins":{const e=t(n.id).listAdmins();A({id:i,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(n.id).listSuperAdmins();A({id:i,action:s,result:e});break}case"group.addAdmin":{const e=t(n.id);await e.addAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(n.id);await e.removeAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(n.id);await e.addSuperAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(n.id);await e.removeSuperAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(n.id);await e.addMembersByIdentifiers(n.identifiers),A({id:i,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(n.id);await e.removeMembersByIdentifiers(n.identifiers),A({id:i,action:s,result:void 0});break}case"group.addMembers":{const e=t(n.id);await e.addMembers(n.inboxIds),A({id:i,action:s,result:void 0});break}case"group.removeMembers":{const e=t(n.id);await e.removeMembers(n.inboxIds),A({id:i,action:s,result:void 0});break}case"group.isAdmin":{const e=t(n.id).isAdmin(n.inboxId);A({id:i,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(n.id).isSuperAdmin(n.inboxId);A({id:i,action:s,result:e});break}case"dm.peerInboxId":{const e=t(n.id).dmPeerInboxId();A({id:i,action:s,result:e});break}case"group.updatePermission":{const e=t(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),A({id:i,action:s,result:void 0});break}case"group.permissions":{const e=t(n.id),a=(await u(e)).permissions;A({id:i,action:s,result:a});break}case"group.requestRemoval":{const e=t(n.id);await e.requestRemoval(),A({id:i,action:s,result:void 0});break}case"group.isPendingRemoval":{const e=t(n.id).isPendingRemoval();A({id:i,action:s,result:e});break}case"conversation.messageDisappearingSettings":{const e=t(n.id).messageDisappearingSettings();A({id:i,action:s,result:e});break}case"conversation.updateMessageDisappearingSettings":{const e=t(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),A({id:i,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(n.id);await e.removeMessageDisappearingSettings(),A({id:i,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(n.id).isMessageDisappearingEnabled();A({id:i,action:s,result:e});break}case"conversation.stream":{const a=t(n.groupId),r=(t,s)=>{t?q({action:"stream.message",streamId:n.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then((e=>{e&&x({action:"stream.message",streamId:n.streamId,result:e})}))},o=a.stream(r,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,o),A({id:i,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(n.id).pausedForVersion();A({id:i,action:s,result:e});break}case"conversation.hmacKeys":{const e=t(n.id).hmacKeys();A({id:i,action:s,result:e});break}case"dm.duplicateDms":{const e=t(n.id),a=await e.duplicateDms(),r=await Promise.all(a.map((e=>u(e))));A({id:i,action:s,result:r});break}case"conversation.debugInfo":{const e=t(n.id),a=await e.debugInfo();A({id:i,action:s,result:a});break}case"conversation.lastReadTimes":{const e=t(n.id),a=await e.lastReadTimes();A({id:i,action:s,result:a});break}case"conversation.sendText":{const e=t(n.id),a=await e.sendText(n.text,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendMarkdown":{const e=t(n.id),a=await e.sendMarkdown(n.markdown,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReaction":{const e=t(n.id),a=await e.sendReaction(n.reaction,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReadReceipt":{const e=t(n.id),a=await e.sendReadReceipt(n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReply":{const e=t(n.id),a=await e.sendReply(n.reply,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendTransactionReference":{const e=t(n.id),a=await e.sendTransactionReference(n.transactionReference,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendWalletSendCalls":{const e=t(n.id),a=await e.sendWalletSendCalls(n.walletSendCalls,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendActions":{const e=t(n.id),a=await e.sendActions(n.actions,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendIntent":{const e=t(n.id),a=await e.sendIntent(n.intent,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendAttachment":{const e=t(n.id),a=await e.sendAttachment(n.attachment,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendMultiRemoteAttachment":{const e=t(n.id),a=await e.sendMultiRemoteAttachment(n.multiRemoteAttachment,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendRemoteAttachment":{const e=t(n.id),a=await e.sendRemoteAttachment(n.remoteAttachment,n.isOptimistic);A({id:i,action:s,result:a});break}}}catch(e){(e=>{self.postMessage(e)})({id:i,action:s,error:e})}};
1
+ import e,{getInboxIdForIdentifier as t,generateInboxId as s,DeviceSyncWorkerMode as i,createClient as n,SortDirection as a,GroupMembershipState as r,ConversationType as o,verifySignedWithPublicKey as c,LogLevel as d}from"@xmtp/wasm-bindings";const u=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs});class l extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class g extends Error{constructor(e){super(`Group "${e}" not found`)}}class p extends Error{constructor(e){super(`Stream "${e}" not found`)}}const m={local:"http://localhost:5557",dev:"https://api.dev.xmtp.network:5558",production:"https://api.production.xmtp.network:5558"},v={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class I{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get id(){return this.#t.id()}get name(){return this.#t.groupName()}async updateName(e){return this.#t.updateGroupName(e)}get imageUrl(){return this.#t.groupImageUrlSquare()}async updateImageUrl(e){return this.#t.updateGroupImageUrlSquare(e)}get description(){return this.#t.groupDescription()}async updateDescription(e){return this.#t.updateGroupDescription(e)}get appData(){try{return this.#t.appData()}catch{return""}}async updateAppData(e){return this.#t.updateAppData(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async lastMessage(){const e=await this.messages({limit:1n,direction:a.Descending});if(e.length>0)return e[0]}async metadata(){return this.#t.groupMetadata()}async members(){return await this.#t.listMembers()}listAdmins(){return this.#t.adminList()}listSuperAdmins(){return this.#t.superAdminList()}permissions(){const e=this.#t.groupPermissions();return{policyType:e.policyType,policySet:e.policySet}}async updatePermission(e,t,s){return this.#t.updatePermissionPolicy(e,t,s)}isAdmin(e){return this.#t.isAdmin(e)}isSuperAdmin(e){return this.#t.isSuperAdmin(e)}async sync(){return this.#t.sync()}async addMembersByIdentifiers(e){return this.#t.addMembers(e)}async addMembers(e){return this.#t.addMembersByInboxId(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembers(e)}async removeMembers(e){return this.#t.removeMembersByInboxId(e)}async addAdmin(e){return this.#t.addAdmin(e)}async removeAdmin(e){return this.#t.removeAdmin(e)}async addSuperAdmin(e){return this.#t.addSuperAdmin(e)}async removeSuperAdmin(e){return this.#t.removeSuperAdmin(e)}async publishMessages(){return this.#t.publishMessages()}async send(e,t){return this.#t.send(e,t??{shouldPush:!0})}async sendText(e,t){return this.#t.sendText(e,t)}async sendMarkdown(e,t){return this.#t.sendMarkdown(e,t)}async sendReaction(e,t){return this.#t.sendReaction(e,t)}async sendReadReceipt(e){return this.#t.sendReadReceipt(e)}async sendReply(e,t){return this.#t.sendReply(e,t)}async sendTransactionReference(e,t){return this.#t.sendTransactionReference(e,t)}async sendWalletSendCalls(e,t){return this.#t.sendWalletSendCalls(e,t)}async sendActions(e,t){return this.#t.sendActions(e,t)}async sendIntent(e,t){return this.#t.sendIntent(e,t)}async sendAttachment(e,t){return this.#t.sendAttachment(e,t)}async sendMultiRemoteAttachment(e,t){return this.#t.sendMultiRemoteAttachment(e,t)}async sendRemoteAttachment(e,t){return this.#t.sendRemoteAttachment(e,t)}async messages(e){return this.#t.findEnrichedMessages(e)}async countMessages(e){return this.#t.countMessages(e)}consentState(){return this.#t.consentState()}updateConsentState(e){this.#t.updateConsentState(e)}dmPeerInboxId(){return this.#t.dmPeerInboxId()}messageDisappearingSettings(){return this.#t.messageDisappearingSettings()}async updateMessageDisappearingSettings(e,t){const s={fromNs:e,inNs:t};return this.#t.updateMessageDisappearingSettings(s)}async removeMessageDisappearingSettings(){return this.#t.removeMessageDisappearingSettings()}isMessageDisappearingEnabled(){return this.#t.isMessageDisappearingEnabled()}stream(e,t){return this.#t.stream({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}pausedForVersion(){return this.#t.pausedForVersion()}hmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async duplicateDms(){return(await this.#t.findDuplicateDms()).map((e=>new I(this.#e,e)))}async requestRemoval(){return this.#t.leaveGroup()}isPendingRemoval(){return this.#t.membershipState()===r.PendingRemove}async lastReadTimes(){return this.#t.getLastReadTimes()}}class h{#e;#s;constructor(e,t){this.#e=e,this.#s=t}async sync(){return this.#s.sync()}async syncAll(e){return this.#s.syncAllConversations(e)}getConversationById(e){try{const t=this.#s.findGroupById(e);return new I(this.#e,t)}catch{return}}async getMessageById(e){try{return await this.#s.findEnrichedMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new I(this.#e,t)}catch{return}}list(e){return this.#s.list(e).map((e=>new I(this.#e,e.conversation)))}listGroups(e){return this.#s.list({...e??{},conversationType:o.Group}).map((e=>new I(this.#e,e.conversation)))}listDms(e){return this.#s.list({...e??{},conversationType:o.Dm}).map((e=>new I(this.#e,e.conversation)))}createGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e);return new I(this.#e,t)}async createGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t);return new I(this.#e,s)}async createGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t);return new I(this.#e,s)}async createDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t);return new I(this.#e,s)}async createDm(e,t){const s=await this.#s.createDmByInboxId(e,t);return new I(this.#e,s)}hmacKeys(){return this.#s.getHmacKeys()}stream(e,t,s){return this.#s.stream({on_conversation:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s)}streamGroups(e,t){return this.stream(e,t,o.Group)}streamDms(e,t){return this.stream(e,t,o.Dm)}streamAllMessages(e,t,s,i){return this.#s.streamAllMessages({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s,i)}streamMessageDeletions(e){return this.#s.streamMessageDeletions({on_message_deleted:t=>{e(null,t)},on_error:t=>{e(t,void 0)}})}}class b{#e;constructor(e){this.#e=e}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}}class y{#e;#s;constructor(e,t){this.#e=e,this.#s=t}sync(){return this.#e.syncPreferences()}async inboxState(e){return this.#e.inboxState(e)}async getInboxStates(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async setConsentStates(e){return this.#e.setConsentStates(e)}async getConsentState(e,t){return this.#e.getConsentState(e,t)}streamConsent(e,t){return this.#s.streamConsent({on_consent_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}streamPreferences(e,t){return this.#s.streamPreferences({on_user_preference_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}}class w{#e;#s;#i;#n;constructor(e){this.#e=e;const t=e.conversations();this.#s=new h(this,t),this.#i=new b(e),this.#n=new y(e,t)}static async create(e,a){const r=await(async(e,a)=>{const r=a?.env||"dev",o=a?.apiUrl||m[r],c=a?.gatewayHost??null,d=o.startsWith("https"),u=await t(o,c,d,e)||s(e),l=void 0===a?.dbPath?`xmtp-${r}-${u}.db3`:a.dbPath,g=a&&(void 0!==a.loggingLevel||a.structuredLogging||a.performanceLogging),p=void 0===a?.historySyncUrl?v[r]:a.historySyncUrl,I=a?.disableDeviceSync?i.Disabled:i.Enabled;return n(o,u,e,l,a?.dbEncryptionKey,p,I,g?{structured:a.structuredLogging??!1,performance:a.performanceLogging??!1,level:a.loggingLevel}:void 0,void 0,a?.appVersion,a?.gatewayHost,void 0,void 0,void 0,void 0)})(e,a);return new w(r)}get libxmtpVersion(){return this.#e.libxmtpVersion}get appVersion(){return this.#e.appVersion}get accountIdentifier(){return this.#e.accountIdentifier}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}get conversations(){return this.#s}get debugInformation(){return this.#i}get preferences(){return this.#n}async canMessage(e){return this.#e.canMessage(e)}async addSignature(e,t){switch(t.type){case"SCW":await e.addScwSignature(t.identifier,t.signature,t.chainId,t.blockNumber);break;case"EOA":await e.addEcdsaSignature(t.signature)}}async applySignatureRequest(e){return this.#e.applySignatureRequest(e)}async processSignatureRequest(e,t){await this.addSignature(t,e),await this.applySignatureRequest(t)}createInboxSignatureRequest(){return this.#e.createInboxSignatureRequest()}async addAccountSignatureRequest(e){return this.#e.addWalletSignatureRequest(e)}async removeAccountSignatureRequest(e){return this.#e.revokeWalletSignatureRequest(e)}async revokeAllOtherInstallationsSignatureRequest(){return this.#e.revokeAllOtherInstallationsSignatureRequest()}async revokeInstallationsSignatureRequest(e){return this.#e.revokeInstallationsSignatureRequest(e)}async changeRecoveryIdentifierSignatureRequest(e){return this.#e.changeRecoveryIdentifierSignatureRequest(e)}async registerIdentity(e,t){await this.addSignature(t,e),await this.#e.registerIdentity(t)}async getInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentifier(e)}signWithInstallationKey(e){return this.#e.signWithInstallationKey(e)}verifySignedWithInstallationKey(e,t){try{return this.#e.verifySignedWithInstallationKey(e,t),!0}catch{return!1}}verifySignedWithPublicKey(e,t,s){try{return c(e,t,s),!0}catch{return!1}}async fetchKeyPackageStatuses(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}async sendSyncRequest(){return this.#e.sendSyncRequest()}}let S,f=!1;const k=new Map,R=new Map,A=e=>{self.postMessage(e)},x=e=>{self.postMessage(e)},q=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:i,data:n}=t.data;f&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!S)return S=await w.create(n.identifier,n.options),f=void 0!==n.options?.loggingLevel&&n.options.loggingLevel!==d.Off,void A({id:i,action:s,result:{appVersion:S.appVersion,inboxId:S.inboxId,installationId:S.installationId,installationIdBytes:S.installationIdBytes,libxmtpVersion:S.libxmtpVersion}});if(!S)throw new l;const e=S,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new g(t);return s};switch(s){case"endStream":{const e=k.get(n.streamId);if(!e)throw new p(n.streamId);e.end(),k.delete(n.streamId),A({id:i,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.createInboxSignatureText":{const t={signatureText:void 0,signatureRequestId:void 0};try{const s=e.createInboxSignatureRequest();s&&(t.signatureText=await s.signatureText(),t.signatureRequestId=n.signatureRequestId,R.set(n.signatureRequestId,s))}finally{A({id:i,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(n.newIdentifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(n.identifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),a={signatureText:await(t?.signatureText()),signatureRequestId:n.signatureRequestId};t&&R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(n.installationIds),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(n.identifier),a={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};R.set(n.signatureRequestId,t),A({id:i,action:s,result:a});break}case"client.registerIdentity":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.addAccount":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.removeAccount":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.revokeInstallations":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=R.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),R.delete(n.signatureRequestId),A({id:i,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;A({id:i,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(n.identifiers);A({id:i,action:s,result:t});break}case"client.getInboxIdByIdentifier":{const t=await e.getInboxIdByIdentifier(n.identifier);A({id:i,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(n.signatureText);A({id:i,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);A({id:i,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);A({id:i,action:s,result:t});break}case"client.fetchKeyPackageStatuses":{const t=await e.fetchKeyPackageStatuses(n.installationIds);A({id:i,action:s,result:t});break}case"client.sendSyncRequest":await e.sendSyncRequest(),A({id:i,action:s,result:void 0});break;case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics();A({id:i,action:s,result:t});break}case"debugInformation.apiIdentityStatistics":{const t=e.debugInformation.apiIdentityStatistics();A({id:i,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();A({id:i,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),A({id:i,action:s,result:void 0});break;case"preferences.inboxState":{const t=await e.preferences.inboxState(n.refreshFromNetwork);A({id:i,action:s,result:t});break}case"preferences.getInboxStates":{const t=await e.preferences.getInboxStates(n.inboxIds,n.refreshFromNetwork);A({id:i,action:s,result:t});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(n.records),A({id:i,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(n.entityType,n.entity);A({id:i,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();A({id:i,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?q({action:"stream.consent",streamId:n.streamId,error:e}):x({action:"stream.consent",streamId:n.streamId,result:t??[]})},a=e.preferences.streamConsent(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?q({action:"stream.preferences",streamId:n.streamId,error:e}):x({action:"stream.preferences",streamId:n.streamId,result:t??void 0})},a=e.preferences.streamPreferences(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.stream":{const t=(t,s)=>{t?q({action:"stream.conversation",streamId:n.streamId,error:t}):s?u(new I(e,s)).then((e=>{x({action:"stream.conversation",streamId:n.streamId,result:e})})).catch((e=>{q({action:"stream.conversation",streamId:n.streamId,error:e})})):x({action:"stream.conversation",streamId:n.streamId,result:void 0})},a=e.conversations.stream(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(t,s)=>{t?q({action:"stream.message",streamId:n.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then((e=>{e&&x({action:"stream.message",streamId:n.streamId,result:e})}))},a=e.conversations.streamAllMessages(t,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType,n.consentStates);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.streamMessageDeletions":{const t=(e,t)=>{e?(k.delete(n.streamId),q({action:"stream.messageDeleted",streamId:n.streamId,error:e})):x({action:"stream.messageDeleted",streamId:n.streamId,result:t})},a=e.conversations.streamMessageDeletions(t);k.set(n.streamId,a),A({id:i,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.listGroups":{const t=e.conversations.listGroups(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.listDms":{const t=e.conversations.listDms(n.options),a=await Promise.all(t.map((e=>u(e))));A({id:i,action:s,result:a});break}case"conversations.createGroupOptimistic":{const t=e.conversations.createGroupOptimistic(n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createGroupWithIdentifiers":{const t=await e.conversations.createGroupWithIdentifiers(n.identifiers,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createGroup":{const t=await e.conversations.createGroup(n.inboxIds,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createDmWithIdentifier":{const t=await e.conversations.createDmWithIdentifier(n.identifier,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.createDm":{const t=await e.conversations.createDm(n.inboxId,n.options),a=await u(t);A({id:i,action:s,result:a});break}case"conversations.sync":await e.conversations.sync(),A({id:i,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(n.consentStates),A({id:i,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(n.id),a=t?await u(t):void 0;A({id:i,action:s,result:a});break}case"conversations.getMessageById":{const t=await e.conversations.getMessageById(n.id);A({id:i,action:s,result:t});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(n.inboxId),a=t?await u(t):void 0;A({id:i,action:s,result:a});break}case"conversations.hmacKeys":{const t=e.conversations.hmacKeys();A({id:i,action:s,result:t});break}case"conversation.sync":{const e=t(n.id);await e.sync();const a=await u(e);A({id:i,action:s,result:a});break}case"conversation.lastMessage":{const e=t(n.id),a=await e.lastMessage();A({id:i,action:s,result:a});break}case"conversation.isActive":{const e=t(n.id).isActive;A({id:i,action:s,result:e});break}case"conversation.consentState":{const e=t(n.id).consentState();A({id:i,action:s,result:e});break}case"conversation.updateConsentState":t(n.id).updateConsentState(n.state),A({id:i,action:s,result:void 0});break;case"group.updateName":{const e=t(n.id);await e.updateName(n.name),A({id:i,action:s,result:void 0});break}case"group.updateDescription":{const e=t(n.id);await e.updateDescription(n.description),A({id:i,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(n.id);await e.updateImageUrl(n.imageUrl),A({id:i,action:s,result:void 0});break}case"group.updateAppData":{const e=t(n.id);await e.updateAppData(n.appData),A({id:i,action:s,result:void 0});break}case"conversation.send":{const e=t(n.id),a=await e.send(n.content,n.options);A({id:i,action:s,result:a});break}case"conversation.publishMessages":{const e=t(n.id);await e.publishMessages(),A({id:i,action:s,result:void 0});break}case"conversation.messages":{const e=t(n.id),a=await e.messages(n.options);A({id:i,action:s,result:a});break}case"conversation.countMessages":{const e=t(n.id),a=await e.countMessages(n.options);A({id:i,action:s,result:a});break}case"conversation.members":{const e=t(n.id),a=await e.members();A({id:i,action:s,result:a});break}case"group.listAdmins":{const e=t(n.id).listAdmins();A({id:i,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(n.id).listSuperAdmins();A({id:i,action:s,result:e});break}case"group.addAdmin":{const e=t(n.id);await e.addAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(n.id);await e.removeAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(n.id);await e.addSuperAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(n.id);await e.removeSuperAdmin(n.inboxId),A({id:i,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(n.id);await e.addMembersByIdentifiers(n.identifiers),A({id:i,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(n.id);await e.removeMembersByIdentifiers(n.identifiers),A({id:i,action:s,result:void 0});break}case"group.addMembers":{const e=t(n.id);await e.addMembers(n.inboxIds),A({id:i,action:s,result:void 0});break}case"group.removeMembers":{const e=t(n.id);await e.removeMembers(n.inboxIds),A({id:i,action:s,result:void 0});break}case"group.isAdmin":{const e=t(n.id).isAdmin(n.inboxId);A({id:i,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(n.id).isSuperAdmin(n.inboxId);A({id:i,action:s,result:e});break}case"dm.peerInboxId":{const e=t(n.id).dmPeerInboxId();A({id:i,action:s,result:e});break}case"group.updatePermission":{const e=t(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),A({id:i,action:s,result:void 0});break}case"group.permissions":{const e=t(n.id),a=(await u(e)).permissions;A({id:i,action:s,result:a});break}case"group.requestRemoval":{const e=t(n.id);await e.requestRemoval(),A({id:i,action:s,result:void 0});break}case"group.isPendingRemoval":{const e=t(n.id).isPendingRemoval();A({id:i,action:s,result:e});break}case"conversation.messageDisappearingSettings":{const e=t(n.id).messageDisappearingSettings();A({id:i,action:s,result:e});break}case"conversation.updateMessageDisappearingSettings":{const e=t(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),A({id:i,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(n.id);await e.removeMessageDisappearingSettings(),A({id:i,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(n.id).isMessageDisappearingEnabled();A({id:i,action:s,result:e});break}case"conversation.stream":{const a=t(n.groupId),r=(t,s)=>{t?q({action:"stream.message",streamId:n.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then((e=>{e&&x({action:"stream.message",streamId:n.streamId,result:e})}))},o=a.stream(r,(()=>{k.delete(n.streamId),x({action:"stream.fail",streamId:n.streamId,result:void 0})}));k.set(n.streamId,o),A({id:i,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(n.id).pausedForVersion();A({id:i,action:s,result:e});break}case"conversation.hmacKeys":{const e=t(n.id).hmacKeys();A({id:i,action:s,result:e});break}case"dm.duplicateDms":{const e=t(n.id),a=await e.duplicateDms(),r=await Promise.all(a.map((e=>u(e))));A({id:i,action:s,result:r});break}case"conversation.debugInfo":{const e=t(n.id),a=await e.debugInfo();A({id:i,action:s,result:a});break}case"conversation.lastReadTimes":{const e=t(n.id),a=await e.lastReadTimes();A({id:i,action:s,result:a});break}case"conversation.sendText":{const e=t(n.id),a=await e.sendText(n.text,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendMarkdown":{const e=t(n.id),a=await e.sendMarkdown(n.markdown,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReaction":{const e=t(n.id),a=await e.sendReaction(n.reaction,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReadReceipt":{const e=t(n.id),a=await e.sendReadReceipt(n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendReply":{const e=t(n.id),a=await e.sendReply(n.reply,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendTransactionReference":{const e=t(n.id),a=await e.sendTransactionReference(n.transactionReference,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendWalletSendCalls":{const e=t(n.id),a=await e.sendWalletSendCalls(n.walletSendCalls,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendActions":{const e=t(n.id),a=await e.sendActions(n.actions,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendIntent":{const e=t(n.id),a=await e.sendIntent(n.intent,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendAttachment":{const e=t(n.id),a=await e.sendAttachment(n.attachment,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendMultiRemoteAttachment":{const e=t(n.id),a=await e.sendMultiRemoteAttachment(n.multiRemoteAttachment,n.isOptimistic);A({id:i,action:s,result:a});break}case"conversation.sendRemoteAttachment":{const e=t(n.id),a=await e.sendRemoteAttachment(n.remoteAttachment,n.isOptimistic);A({id:i,action:s,result:a});break}}}catch(e){(e=>{self.postMessage(e)})({id:i,action:s,error:e})}};
2
2
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/constants.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/utils/createClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["toSafeConversation","async","conversation","id","name","imageUrl","description","appData","permissions","addedByInboxId","metadata","admins","listAdmins","superAdmins","listSuperAdmins","createdAtNs","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","ApiUrls","local","dev","production","HistorySyncUrls","WorkerConversation","client","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","updateAppData","isActive","lastMessage","messages","limit","direction","SortDirection","Descending","length","groupMetadata","members","listMembers","adminList","superAdminList","groupPermissions","policyType","policySet","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","inboxId","isSuperAdmin","sync","addMembersByIdentifiers","identifiers","addMembers","inboxIds","addMembersByInboxId","removeMembersByIdentifiers","removeMembers","removeMembersByInboxId","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","send","encodedContent","opts","shouldPush","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","reaction","sendReadReceipt","sendReply","reply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","options","findEnrichedMessages","countMessages","consentState","updateConsentState","state","dmPeerInboxId","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","settings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","onFail","on_message","message","on_error","error","undefined","on_close","pausedForVersion","hmacKeys","getHmacKeys","debugInfo","getDebugInfo","duplicateDms","findDuplicateDms","map","dm","requestRemoval","leaveGroup","isPendingRemoval","membershipState","GroupMembershipState","PendingRemove","lastReadTimes","getLastReadTimes","WorkerConversations","conversations","syncAll","consentStates","syncAllConversations","getConversationById","findGroupById","getMessageById","findEnrichedMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","conversationType","ConversationType","Group","listDms","Dm","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createGroupByInboxIds","createDmWithIdentifier","identifier","createDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","streamMessageDeletions","on_message_deleted","messageId","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","WorkerPreferences","syncPreferences","inboxState","refreshFromNetwork","getInboxStates","inboxStateFromInboxIds","setConsentStates","records","getConsentState","entityType","entity","streamConsent","on_consent_update","consent","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","env","host","apiUrl","gatewayHost","isSecure","startsWith","getInboxIdForIdentifier","generateInboxId","dbPath","isLogging","loggingLevel","structuredLogging","performanceLogging","historySyncUrl","deviceSyncWorkerMode","disableDeviceSync","DeviceSyncWorkerMode","Disabled","Enabled","createWasmClient","dbEncryptionKey","appVersion","createClient","libxmtpVersion","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","type","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","installationIds","changeRecoveryIdentifierSignatureRequest","registerIdentity","getInboxIdByIdentifier","findInboxIdByIdentifier","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","getKeyPackageStatusesForInstallationIds","maybeClient","enableLogging","streamClosers","Map","signatureRequests","postMessage","data","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","init","LogLevel","Off","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","streamCallback","value","then","catch","enrichedMessage","Promise","all","content","dms","e","postMessageError"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/constants.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/utils/createClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["toSafeConversation","async","conversation","id","name","imageUrl","description","appData","permissions","addedByInboxId","metadata","admins","listAdmins","superAdmins","listSuperAdmins","createdAtNs","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","ApiUrls","local","dev","production","HistorySyncUrls","WorkerConversation","client","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","updateAppData","isActive","lastMessage","messages","limit","direction","SortDirection","Descending","length","groupMetadata","members","listMembers","adminList","superAdminList","groupPermissions","policyType","policySet","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","inboxId","isSuperAdmin","sync","addMembersByIdentifiers","identifiers","addMembers","inboxIds","addMembersByInboxId","removeMembersByIdentifiers","removeMembers","removeMembersByInboxId","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","send","encodedContent","opts","shouldPush","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","reaction","sendReadReceipt","sendReply","reply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","options","findEnrichedMessages","countMessages","consentState","updateConsentState","state","dmPeerInboxId","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","settings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","onFail","on_message","message","on_error","error","undefined","on_close","pausedForVersion","hmacKeys","getHmacKeys","debugInfo","getDebugInfo","duplicateDms","findDuplicateDms","map","dm","requestRemoval","leaveGroup","isPendingRemoval","membershipState","GroupMembershipState","PendingRemove","lastReadTimes","getLastReadTimes","WorkerConversations","conversations","syncAll","consentStates","syncAllConversations","getConversationById","findGroupById","getMessageById","findEnrichedMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","conversationType","ConversationType","Group","listDms","Dm","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createGroupByInboxIds","createDmWithIdentifier","identifier","createDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","streamMessageDeletions","on_message_deleted","messageId","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","WorkerPreferences","syncPreferences","inboxState","refreshFromNetwork","getInboxStates","inboxStateFromInboxIds","setConsentStates","records","getConsentState","entityType","entity","streamConsent","on_consent_update","consent","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","env","host","apiUrl","gatewayHost","isSecure","startsWith","getInboxIdForIdentifier","generateInboxId","dbPath","isLogging","loggingLevel","structuredLogging","performanceLogging","historySyncUrl","deviceSyncWorkerMode","disableDeviceSync","DeviceSyncWorkerMode","Disabled","Enabled","createWasmClient","dbEncryptionKey","structured","performance","level","appVersion","createClient","libxmtpVersion","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","type","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","installationIds","changeRecoveryIdentifierSignatureRequest","registerIdentity","getInboxIdByIdentifier","findInboxIdByIdentifier","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","getKeyPackageStatusesForInstallationIds","sendSyncRequest","maybeClient","enableLogging","streamClosers","Map","signatureRequests","postMessage","data","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","init","LogLevel","Off","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","streamCallback","value","then","catch","enrichedMessage","Promise","all","content","dms","e","postMessageError"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmtp/browser-sdk",
3
- "version": "6.0.1",
3
+ "version": "6.1.1",
4
4
  "description": "XMTP client SDK for browsers written in TypeScript",
5
5
  "keywords": [
6
6
  "xmtp",
package/src/Client.ts CHANGED
@@ -712,4 +712,13 @@ export class Client<ContentTypes = ExtractCodecContentTypes> {
712
712
  installationIds,
713
713
  });
714
714
  }
715
+
716
+ /**
717
+ * Send a sync request to other devices on the network
718
+ *
719
+ * @returns Promise that resolves when the sync request is sent
720
+ */
721
+ async sendSyncRequest() {
722
+ return this.#worker.action("client.sendSyncRequest");
723
+ }
715
724
  }
@@ -184,4 +184,8 @@ export class WorkerClient {
184
184
  installationIds,
185
185
  ) as Promise<Map<string, KeyPackageStatus>>;
186
186
  }
187
+
188
+ async sendSyncRequest() {
189
+ return this.#client.sendSyncRequest();
190
+ }
187
191
  }
@@ -211,4 +211,10 @@ export type ClientAction =
211
211
  data: {
212
212
  installationIds: string[];
213
213
  };
214
+ }
215
+ | {
216
+ action: "client.sendSyncRequest";
217
+ id: string;
218
+ result: undefined;
219
+ data: undefined;
214
220
  };
@@ -4,7 +4,6 @@ import {
4
4
  generateInboxId,
5
5
  getInboxIdForIdentifier,
6
6
  type Identifier,
7
- type LogOptions,
8
7
  } from "@xmtp/wasm-bindings";
9
8
  import { ApiUrls, HistorySyncUrls } from "@/constants";
10
9
  import type { ClientOptions } from "@/types/options";
@@ -48,11 +47,11 @@ export const createClient = async (
48
47
  historySyncUrl,
49
48
  deviceSyncWorkerMode,
50
49
  isLogging
51
- ? ({
52
- structuredLogging: options.structuredLogging ?? false,
53
- performanceLogging: options.performanceLogging ?? false,
54
- loggingLevel: options.loggingLevel,
55
- } as LogOptions)
50
+ ? {
51
+ structured: options.structuredLogging ?? false,
52
+ performance: options.performanceLogging ?? false,
53
+ level: options.loggingLevel,
54
+ }
56
55
  : undefined,
57
56
  undefined, // allowOffline
58
57
  options?.appVersion,
@@ -336,6 +336,11 @@ self.onmessage = async (
336
336
  });
337
337
  break;
338
338
  }
339
+ case "client.sendSyncRequest": {
340
+ await client.sendSyncRequest();
341
+ postMessage({ id, action, result: undefined });
342
+ break;
343
+ }
339
344
  /**
340
345
  * Debug information actions
341
346
  */