@sudobility/contracts 0.14.0 → 0.15.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.
Files changed (123) hide show
  1. package/dist/evm/src/evm/{mailer-client.d.ts → evm-mailer-client.d.ts} +146 -50
  2. package/dist/evm/src/evm/evm-mailer-client.d.ts.map +1 -0
  3. package/dist/evm/src/evm/evm-mailer-client.js +924 -0
  4. package/dist/evm/src/evm/evm-mailer-client.js.map +1 -0
  5. package/dist/evm/src/evm/index.d.ts +1 -1
  6. package/dist/evm/src/evm/index.d.ts.map +1 -1
  7. package/dist/evm/src/evm/index.js +4 -4
  8. package/dist/evm/src/evm/index.js.map +1 -1
  9. package/dist/solana/solana/index.d.ts +1 -1
  10. package/dist/solana/solana/index.d.ts.map +1 -1
  11. package/dist/solana/solana/index.js +4 -3
  12. package/dist/solana/solana/index.js.map +1 -1
  13. package/dist/solana/solana/solana-mailer-client.d.ts +209 -0
  14. package/dist/solana/solana/solana-mailer-client.d.ts.map +1 -0
  15. package/dist/solana/solana/solana-mailer-client.js +1004 -0
  16. package/dist/solana/solana/solana-mailer-client.js.map +1 -0
  17. package/dist/solana/solana/types.d.ts +3 -2
  18. package/dist/solana/solana/types.d.ts.map +1 -1
  19. package/dist/solana/solana/types.js.map +1 -1
  20. package/dist/{unified-esm/src/evm/mailer-client.d.ts → unified/src/evm/evm-mailer-client.d.ts} +146 -50
  21. package/dist/unified/src/evm/evm-mailer-client.d.ts.map +1 -0
  22. package/dist/unified/src/evm/evm-mailer-client.js +924 -0
  23. package/dist/unified/src/evm/evm-mailer-client.js.map +1 -0
  24. package/dist/unified/src/evm/index.d.ts +1 -1
  25. package/dist/unified/src/evm/index.d.ts.map +1 -1
  26. package/dist/unified/src/evm/index.js +4 -4
  27. package/dist/unified/src/evm/index.js.map +1 -1
  28. package/dist/unified/src/react/context/MailerProvider.d.ts +26 -20
  29. package/dist/unified/src/react/context/MailerProvider.d.ts.map +1 -1
  30. package/dist/unified/src/react/context/MailerProvider.js +26 -26
  31. package/dist/unified/src/react/context/MailerProvider.js.map +1 -1
  32. package/dist/unified/src/react/hooks/useMailerMutations.d.ts +225 -192
  33. package/dist/unified/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  34. package/dist/unified/src/react/hooks/useMailerMutations.js +263 -266
  35. package/dist/unified/src/react/hooks/useMailerMutations.js.map +1 -1
  36. package/dist/unified/src/react/hooks/useMailerQueries.d.ts +117 -63
  37. package/dist/unified/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  38. package/dist/unified/src/react/hooks/useMailerQueries.js +239 -104
  39. package/dist/unified/src/react/hooks/useMailerQueries.js.map +1 -1
  40. package/dist/unified/src/react/index.d.ts +5 -3
  41. package/dist/unified/src/react/index.d.ts.map +1 -1
  42. package/dist/unified/src/react/index.js +41 -26
  43. package/dist/unified/src/react/index.js.map +1 -1
  44. package/dist/unified/src/solana/index.d.ts +1 -1
  45. package/dist/unified/src/solana/index.d.ts.map +1 -1
  46. package/dist/unified/src/solana/index.js +4 -3
  47. package/dist/unified/src/solana/index.js.map +1 -1
  48. package/dist/unified/src/solana/solana-mailer-client.d.ts +209 -0
  49. package/dist/unified/src/solana/solana-mailer-client.d.ts.map +1 -0
  50. package/dist/unified/src/solana/solana-mailer-client.js +1004 -0
  51. package/dist/unified/src/solana/solana-mailer-client.js.map +1 -0
  52. package/dist/unified/src/solana/types.d.ts +3 -2
  53. package/dist/unified/src/solana/types.d.ts.map +1 -1
  54. package/dist/unified/src/solana/types.js.map +1 -1
  55. package/dist/unified/src/unified/onchain-mailer-client.d.ts +224 -139
  56. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  57. package/dist/unified/src/unified/onchain-mailer-client.js +577 -857
  58. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
  59. package/dist/unified/src/unified/types.d.ts +9 -2
  60. package/dist/unified/src/unified/types.d.ts.map +1 -1
  61. package/dist/{unified/src/evm/mailer-client.d.ts → unified-esm/src/evm/evm-mailer-client.d.ts} +146 -50
  62. package/dist/unified-esm/src/evm/evm-mailer-client.d.ts.map +1 -0
  63. package/dist/unified-esm/src/evm/evm-mailer-client.js +920 -0
  64. package/dist/unified-esm/src/evm/evm-mailer-client.js.map +1 -0
  65. package/dist/unified-esm/src/evm/index.d.ts +1 -1
  66. package/dist/unified-esm/src/evm/index.d.ts.map +1 -1
  67. package/dist/unified-esm/src/evm/index.js +2 -2
  68. package/dist/unified-esm/src/evm/index.js.map +1 -1
  69. package/dist/unified-esm/src/react/context/MailerProvider.d.ts +26 -20
  70. package/dist/unified-esm/src/react/context/MailerProvider.d.ts.map +1 -1
  71. package/dist/unified-esm/src/react/context/MailerProvider.js +25 -26
  72. package/dist/unified-esm/src/react/context/MailerProvider.js.map +1 -1
  73. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +225 -192
  74. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  75. package/dist/unified-esm/src/react/hooks/useMailerMutations.js +254 -262
  76. package/dist/unified-esm/src/react/hooks/useMailerMutations.js.map +1 -1
  77. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts +117 -63
  78. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  79. package/dist/unified-esm/src/react/hooks/useMailerQueries.js +232 -102
  80. package/dist/unified-esm/src/react/hooks/useMailerQueries.js.map +1 -1
  81. package/dist/unified-esm/src/react/index.d.ts +5 -3
  82. package/dist/unified-esm/src/react/index.d.ts.map +1 -1
  83. package/dist/unified-esm/src/react/index.js +9 -5
  84. package/dist/unified-esm/src/react/index.js.map +1 -1
  85. package/dist/unified-esm/src/solana/index.d.ts +1 -1
  86. package/dist/unified-esm/src/solana/index.d.ts.map +1 -1
  87. package/dist/unified-esm/src/solana/index.js +2 -1
  88. package/dist/unified-esm/src/solana/index.js.map +1 -1
  89. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts +209 -0
  90. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts.map +1 -0
  91. package/dist/unified-esm/src/solana/solana-mailer-client.js +1000 -0
  92. package/dist/unified-esm/src/solana/solana-mailer-client.js.map +1 -0
  93. package/dist/unified-esm/src/solana/types.d.ts +3 -2
  94. package/dist/unified-esm/src/solana/types.d.ts.map +1 -1
  95. package/dist/unified-esm/src/solana/types.js.map +1 -1
  96. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +224 -139
  97. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
  98. package/dist/unified-esm/src/unified/onchain-mailer-client.js +579 -859
  99. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
  100. package/dist/unified-esm/src/unified/types.d.ts +9 -2
  101. package/dist/unified-esm/src/unified/types.d.ts.map +1 -1
  102. package/package.json +3 -3
  103. package/dist/evm/src/evm/mailer-client.d.ts.map +0 -1
  104. package/dist/evm/src/evm/mailer-client.js +0 -619
  105. package/dist/evm/src/evm/mailer-client.js.map +0 -1
  106. package/dist/solana/solana/mailer-client.d.ts +0 -282
  107. package/dist/solana/solana/mailer-client.d.ts.map +0 -1
  108. package/dist/solana/solana/mailer-client.js +0 -989
  109. package/dist/solana/solana/mailer-client.js.map +0 -1
  110. package/dist/unified/src/evm/mailer-client.d.ts.map +0 -1
  111. package/dist/unified/src/evm/mailer-client.js +0 -619
  112. package/dist/unified/src/evm/mailer-client.js.map +0 -1
  113. package/dist/unified/src/solana/mailer-client.d.ts +0 -282
  114. package/dist/unified/src/solana/mailer-client.d.ts.map +0 -1
  115. package/dist/unified/src/solana/mailer-client.js +0 -989
  116. package/dist/unified/src/solana/mailer-client.js.map +0 -1
  117. package/dist/unified-esm/src/evm/mailer-client.d.ts.map +0 -1
  118. package/dist/unified-esm/src/evm/mailer-client.js +0 -615
  119. package/dist/unified-esm/src/evm/mailer-client.js.map +0 -1
  120. package/dist/unified-esm/src/solana/mailer-client.d.ts +0 -282
  121. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +0 -1
  122. package/dist/unified-esm/src/solana/mailer-client.js +0 -985
  123. package/dist/unified-esm/src/solana/mailer-client.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import { Account, Address, Hash, PublicClient, WalletClient } from 'viem';
1
+ import { Address, Hash, PublicClient, WalletClient } from 'viem';
2
+ import { ChainInfo } from '@sudobility/configs';
2
3
  type RecipientClaim = {
3
4
  amount: bigint;
4
5
  expiresAt: bigint;
@@ -46,13 +47,24 @@ export interface TransactionResult {
46
47
  * Actual gas limit used
47
48
  */
48
49
  gasLimit?: bigint;
50
+ /**
51
+ * Gas actually used by transaction (from receipt)
52
+ */
53
+ gasUsed?: bigint;
54
+ }
55
+ /**
56
+ * EVM Wallet interface
57
+ */
58
+ export interface EVMWallet {
59
+ walletClient: WalletClient;
60
+ publicClient?: PublicClient;
49
61
  }
50
62
  /**
51
- * High-level client for interacting with the EVM Mailer contract.
52
- * Exposes every callable contract function with type-safe wrappers.
53
- * Includes automatic gas estimation with configurable buffer for all transactions.
63
+ * Stateless EVM Mailer client.
64
+ * All methods take wallet and chainInfo as parameters.
65
+ * No state is stored in the instance.
54
66
  */
55
- export declare class MailerClient {
67
+ export declare class EVMMailerClient {
56
68
  static readonly abi: readonly [{
57
69
  readonly inputs: readonly [{
58
70
  readonly internalType: "address";
@@ -907,10 +919,16 @@ export declare class MailerClient {
907
919
  readonly type: "function";
908
920
  }];
909
921
  static readonly bytecode: `0x${string}`;
910
- private readonly contractAddress;
911
- private readonly publicClient;
912
922
  private readonly defaultGasMultiplier;
913
- constructor(contractAddress: string | Address, publicClient: PublicClient);
923
+ private readonly defaultGasLimits;
924
+ /**
925
+ * Ensure publicClient is provided
926
+ */
927
+ private ensurePublicClient;
928
+ /**
929
+ * Switch chain if needed for EVM wallet
930
+ */
931
+ private switchChainIfNeeded;
914
932
  /**
915
933
  * Helper method to estimate gas for a transaction with optional buffer
916
934
  */
@@ -920,47 +938,125 @@ export declare class MailerClient {
920
938
  */
921
939
  private buildTxParams;
922
940
  /**
923
- * Deploy a fresh Mailer contract instance with gas estimation.
924
- */
925
- static deploy(walletClient: WalletClient, publicClient: PublicClient, account: Account | Address, usdcTokenAddress: string | Address, ownerAddress: string | Address, gasOptions?: GasOptions): Promise<{
926
- client: MailerClient;
927
- result: TransactionResult;
928
- }>;
929
- getAddress(): Address;
930
- /**
931
- * Core message send with explicit payer control and gas estimation.
932
- */
933
- send(to: Address | string, subject: string, body: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
934
- sendPrepared(to: Address | string, mailId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
935
- sendThroughWebhook(to: Address | string, webhookId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
936
- sendToEmailAddress(toEmail: string, subject: string, body: string, payer: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
937
- sendPreparedToEmailAddress(toEmail: string, mailId: string, payer: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
938
- getFee(): Promise<bigint>;
939
- getSendFee(): Promise<bigint>;
940
- setFee(newFee: bigint, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
941
- getUsdcToken(): Promise<Address>;
942
- getOwner(): Promise<Address>;
943
- claimRecipientShare(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
944
- claimOwnerShare(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
945
- claimExpiredShares(recipient: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
946
- getRecipientClaimable(recipient: Address | string): Promise<RecipientClaim>;
947
- getOwnerClaimable(): Promise<bigint>;
948
- delegateTo(delegate: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
949
- rejectDelegation(delegatingAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
950
- getDelegationFee(): Promise<bigint>;
951
- setDelegationFee(newFee: bigint, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
952
- setCustomFeePercentage(target: Address | string, percentage: number, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
953
- clearCustomFeePercentage(target: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
954
- getCustomFeePercentage(target: Address | string): Promise<number>;
955
- getCustomFeeDiscount(target: Address | string): Promise<number>;
956
- setPermission(contractAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
957
- removePermission(contractAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
958
- hasPermission(contractAddress: Address | string, wallet: Address | string): Promise<boolean>;
959
- pause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
960
- unpause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
961
- emergencyUnpause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
962
- isPaused(): Promise<boolean>;
963
- distributeClaimableFunds(recipient: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
941
+ * Deploy a fresh Mailer contract instance
942
+ */
943
+ deploy(connectedWallet: EVMWallet, chainInfo: ChainInfo, ownerAddress: string | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
944
+ /**
945
+ * Core message send with explicit payer control
946
+ */
947
+ send(connectedWallet: EVMWallet, chainInfo: ChainInfo, to: Address | string, subject: string, body: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, gasOptions?: GasOptions): Promise<TransactionResult>;
948
+ /**
949
+ * Send a prepared message
950
+ */
951
+ sendPrepared(connectedWallet: EVMWallet, chainInfo: ChainInfo, to: Address | string, mailId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, gasOptions?: GasOptions): Promise<TransactionResult>;
952
+ /**
953
+ * Send through webhook
954
+ */
955
+ sendThroughWebhook(connectedWallet: EVMWallet, chainInfo: ChainInfo, to: Address | string, webhookId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, gasOptions?: GasOptions): Promise<TransactionResult>;
956
+ /**
957
+ * Send to email address
958
+ */
959
+ sendToEmailAddress(connectedWallet: EVMWallet, chainInfo: ChainInfo, toEmail: string, subject: string, body: string, payer: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
960
+ /**
961
+ * Send prepared to email address
962
+ */
963
+ sendPreparedToEmailAddress(connectedWallet: EVMWallet, chainInfo: ChainInfo, toEmail: string, mailId: string, payer: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
964
+ /**
965
+ * Get the current send fee
966
+ */
967
+ getSendFee(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<bigint>;
968
+ /**
969
+ * Set the send fee (owner only)
970
+ */
971
+ setFee(connectedWallet: EVMWallet, chainInfo: ChainInfo, usdcAmount: number | bigint, gasOptions?: GasOptions): Promise<TransactionResult>;
972
+ /**
973
+ * Get USDC token address
974
+ */
975
+ getUsdcToken(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<Address>;
976
+ /**
977
+ * Get contract owner
978
+ */
979
+ getOwner(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<Address>;
980
+ /**
981
+ * Claim recipient share
982
+ */
983
+ claimRecipientShare(connectedWallet: EVMWallet, chainInfo: ChainInfo, gasOptions?: GasOptions): Promise<TransactionResult>;
984
+ /**
985
+ * Claim owner share (owner only)
986
+ */
987
+ claimOwnerShare(connectedWallet: EVMWallet, chainInfo: ChainInfo, gasOptions?: GasOptions): Promise<TransactionResult>;
988
+ /**
989
+ * Claim expired shares (owner only)
990
+ */
991
+ claimExpiredShares(connectedWallet: EVMWallet, chainInfo: ChainInfo, recipient: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
992
+ /**
993
+ * Get recipient claimable info
994
+ */
995
+ getRecipientClaimable(recipient: Address | string, chainInfo: ChainInfo, publicClient?: PublicClient): Promise<RecipientClaim>;
996
+ /**
997
+ * Get owner claimable amount
998
+ */
999
+ getOwnerClaimable(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<bigint>;
1000
+ /**
1001
+ * Delegate to another address
1002
+ */
1003
+ delegateTo(connectedWallet: EVMWallet, chainInfo: ChainInfo, delegate: Address | string | null, gasOptions?: GasOptions): Promise<TransactionResult>;
1004
+ /**
1005
+ * Reject delegation
1006
+ */
1007
+ rejectDelegation(connectedWallet: EVMWallet, chainInfo: ChainInfo, delegatingAddress: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
1008
+ /**
1009
+ * Get delegation fee
1010
+ */
1011
+ getDelegationFee(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<bigint>;
1012
+ /**
1013
+ * Set delegation fee (owner only)
1014
+ */
1015
+ setDelegationFee(connectedWallet: EVMWallet, chainInfo: ChainInfo, usdcAmount: number | bigint, gasOptions?: GasOptions): Promise<TransactionResult>;
1016
+ /**
1017
+ * Set custom fee percentage
1018
+ */
1019
+ setCustomFeePercentage(connectedWallet: EVMWallet, chainInfo: ChainInfo, account: Address | string, percentage: number, gasOptions?: GasOptions): Promise<TransactionResult>;
1020
+ /**
1021
+ * Clear custom fee percentage
1022
+ */
1023
+ clearCustomFeePercentage(connectedWallet: EVMWallet, chainInfo: ChainInfo, account: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
1024
+ /**
1025
+ * Get custom fee percentage
1026
+ */
1027
+ getCustomFeePercentage(chainInfo: ChainInfo, account: Address | string, publicClient?: PublicClient): Promise<number>;
1028
+ /**
1029
+ * Set permission for a contract to use caller's USDC for sending messages
1030
+ */
1031
+ setPermission(connectedWallet: EVMWallet, chainInfo: ChainInfo, contractAddress: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
1032
+ /**
1033
+ * Remove permission
1034
+ */
1035
+ removePermission(connectedWallet: EVMWallet, chainInfo: ChainInfo, contractAddress: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
1036
+ /**
1037
+ * Check if permission exists
1038
+ */
1039
+ hasPermission(contractAddress: Address | string, wallet: Address | string, chainInfo: ChainInfo, publicClient?: PublicClient): Promise<boolean>;
1040
+ /**
1041
+ * Pause the contract (owner only)
1042
+ */
1043
+ pause(connectedWallet: EVMWallet, chainInfo: ChainInfo, gasOptions?: GasOptions): Promise<TransactionResult>;
1044
+ /**
1045
+ * Unpause the contract (owner only)
1046
+ */
1047
+ unpause(connectedWallet: EVMWallet, chainInfo: ChainInfo, gasOptions?: GasOptions): Promise<TransactionResult>;
1048
+ /**
1049
+ * Emergency unpause (owner only)
1050
+ */
1051
+ emergencyUnpause(connectedWallet: EVMWallet, chainInfo: ChainInfo, gasOptions?: GasOptions): Promise<TransactionResult>;
1052
+ /**
1053
+ * Check if contract is paused
1054
+ */
1055
+ isPaused(chainInfo: ChainInfo, publicClient?: PublicClient): Promise<boolean>;
1056
+ /**
1057
+ * Distribute claimable funds when paused (anyone can call)
1058
+ */
1059
+ distributeClaimableFunds(connectedWallet: EVMWallet, chainInfo: ChainInfo, recipient: Address | string, gasOptions?: GasOptions): Promise<TransactionResult>;
964
1060
  }
965
1061
  export {};
966
- //# sourceMappingURL=mailer-client.d.ts.map
1062
+ //# sourceMappingURL=evm-mailer-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-mailer-client.d.ts","sourceRoot":"","sources":["../../../../src/evm/evm-mailer-client.ts"],"names":[],"mappings":"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"}