@multisender.app/multisender-sdk 0.0.1 → 0.0.2

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.
@@ -15,17 +15,17 @@
15
15
  "import { ApiError, NetworkError, TimeoutError } from './errors';\n\ntype GeneratedHttpError = {\n status?: number;\n body?: unknown;\n};\n\ntype GeneratedResponse<T> = T | { data: T };\n\nconst isGeneratedHttpError = (error: unknown): error is GeneratedHttpError =>\n typeof error === 'object' && error !== null && ('status' in error || 'body' in error);\n\nconst isGeneratedWrappedResponse = <T>(value: GeneratedResponse<T>): value is { data: T } =>\n typeof value === 'object' && value !== null && 'data' in value;\n\nexport const mapGeneratedError = (error: unknown): never => {\n if (error instanceof Error) {\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new TimeoutError('Request timeout');\n }\n throw new NetworkError(error.message, error);\n }\n\n if (isGeneratedHttpError(error)) {\n throw new ApiError(error.status ?? 500, error.body ?? error);\n }\n\n if (typeof error === 'string') {\n throw new ApiError(500, { message: error }, error);\n }\n\n throw new ApiError(500, error, 'Unexpected API error');\n};\n\nexport const executeGenerated = async <T>(\n operation: Promise<unknown>\n): Promise<T> => {\n try {\n const result = (await operation) as GeneratedResponse<T>;\n return isGeneratedWrappedResponse(result) ? result.data : result;\n } catch (error) {\n return mapGeneratedError(error);\n }\n};\n",
16
16
  "import { PaginationParams } from './types';\n\nexport function buildPaginationQuery(params?: PaginationParams): Record<string, string> {\n if (!params) return {};\n\n const query: Record<string, string> = {};\n\n if (params.page !== undefined) {\n query.page = params.page.toString();\n }\n\n if (params.limit !== undefined) {\n query.limit = params.limit.toString();\n }\n\n if (params.orderBy) {\n query.orderBy = params.orderBy;\n }\n\n if (params.orderDir) {\n query.orderDir = params.orderDir;\n }\n\n if (params.search) {\n query.search = params.search;\n }\n\n return query;\n}\n\nexport function validatePaginationParams(params: PaginationParams): void {\n if (params.page !== undefined && (params.page < 1 || !Number.isInteger(params.page))) {\n throw new Error('Page must be a positive integer');\n }\n\n if (params.limit !== undefined) {\n if (params.limit < 1 || !Number.isInteger(params.limit)) {\n throw new Error('Limit must be a positive integer');\n }\n if (params.limit > 100) {\n throw new Error('Limit cannot exceed 100');\n }\n }\n\n if (params.orderDir && !['ASC', 'DESC'].includes(params.orderDir)) {\n throw new Error('OrderDir must be either ASC or DESC');\n }\n}\n",
17
17
  "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createClientConfig } from '../openapi-runtime';\n\nimport { type ClientOptions, type Config, createClient, createConfig } from './client';\nimport type { ClientOptions as ClientOptions2 } from './types.gen';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;\n\nexport const client = createClient(createClientConfig(createConfig<ClientOptions2>()));\n",
18
- "// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Client, Options as Options2, TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { AddRecipientData, AddRecipientErrors, AddRecipientResponses, AddRecipientsBulkData, AddRecipientsBulkErrors, AddRecipientsBulkResponses, CancelData, CancelErrors, CancelResponses, Create2Data, Create2Errors, Create2Responses, CreateApiKeyData, CreateApiKeyErrors, CreateApiKeyResponses, CreateData, CreateDistributionListData, CreateDistributionListErrors, CreateDistributionListResponses, CreateErrors, CreateResponses, DeleteApiKeyData, DeleteApiKeyErrors, DeleteApiKeyResponses, DistributeData, DistributeErrors, DistributeResponses, FindAll2Data, FindAll2Errors, FindAll2Responses, FindAllData, FindAllErrors, FindAllResponses, FindOne2Data, FindOne2Errors, FindOne2Responses, FindOneData, FindOneErrors, FindOneResponses, GetApiKeysData, GetApiKeysErrors, GetApiKeysResponses, GetApproveCalldataData, GetApproveCalldataErrors, GetApproveCalldataForDistributionData, GetApproveCalldataForDistributionErrors, GetApproveCalldataForDistributionResponses, GetApproveCalldataResponses, GetChainData, GetChainErrors, GetChainResponses, GetChainsData, GetChainsErrors, GetChainsResponses, GetProjectInfoData, GetProjectInfoErrors, GetProjectInfoResponses, GetProjectMembersData, GetProjectMembersErrors, GetProjectMembersResponses, GetRecipientsData, GetRecipientsErrors, GetRecipientsResponses, GetStatsData, GetStatsErrors, GetStatsResponses, GetTokenData, GetTokenErrors, GetTokenResponses, GetTokensData, GetTokensErrors, GetTokensResponses, GetTransactionsData, GetTransactionsErrors, GetTransactionsResponses, ImportCsvDistributionData, ImportCsvDistributionErrors, ImportCsvDistributionResponses, ImportFromFileData, ImportFromFileErrors, ImportFromFileResponses, PrepareTransactionsData, PrepareTransactionsErrors, PrepareTransactionsResponses, RemoveData, RemoveErrors, RemoveRecipientData, RemoveRecipientErrors, RemoveRecipientResponses, RemoveResponses, SearchTokensData, SearchTokensErrors, SearchTokensResponses, Update2Data, Update2Errors, Update2Responses, UpdateApiKeyData, UpdateApiKeyErrors, UpdateApiKeyResponses, UpdateData, UpdateErrors, UpdateRecipientsData, UpdateRecipientsErrors, UpdateRecipientsResponses, UpdateResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Get project information\n */\nexport const getProjectInfo = <ThrowOnError extends boolean = false>(options: Options<GetProjectInfoData, ThrowOnError>) => (options.client ?? client).get<GetProjectInfoResponses, GetProjectInfoErrors, ThrowOnError>({ url: '/api/v1/project', ...options });\n\n/**\n * Get project members\n */\nexport const getProjectMembers = <ThrowOnError extends boolean = false>(options: Options<GetProjectMembersData, ThrowOnError>) => (options.client ?? client).get<GetProjectMembersResponses, GetProjectMembersErrors, ThrowOnError>({ url: '/api/v1/project/members', ...options });\n\n/**\n * List project API keys\n */\nexport const getApiKeys = <ThrowOnError extends boolean = false>(options: Options<GetApiKeysData, ThrowOnError>) => (options.client ?? client).get<GetApiKeysResponses, GetApiKeysErrors, ThrowOnError>({ url: '/api/v1/project/api-keys', ...options });\n\n/**\n * Create API key\n */\nexport const createApiKey = <ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>) => (options.client ?? client).post<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>({\n url: '/api/v1/project/api-keys',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete API key\n */\nexport const deleteApiKey = <ThrowOnError extends boolean = false>(options: Options<DeleteApiKeyData, ThrowOnError>) => (options.client ?? client).delete<DeleteApiKeyResponses, DeleteApiKeyErrors, ThrowOnError>({ url: '/api/v1/project/api-keys/{apiKeyId}', ...options });\n\n/**\n * Update API key\n */\nexport const updateApiKey = <ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>) => (options.client ?? client).patch<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>({\n url: '/api/v1/project/api-keys/{apiKeyId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all recipient lists\n */\nexport const findAll = <ThrowOnError extends boolean = false>(options: Options<FindAllData, ThrowOnError>) => (options.client ?? client).get<FindAllResponses, FindAllErrors, ThrowOnError>({ url: '/api/v1/lists', ...options });\n\n/**\n * Create recipient list\n */\nexport const create = <ThrowOnError extends boolean = false>(options: Options<CreateData, ThrowOnError>) => (options.client ?? client).post<CreateResponses, CreateErrors, ThrowOnError>({\n url: '/api/v1/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete list\n */\nexport const remove = <ThrowOnError extends boolean = false>(options: Options<RemoveData, ThrowOnError>) => (options.client ?? client).delete<RemoveResponses, RemoveErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}', ...options });\n\n/**\n * Get list by ID\n */\nexport const findOne = <ThrowOnError extends boolean = false>(options: Options<FindOneData, ThrowOnError>) => (options.client ?? client).get<FindOneResponses, FindOneErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}', ...options });\n\n/**\n * Update list\n */\nexport const update = <ThrowOnError extends boolean = false>(options: Options<UpdateData, ThrowOnError>) => (options.client ?? client).patch<UpdateResponses, UpdateErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get list recipients\n */\nexport const getRecipients = <ThrowOnError extends boolean = false>(options: Options<GetRecipientsData, ThrowOnError>) => (options.client ?? client).get<GetRecipientsResponses, GetRecipientsErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}/recipients', ...options });\n\n/**\n * Add recipient to list\n */\nexport const addRecipient = <ThrowOnError extends boolean = false>(options: Options<AddRecipientData, ThrowOnError>) => (options.client ?? client).post<AddRecipientResponses, AddRecipientErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}/recipients',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Add recipients in bulk\n */\nexport const addRecipientsBulk = <ThrowOnError extends boolean = false>(options: Options<AddRecipientsBulkData, ThrowOnError>) => (options.client ?? client).post<AddRecipientsBulkResponses, AddRecipientsBulkErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}/recipients/bulk',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Remove recipient from list\n */\nexport const removeRecipient = <ThrowOnError extends boolean = false>(options: Options<RemoveRecipientData, ThrowOnError>) => (options.client ?? client).delete<RemoveRecipientResponses, RemoveRecipientErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}/recipients/{recipientId}', ...options });\n\n/**\n * Import recipients from CSV file\n */\nexport const importFromFile = <ThrowOnError extends boolean = false>(options: Options<ImportFromFileData, ThrowOnError>) => (options.client ?? client).post<ImportFromFileResponses, ImportFromFileErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}/import', ...options });\n\n/**\n * Create distribution list\n */\nexport const createDistributionList = <ThrowOnError extends boolean = false>(options: Options<CreateDistributionListData, ThrowOnError>) => (options.client ?? client).post<CreateDistributionListResponses, CreateDistributionListErrors, ThrowOnError>({\n url: '/api/v1/lists/distribution',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Import CSV distribution\n */\nexport const importCsvDistribution = <ThrowOnError extends boolean = false>(options: Options<ImportCsvDistributionData, ThrowOnError>) => (options.client ?? client).post<ImportCsvDistributionResponses, ImportCsvDistributionErrors, ThrowOnError>({\n url: '/api/v1/lists/distribution/csv',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create and prepare token distribution\n *\n * Create a new distribution with recipients and automatically prepare transaction calldata. Accepts either an array of [address, amount] tuples or CSV string.\n */\nexport const distribute = <ThrowOnError extends boolean = false>(options: Options<DistributeData, ThrowOnError>) => (options.client ?? client).post<DistributeResponses, DistributeErrors, ThrowOnError>({\n url: '/api/v1/distribute',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all distributions\n */\nexport const findAll2 = <ThrowOnError extends boolean = false>(options: Options<FindAll2Data, ThrowOnError>) => (options.client ?? client).get<FindAll2Responses, FindAll2Errors, ThrowOnError>({ url: '/api/v1/distributions', ...options });\n\n/**\n * Create a draft distribution\n *\n * Creates a distribution in DRAFT status. Use PATCH :id/recipients to edit recipients, then POST :id/prepare to generate calldata. listId and recipients are mutually exclusive by key presence (including recipients: [] or null).\n */\nexport const create2 = <ThrowOnError extends boolean = false>(options: Options<Create2Data, ThrowOnError>) => (options.client ?? client).post<Create2Responses, Create2Errors, ThrowOnError>({\n url: '/api/v1/distributions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get distribution by ID\n */\nexport const findOne2 = <ThrowOnError extends boolean = false>(options: Options<FindOne2Data, ThrowOnError>) => (options.client ?? client).get<FindOne2Responses, FindOne2Errors, ThrowOnError>({ url: '/api/v1/distributions/{id}', ...options });\n\n/**\n * Update distribution metadata\n *\n * Update name, notes, chainId, tokenAddress, etc. Does not change recipients — use PATCH :id/recipients instead.\n */\nexport const update2 = <ThrowOnError extends boolean = false>(options: Options<Update2Data, ThrowOnError>) => (options.client ?? client).patch<Update2Responses, Update2Errors, ThrowOnError>({\n url: '/api/v1/distributions/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Replace distribution recipients (DRAFT only)\n *\n * Replaces all recipients in a DRAFT distribution. Deletes existing transactions; call POST :id/prepare again to regenerate calldata.\n */\nexport const updateRecipients = <ThrowOnError extends boolean = false>(options: Options<UpdateRecipientsData, ThrowOnError>) => (options.client ?? client).patch<UpdateRecipientsResponses, UpdateRecipientsErrors, ThrowOnError>({\n url: '/api/v1/distributions/{id}/recipients',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Prepare transactions and generate calldata\n *\n * Generates transaction calldata for a DRAFT distribution. Can be called multiple times (old transactions are replaced).\n */\nexport const prepareTransactions = <ThrowOnError extends boolean = false>(options: Options<PrepareTransactionsData, ThrowOnError>) => (options.client ?? client).post<PrepareTransactionsResponses, PrepareTransactionsErrors, ThrowOnError>({\n url: '/api/v1/distributions/{id}/prepare',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get distribution transactions\n */\nexport const getTransactions = <ThrowOnError extends boolean = false>(options: Options<GetTransactionsData, ThrowOnError>) => (options.client ?? client).get<GetTransactionsResponses, GetTransactionsErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/transactions', ...options });\n\n/**\n * Get distribution statistics\n */\nexport const getStats = <ThrowOnError extends boolean = false>(options: Options<GetStatsData, ThrowOnError>) => (options.client ?? client).get<GetStatsResponses, GetStatsErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/stats', ...options });\n\n/**\n * Cancel a distribution\n */\nexport const cancel = <ThrowOnError extends boolean = false>(options: Options<CancelData, ThrowOnError>) => (options.client ?? client).post<CancelResponses, CancelErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/cancel', ...options });\n\n/**\n * Get ERC20 approve calldata for a standalone request\n *\n * Generates calldata for the approve(spender, amount) function.\n */\nexport const getApproveCalldata = <ThrowOnError extends boolean = false>(options: Options<GetApproveCalldataData, ThrowOnError>) => (options.client ?? client).post<GetApproveCalldataResponses, GetApproveCalldataErrors, ThrowOnError>({\n url: '/api/v1/approve-calldata',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get ERC20 approve calldata for distribution\n */\nexport const getApproveCalldataForDistribution = <ThrowOnError extends boolean = false>(options: Options<GetApproveCalldataForDistributionData, ThrowOnError>) => (options.client ?? client).get<GetApproveCalldataForDistributionResponses, GetApproveCalldataForDistributionErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/approve-calldata', ...options });\n\n/**\n * Get all supported blockchain chains\n */\nexport const getChains = <ThrowOnError extends boolean = false>(options: Options<GetChainsData, ThrowOnError>) => (options.client ?? client).get<GetChainsResponses, GetChainsErrors, ThrowOnError>({ url: '/api/v1/catalogs/chains', ...options });\n\n/**\n * Get chain by ID\n */\nexport const getChain = <ThrowOnError extends boolean = false>(options: Options<GetChainData, ThrowOnError>) => (options.client ?? client).get<GetChainResponses, GetChainErrors, ThrowOnError>({ url: '/api/v1/catalogs/chains/{chainId}', ...options });\n\n/**\n * Get all tokens\n */\nexport const getTokens = <ThrowOnError extends boolean = false>(options: Options<GetTokensData, ThrowOnError>) => (options.client ?? client).get<GetTokensResponses, GetTokensErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens', ...options });\n\n/**\n * Search tokens by symbol\n */\nexport const searchTokens = <ThrowOnError extends boolean = false>(options: Options<SearchTokensData, ThrowOnError>) => (options.client ?? client).get<SearchTokensResponses, SearchTokensErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens/search', ...options });\n\n/**\n * Get token by chain ID and address\n */\nexport const getToken = <ThrowOnError extends boolean = false>(options: Options<GetTokenData, ThrowOnError>) => (options.client ?? client).get<GetTokenResponses, GetTokenErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens/{chainId}/{address}', ...options });\n",
19
- "import type { PaginatedResponse } from '../core/types';\nimport type { Distribution } from './types';\n\n/** Unwrap API response from { data: T } to T when present. */\nexport function unwrapData<T>(result: unknown): T {\n const raw = result as { data?: T };\n if (raw?.data != null) return raw.data;\n return result as T;\n}\n\n/** Unwrap distribute() response: may be { data: { distribution } }, { distribution }, or direct. */\nexport function unwrapDistribution(result: unknown): Distribution {\n const raw = result as {\n data?: { distribution?: Distribution };\n distribution?: Distribution;\n };\n if (raw?.data?.distribution != null) return raw.data.distribution;\n if (raw?.distribution != null) return raw.distribution;\n return result as Distribution;\n}\n\n/** Normalize API result to PaginatedResponse; handles both direct and { data: { data, total } } shapes. */\nexport function normalizePaginatedResponse<T>(\n result: unknown,\n page: number,\n limit: number\n): PaginatedResponse<T> {\n const raw = result as\n | PaginatedResponse<T>\n | { data: { data: T[]; total: number } };\n if ('meta' in raw && raw.meta != null && Array.isArray(raw.data)) {\n return raw as PaginatedResponse<T>;\n }\n const inner =\n raw.data && typeof raw.data === 'object' && 'data' in raw.data\n ? (raw.data as { data: T[]; total: number })\n : null;\n const items = inner && Array.isArray(inner.data) ? inner.data : [];\n const total =\n inner && typeof inner.total === 'number' ? inner.total : items.length;\n return {\n data: items,\n meta: {\n page,\n limit,\n total,\n totalPages: Math.ceil(total / limit) || 1,\n },\n };\n}\n",
20
- "import { PaginatedResponse } from '../core/types';\nimport { executeGenerated } from '../core/generated-transport';\nimport { buildPaginationQuery } from '../core/pagination';\nimport {\n cancel,\n distribute,\n findAll2,\n findOne2,\n getStats,\n getTransactions,\n} from '../gen';\nimport type { Client } from '../gen/client';\nimport {\n unwrapData,\n unwrapDistribution,\n normalizePaginatedResponse,\n} from './response-utils';\nimport {\n CreateDistributeRequest,\n Distribution,\n DistributionTransaction,\n DistributionStats,\n DistributionsQueryParams,\n TransactionsQueryParams,\n} from './types';\n\nexport class DistributionsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async distribute(request: CreateDistributeRequest): Promise<Distribution> {\n const result = await executeGenerated<unknown>(\n distribute({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapDistribution(result);\n }\n\n async list(params?: DistributionsQueryParams): Promise<PaginatedResponse<Distribution>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<unknown>(\n findAll2({\n client: this.client,\n headers: this.headers,\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<Distribution>(result, page, limit);\n }\n\n async get(id: string): Promise<Distribution> {\n const result = await executeGenerated<unknown>(\n findOne2({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async getTransactions(\n id: string,\n params?: TransactionsQueryParams\n ): Promise<PaginatedResponse<DistributionTransaction>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<unknown>(\n getTransactions({\n client: this.client,\n headers: this.headers,\n path: { id },\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<DistributionTransaction>(result, page, limit);\n }\n\n async getStats(id: string): Promise<DistributionStats> {\n const result = await executeGenerated<unknown>(\n getStats({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<DistributionStats>(result);\n }\n\n async cancel(id: string): Promise<Distribution> {\n const result = await executeGenerated<unknown>(\n cancel({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n}\n",
21
- "import { PaginatedResponse } from '../core/types';\nimport { executeGenerated } from '../core/generated-transport';\nimport { buildPaginationQuery } from '../core/pagination';\nimport type { Client } from '../gen/client';\nimport {\n addRecipient,\n addRecipientsBulk,\n create,\n createDistributionList,\n findAll,\n findOne,\n getRecipients,\n importCsvDistribution,\n importFromFile,\n remove,\n removeRecipient,\n update,\n} from '../gen';\nimport { unwrapData, normalizePaginatedResponse } from './response-utils';\nimport {\n RecipientList,\n CreateRecipientListRequest,\n UpdateRecipientListRequest,\n AddRecipientRequest,\n AddRecipientResult,\n AddRecipientsBulkRequest,\n CreateDistributionListRequest,\n ImportCsvDistributionRequest,\n ImportListResponse,\n ListsQueryParams,\n RecipientsQueryParams,\n ListItem,\n} from './types';\n\nexport class ListsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async list(params?: ListsQueryParams): Promise<PaginatedResponse<RecipientList>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<unknown>(\n findAll({\n client: this.client,\n headers: this.headers,\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<RecipientList>(result, page, limit);\n }\n\n async create(request: CreateRecipientListRequest): Promise<RecipientList> {\n const result = await executeGenerated<unknown>(\n create({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async get(listId: string): Promise<RecipientList> {\n const result = await executeGenerated<unknown>(\n findOne({\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async update(listId: string, request: UpdateRecipientListRequest): Promise<RecipientList> {\n const result = await executeGenerated<unknown>(\n update({\n body: request as Record<string, unknown>,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async delete(listId: string): Promise<void> {\n await executeGenerated(\n remove({\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n }\n\n async getRecipients(\n listId: string,\n params?: RecipientsQueryParams\n ): Promise<PaginatedResponse<ListItem>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<unknown>(\n getRecipients({\n client: this.client,\n headers: this.headers,\n path: { listId },\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<ListItem>(result, page, limit);\n }\n\n async addRecipient(listId: string, request: AddRecipientRequest): Promise<AddRecipientResult> {\n const result = await executeGenerated<unknown>(\n addRecipient({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<AddRecipientResult>(result);\n }\n\n /**\n * Add multiple recipients to a list in bulk.\n * API returns added, skippedAddresses (string[]), errors (string[]).\n */\n async addRecipientsBulk(\n listId: string,\n request: AddRecipientsBulkRequest\n ): Promise<{ added: number; skippedAddresses: string[]; errors: string[] }> {\n const result = await executeGenerated<{\n added: number;\n skippedAddresses: string[];\n errors: string[];\n }>(\n addRecipientsBulk({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return {\n added: result.added ?? 0,\n skippedAddresses: result.skippedAddresses ?? [],\n errors: result.errors ?? [],\n };\n }\n\n async removeRecipient(listId: string, recipientId: string): Promise<void> {\n await executeGenerated(\n removeRecipient({\n client: this.client,\n headers: this.headers,\n path: { listId, recipientId },\n throwOnError: true,\n })\n );\n }\n\n /**\n * Import recipients from a CSV file.\n * Uses multipart/form-data with field name 'file' (adjust if API spec defines differently).\n * Note: The spec has no typed body for multipart, so we pass FormData with a type assertion.\n */\n async importFromCsv(listId: string, file: File | Buffer): Promise<ImportListResponse> {\n if (!file) {\n throw new Error('importFromCsv: file is required');\n }\n const formData = new FormData();\n if (file instanceof Buffer) {\n formData.append('file', new Blob([new Uint8Array(file)]), 'import.csv');\n } else {\n const f = file as File;\n formData.append('file', f, f.name);\n }\n const result = await executeGenerated<unknown>(\n importFromFile({\n path: { listId },\n body: formData as never,\n bodySerializer: (b) => b as BodyInit,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<ImportListResponse>(result);\n }\n\n async createDistributionList(request: CreateDistributionListRequest): Promise<RecipientList> {\n const result = await executeGenerated<unknown>(\n createDistributionList({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n const raw = unwrapData<{ list: RecipientList }>(result);\n if (raw?.list == null) throw new Error('API response missing list');\n return raw.list;\n }\n\n async importCsvDistribution(request: ImportCsvDistributionRequest): Promise<RecipientList> {\n const result = await executeGenerated<unknown>(\n importCsvDistribution({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n const raw = unwrapData<{ list: RecipientList }>(result);\n if (raw?.list == null) throw new Error('API response missing list');\n return raw.list;\n }\n}\n",
22
- "import { executeGenerated } from '../core/generated-transport';\nimport {\n createApiKey,\n deleteApiKey,\n getApiKeys,\n getProjectInfo,\n getProjectMembers,\n updateApiKey,\n} from '../gen';\nimport type { Client } from '../gen/client';\nimport { unwrapData } from './response-utils';\nimport { Project, ApiKey, ProjectMember, CreateApiKeyRequest, CreateApiKeyResult } from './types';\n\nexport class ProjectService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async getInfo(): Promise<Project> {\n const result = await executeGenerated<unknown>(\n getProjectInfo({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<Project>(result);\n }\n\n async getMembers(): Promise<ProjectMember[]> {\n const result = await executeGenerated<unknown>(\n getProjectMembers({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n const members = unwrapData<ProjectMember[]>(result);\n return Array.isArray(members) ? members : [members];\n }\n\n async listApiKeys(): Promise<ApiKey[]> {\n const result = await executeGenerated<unknown>(\n getApiKeys({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n const data = unwrapData<ApiKey[]>(result);\n return Array.isArray(data) ? data : (result as ApiKey[]);\n }\n\n async createApiKey(request: CreateApiKeyRequest): Promise<CreateApiKeyResult> {\n const result = await executeGenerated<unknown>(\n createApiKey({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<CreateApiKeyResult>(result);\n }\n\n async updateApiKey(\n apiKeyId: string,\n request: { name?: string; scopes?: string[] }\n ): Promise<ApiKey> {\n const result = await executeGenerated<unknown>(\n updateApiKey({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { apiKeyId },\n throwOnError: true,\n })\n );\n return unwrapData<ApiKey>(result);\n }\n\n async deleteApiKey(apiKeyId: string): Promise<void> {\n await executeGenerated(\n deleteApiKey({\n client: this.client,\n headers: this.headers,\n path: { apiKeyId },\n throwOnError: true,\n })\n );\n }\n}\n",
18
+ "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Client, formDataBodySerializer, type Options as Options2, type TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { AddRecipientData, AddRecipientErrors, AddRecipientResponses, AddRecipientsBulkData, AddRecipientsBulkErrors, AddRecipientsBulkResponses, CancelData, CancelErrors, CancelResponses, Create2Data, Create2Errors, Create2Responses, CreateApiKeyData, CreateApiKeyErrors, CreateApiKeyResponses, CreateData, CreateDistributionListData, CreateDistributionListErrors, CreateDistributionListResponses, CreateErrors, CreateResponses, DeleteApiKeyData, DeleteApiKeyErrors, DeleteApiKeyResponses, DistributeData, DistributeErrors, DistributeResponses, FindAll2Data, FindAll2Errors, FindAll2Responses, FindAllData, FindAllErrors, FindAllResponses, FindOne2Data, FindOne2Errors, FindOne2Responses, FindOneData, FindOneErrors, FindOneResponses, GetApiKeysData, GetApiKeysErrors, GetApiKeysResponses, GetApproveCalldataData, GetApproveCalldataErrors, GetApproveCalldataForDistributionData, GetApproveCalldataForDistributionErrors, GetApproveCalldataForDistributionResponses, GetApproveCalldataResponses, GetChainData, GetChainErrors, GetChainResponses, GetChainsData, GetChainsErrors, GetChainsResponses, GetProjectInfoData, GetProjectInfoErrors, GetProjectInfoResponses, GetProjectMembersData, GetProjectMembersErrors, GetProjectMembersResponses, GetRecipientsData, GetRecipientsErrors, GetRecipientsResponses, GetStatsData, GetStatsErrors, GetStatsResponses, GetTokenData, GetTokenErrors, GetTokenResponses, GetTokensData, GetTokensErrors, GetTokensResponses, GetTransactionsData, GetTransactionsErrors, GetTransactionsResponses, ImportCsvDistributionData, ImportCsvDistributionErrors, ImportCsvDistributionResponses, ImportFromFileData, ImportFromFileErrors, ImportFromFileResponses, PrepareTransactionsData, PrepareTransactionsErrors, PrepareTransactionsResponses, RemoveData, RemoveErrors, RemoveRecipientData, RemoveRecipientErrors, RemoveRecipientResponses, RemoveResponses, SearchTokensData, SearchTokensErrors, SearchTokensResponses, Update2Data, Update2Errors, Update2Responses, UpdateApiKeyData, UpdateApiKeyErrors, UpdateApiKeyResponses, UpdateData, UpdateErrors, UpdateRecipientsData, UpdateRecipientsErrors, UpdateRecipientsResponses, UpdateResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Get project information\n */\nexport const getProjectInfo = <ThrowOnError extends boolean = false>(options: Options<GetProjectInfoData, ThrowOnError>) => (options.client ?? client).get<GetProjectInfoResponses, GetProjectInfoErrors, ThrowOnError>({ url: '/api/v1/project', ...options });\n\n/**\n * Get project members\n */\nexport const getProjectMembers = <ThrowOnError extends boolean = false>(options: Options<GetProjectMembersData, ThrowOnError>) => (options.client ?? client).get<GetProjectMembersResponses, GetProjectMembersErrors, ThrowOnError>({ url: '/api/v1/project/members', ...options });\n\n/**\n * List project API keys\n */\nexport const getApiKeys = <ThrowOnError extends boolean = false>(options: Options<GetApiKeysData, ThrowOnError>) => (options.client ?? client).get<GetApiKeysResponses, GetApiKeysErrors, ThrowOnError>({ url: '/api/v1/project/api-keys', ...options });\n\n/**\n * Create API key\n */\nexport const createApiKey = <ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>) => (options.client ?? client).post<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>({\n url: '/api/v1/project/api-keys',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete API key\n */\nexport const deleteApiKey = <ThrowOnError extends boolean = false>(options: Options<DeleteApiKeyData, ThrowOnError>) => (options.client ?? client).delete<DeleteApiKeyResponses, DeleteApiKeyErrors, ThrowOnError>({ url: '/api/v1/project/api-keys/{apiKeyId}', ...options });\n\n/**\n * Update API key\n */\nexport const updateApiKey = <ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>) => (options.client ?? client).patch<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>({\n url: '/api/v1/project/api-keys/{apiKeyId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all recipient lists\n */\nexport const findAll = <ThrowOnError extends boolean = false>(options: Options<FindAllData, ThrowOnError>) => (options.client ?? client).get<FindAllResponses, FindAllErrors, ThrowOnError>({ url: '/api/v1/lists', ...options });\n\n/**\n * Create recipient list\n */\nexport const create = <ThrowOnError extends boolean = false>(options: Options<CreateData, ThrowOnError>) => (options.client ?? client).post<CreateResponses, CreateErrors, ThrowOnError>({\n url: '/api/v1/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete list\n */\nexport const remove = <ThrowOnError extends boolean = false>(options: Options<RemoveData, ThrowOnError>) => (options.client ?? client).delete<RemoveResponses, RemoveErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}', ...options });\n\n/**\n * Get list by ID\n */\nexport const findOne = <ThrowOnError extends boolean = false>(options: Options<FindOneData, ThrowOnError>) => (options.client ?? client).get<FindOneResponses, FindOneErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}', ...options });\n\n/**\n * Update list\n */\nexport const update = <ThrowOnError extends boolean = false>(options: Options<UpdateData, ThrowOnError>) => (options.client ?? client).patch<UpdateResponses, UpdateErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get list recipients\n */\nexport const getRecipients = <ThrowOnError extends boolean = false>(options: Options<GetRecipientsData, ThrowOnError>) => (options.client ?? client).get<GetRecipientsResponses, GetRecipientsErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}/recipients', ...options });\n\n/**\n * Add recipient to list\n */\nexport const addRecipient = <ThrowOnError extends boolean = false>(options: Options<AddRecipientData, ThrowOnError>) => (options.client ?? client).post<AddRecipientResponses, AddRecipientErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}/recipients',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Add recipients in bulk\n */\nexport const addRecipientsBulk = <ThrowOnError extends boolean = false>(options: Options<AddRecipientsBulkData, ThrowOnError>) => (options.client ?? client).post<AddRecipientsBulkResponses, AddRecipientsBulkErrors, ThrowOnError>({\n url: '/api/v1/lists/{listId}/recipients/bulk',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Remove recipient from list\n */\nexport const removeRecipient = <ThrowOnError extends boolean = false>(options: Options<RemoveRecipientData, ThrowOnError>) => (options.client ?? client).delete<RemoveRecipientResponses, RemoveRecipientErrors, ThrowOnError>({ url: '/api/v1/lists/{listId}/recipients/{recipientId}', ...options });\n\n/**\n * Import recipients from CSV file\n */\nexport const importFromFile = <ThrowOnError extends boolean = false>(options: Options<ImportFromFileData, ThrowOnError>) => (options.client ?? client).post<ImportFromFileResponses, ImportFromFileErrors, ThrowOnError>({\n ...formDataBodySerializer,\n url: '/api/v1/lists/{listId}/import',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n});\n\n/**\n * Create distribution list\n */\nexport const createDistributionList = <ThrowOnError extends boolean = false>(options: Options<CreateDistributionListData, ThrowOnError>) => (options.client ?? client).post<CreateDistributionListResponses, CreateDistributionListErrors, ThrowOnError>({\n url: '/api/v1/lists/distribution',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Import CSV distribution\n */\nexport const importCsvDistribution = <ThrowOnError extends boolean = false>(options: Options<ImportCsvDistributionData, ThrowOnError>) => (options.client ?? client).post<ImportCsvDistributionResponses, ImportCsvDistributionErrors, ThrowOnError>({\n url: '/api/v1/lists/distribution/csv',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create and prepare token distribution\n *\n * Create a new distribution with recipients and automatically prepare transaction calldata. Accepts either an array of [address, amount] tuples or CSV string.\n */\nexport const distribute = <ThrowOnError extends boolean = false>(options: Options<DistributeData, ThrowOnError>) => (options.client ?? client).post<DistributeResponses, DistributeErrors, ThrowOnError>({\n url: '/api/v1/distribute',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all distributions\n */\nexport const findAll2 = <ThrowOnError extends boolean = false>(options: Options<FindAll2Data, ThrowOnError>) => (options.client ?? client).get<FindAll2Responses, FindAll2Errors, ThrowOnError>({ url: '/api/v1/distributions', ...options });\n\n/**\n * Create a draft distribution\n *\n * Creates a distribution in DRAFT status. Use PATCH :id/recipients to edit recipients, then POST :id/prepare to generate calldata. listId and recipients are mutually exclusive by key presence (including recipients: [] or null).\n */\nexport const create2 = <ThrowOnError extends boolean = false>(options: Options<Create2Data, ThrowOnError>) => (options.client ?? client).post<Create2Responses, Create2Errors, ThrowOnError>({\n url: '/api/v1/distributions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get distribution by ID\n */\nexport const findOne2 = <ThrowOnError extends boolean = false>(options: Options<FindOne2Data, ThrowOnError>) => (options.client ?? client).get<FindOne2Responses, FindOne2Errors, ThrowOnError>({ url: '/api/v1/distributions/{id}', ...options });\n\n/**\n * Update distribution metadata\n *\n * Update name, notes, chainId, tokenAddress, etc. Does not change recipients — use PATCH :id/recipients instead.\n */\nexport const update2 = <ThrowOnError extends boolean = false>(options: Options<Update2Data, ThrowOnError>) => (options.client ?? client).patch<Update2Responses, Update2Errors, ThrowOnError>({\n url: '/api/v1/distributions/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Replace distribution recipients (DRAFT only)\n *\n * Replaces all recipients in a DRAFT distribution. Deletes existing transactions; call POST :id/prepare again to regenerate calldata.\n */\nexport const updateRecipients = <ThrowOnError extends boolean = false>(options: Options<UpdateRecipientsData, ThrowOnError>) => (options.client ?? client).patch<UpdateRecipientsResponses, UpdateRecipientsErrors, ThrowOnError>({\n url: '/api/v1/distributions/{id}/recipients',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Prepare transactions and generate calldata\n *\n * Generates transaction calldata for a DRAFT distribution. Can be called multiple times (old transactions are replaced).\n */\nexport const prepareTransactions = <ThrowOnError extends boolean = false>(options: Options<PrepareTransactionsData, ThrowOnError>) => (options.client ?? client).post<PrepareTransactionsResponses, PrepareTransactionsErrors, ThrowOnError>({\n url: '/api/v1/distributions/{id}/prepare',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get distribution transactions\n */\nexport const getTransactions = <ThrowOnError extends boolean = false>(options: Options<GetTransactionsData, ThrowOnError>) => (options.client ?? client).get<GetTransactionsResponses, GetTransactionsErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/transactions', ...options });\n\n/**\n * Get distribution statistics\n */\nexport const getStats = <ThrowOnError extends boolean = false>(options: Options<GetStatsData, ThrowOnError>) => (options.client ?? client).get<GetStatsResponses, GetStatsErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/stats', ...options });\n\n/**\n * Cancel a distribution\n */\nexport const cancel = <ThrowOnError extends boolean = false>(options: Options<CancelData, ThrowOnError>) => (options.client ?? client).post<CancelResponses, CancelErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/cancel', ...options });\n\n/**\n * Get ERC20 approve calldata for a standalone request\n *\n * Generates calldata for the approve(spender, amount) function.\n */\nexport const getApproveCalldata = <ThrowOnError extends boolean = false>(options: Options<GetApproveCalldataData, ThrowOnError>) => (options.client ?? client).post<GetApproveCalldataResponses, GetApproveCalldataErrors, ThrowOnError>({\n url: '/api/v1/approve-calldata',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get ERC20 approve calldata for distribution\n */\nexport const getApproveCalldataForDistribution = <ThrowOnError extends boolean = false>(options: Options<GetApproveCalldataForDistributionData, ThrowOnError>) => (options.client ?? client).get<GetApproveCalldataForDistributionResponses, GetApproveCalldataForDistributionErrors, ThrowOnError>({ url: '/api/v1/distributions/{id}/approve-calldata', ...options });\n\n/**\n * Get all supported blockchain chains\n */\nexport const getChains = <ThrowOnError extends boolean = false>(options: Options<GetChainsData, ThrowOnError>) => (options.client ?? client).get<GetChainsResponses, GetChainsErrors, ThrowOnError>({ url: '/api/v1/catalogs/chains', ...options });\n\n/**\n * Get chain by ID\n */\nexport const getChain = <ThrowOnError extends boolean = false>(options: Options<GetChainData, ThrowOnError>) => (options.client ?? client).get<GetChainResponses, GetChainErrors, ThrowOnError>({ url: '/api/v1/catalogs/chains/{chainId}', ...options });\n\n/**\n * Get all tokens\n */\nexport const getTokens = <ThrowOnError extends boolean = false>(options: Options<GetTokensData, ThrowOnError>) => (options.client ?? client).get<GetTokensResponses, GetTokensErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens', ...options });\n\n/**\n * Search tokens by symbol\n */\nexport const searchTokens = <ThrowOnError extends boolean = false>(options: Options<SearchTokensData, ThrowOnError>) => (options.client ?? client).get<SearchTokensResponses, SearchTokensErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens/search', ...options });\n\n/**\n * Get token by chain ID and address\n */\nexport const getToken = <ThrowOnError extends boolean = false>(options: Options<GetTokenData, ThrowOnError>) => (options.client ?? client).get<GetTokenResponses, GetTokenErrors, ThrowOnError>({ url: '/api/v1/catalogs/tokens/{chainId}/{address}', ...options });\n",
19
+ "import type { PaginatedResponse } from '../core/types';\nimport type {\n Distribution,\n DistributionListCreateResult,\n DistributeResult,\n RecipientList,\n} from './types';\n\n/** Unwrap API response from { data: T } to T when present. */\nexport function unwrapData<T>(result: unknown): T {\n const raw = result as { data?: T };\n if (raw?.data != null) return raw.data;\n return result as T;\n}\n\n/** Unwrap distribute() response: may be { data: { distribution } }, { distribution }, or direct. */\nexport function unwrapDistribution(result: unknown): Distribution {\n const raw = result as {\n data?: { distribution?: Distribution };\n distribution?: Distribution;\n };\n if (raw?.data?.distribution != null) return raw.data.distribution;\n if (raw?.distribution != null) return raw.distribution;\n return result as Distribution;\n}\n\n/** Unwrap distribute() response while preserving calldata and other generated payload fields. */\nexport function unwrapDistributeResult(result: unknown): DistributeResult {\n const raw = result as {\n data?: DistributeResult;\n };\n if (raw?.data != null) return raw.data;\n return result as DistributeResult;\n}\n\n/** Extract list payload from distribution list creation endpoints. */\nexport function unwrapDistributionList(\n result: DistributionListCreateResult | { list?: RecipientList }\n): RecipientList {\n if (result?.list == null) {\n throw new Error('API response missing list');\n }\n return result.list;\n}\n\n/** Normalize API result to PaginatedResponse; handles both direct and { data: { data, total } } shapes. */\nexport function normalizePaginatedResponse<T>(\n result: unknown,\n page: number,\n limit: number\n): PaginatedResponse<T> {\n const raw = result as\n | PaginatedResponse<T>\n | { data: { data: T[]; total: number; page?: number; limit?: number; totalPages?: number } }\n | { data: T[]; total: number; page?: number; limit?: number; totalPages?: number };\n if ('meta' in raw && raw.meta != null && Array.isArray(raw.data)) {\n return raw as PaginatedResponse<T>;\n }\n const inner =\n raw.data && typeof raw.data === 'object' && !Array.isArray(raw.data) && 'data' in raw.data\n ? (raw.data as { data: T[]; total: number; page?: number; limit?: number; totalPages?: number })\n : Array.isArray(raw.data)\n ? (raw as { data: T[]; total: number; page?: number; limit?: number; totalPages?: number })\n : null;\n const items = inner && Array.isArray(inner.data) ? inner.data : [];\n const total = inner && typeof inner.total === 'number' ? inner.total : items.length;\n const resolvedPage = inner && typeof inner.page === 'number' ? inner.page : page;\n const resolvedLimit = inner && typeof inner.limit === 'number' ? inner.limit : limit;\n const resolvedTotalPages =\n inner && typeof inner.totalPages === 'number'\n ? inner.totalPages\n : Math.ceil(total / resolvedLimit) || 1;\n return {\n data: items,\n meta: {\n page: resolvedPage,\n limit: resolvedLimit,\n total,\n totalPages: resolvedTotalPages,\n },\n };\n}\n",
20
+ "import { PaginatedResponse } from '../core/types';\nimport { executeGenerated } from '../core/generated-transport';\nimport { buildPaginationQuery } from '../core/pagination';\nimport {\n cancel,\n create2,\n distribute,\n findAll2,\n findOne2,\n getApproveCalldata as getApproveCalldataOperation,\n getApproveCalldataForDistribution as getApproveCalldataForDistributionOperation,\n getStats,\n getTransactions,\n prepareTransactions,\n update2,\n updateRecipients,\n} from '../gen';\nimport type { Client } from '../gen/client';\nimport {\n normalizePaginatedResponse,\n unwrapDistributeResult,\n unwrapDistribution,\n unwrapData,\n} from './response-utils';\nimport {\n ApproveCalldata,\n ApproveCalldataRequest,\n CreateDistributionRequest,\n CreateDistributeRequest,\n Distribution,\n DistributionTransaction,\n DistributionStats,\n DistributeResult,\n DistributionsQueryParams,\n PrepareDistributionRequest,\n TransactionsQueryParams,\n UpdateDistributionRecipientsRequest,\n UpdateDistributionRequest,\n} from './types';\n\nexport class DistributionsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async distribute(request: CreateDistributeRequest): Promise<Distribution> {\n const result = await this.distributeDetailed(request);\n return unwrapDistribution(result);\n }\n\n async distributeDetailed(request: CreateDistributeRequest): Promise<DistributeResult> {\n const result = await executeGenerated<DistributeResult>(\n distribute({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapDistributeResult(result);\n }\n\n async createDraft(request: CreateDistributionRequest): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n create2({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async updateDraft(id: string, request: UpdateDistributionRequest): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n update2({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async replaceRecipients(\n id: string,\n request: UpdateDistributionRecipientsRequest\n ): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n updateRecipients({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async prepare(id: string, request: PrepareDistributionRequest): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n prepareTransactions({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async getApproveCalldata(request: ApproveCalldataRequest): Promise<ApproveCalldata> {\n const result = await executeGenerated<ApproveCalldata | { data: ApproveCalldata }>(\n getApproveCalldataOperation({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<ApproveCalldata>(result);\n }\n\n async getApproveCalldataForDistribution(id: string): Promise<ApproveCalldata> {\n const result = await executeGenerated<ApproveCalldata | { data: ApproveCalldata }>(\n getApproveCalldataForDistributionOperation({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<ApproveCalldata>(result);\n }\n\n async list(params?: DistributionsQueryParams): Promise<PaginatedResponse<Distribution>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<\n | {\n data: Distribution[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }\n | {\n data: {\n data: Distribution[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n };\n }\n >(\n findAll2({\n client: this.client,\n headers: this.headers,\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<Distribution>(\n unwrapData<{\n data: Distribution[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }>(result),\n page,\n limit\n );\n }\n\n async get(id: string): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n findOne2({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n\n async getTransactions(\n id: string,\n params?: TransactionsQueryParams\n ): Promise<PaginatedResponse<DistributionTransaction>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<\n | {\n data: DistributionTransaction[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }\n | {\n data: {\n data: DistributionTransaction[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n };\n }\n >(\n getTransactions({\n client: this.client,\n headers: this.headers,\n path: { id },\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<DistributionTransaction>(\n unwrapData<{\n data: DistributionTransaction[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }>(result),\n page,\n limit\n );\n }\n\n async getStats(id: string): Promise<DistributionStats> {\n const result = await executeGenerated<DistributionStats | { data: DistributionStats }>(\n getStats({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<DistributionStats>(result);\n }\n\n async cancel(id: string): Promise<Distribution> {\n const result = await executeGenerated<Distribution | { data: Distribution }>(\n cancel({\n client: this.client,\n headers: this.headers,\n path: { id },\n throwOnError: true,\n })\n );\n return unwrapData<Distribution>(result);\n }\n}\n",
21
+ "import { PaginatedResponse } from '../core/types';\nimport { executeGenerated } from '../core/generated-transport';\nimport { buildPaginationQuery } from '../core/pagination';\nimport type { Client } from '../gen/client';\nimport {\n addRecipient,\n addRecipientsBulk,\n create,\n createDistributionList,\n findAll,\n findOne,\n getRecipients,\n importCsvDistribution,\n importFromFile,\n remove,\n removeRecipient,\n update,\n} from '../gen';\nimport {\n normalizePaginatedResponse,\n unwrapData,\n unwrapDistributionList,\n} from './response-utils';\nimport {\n AddRecipientsBulkResult,\n RecipientList,\n CreateRecipientListRequest,\n UpdateRecipientListRequest,\n AddRecipientRequest,\n AddRecipientResult,\n AddRecipientsBulkRequest,\n CreateDistributionListRequest,\n DistributionListCreateResult,\n ImportCsvDistributionRequest,\n ImportListResponse,\n ListsQueryParams,\n MessageResponse,\n RecipientsQueryParams,\n ListItem,\n} from './types';\n\nconst createImportFormData = (file: File | Buffer): FormData => {\n const formData = new FormData();\n if (file instanceof Buffer) {\n formData.append('file', new Blob([new Uint8Array(file)]), 'import.csv');\n return formData;\n }\n\n const browserFile = file as File;\n formData.append('file', browserFile, browserFile.name);\n return formData;\n};\n\nexport class ListsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async list(params?: ListsQueryParams): Promise<PaginatedResponse<RecipientList>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<\n | {\n data: RecipientList[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }\n | {\n data: {\n data: RecipientList[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n };\n }\n >(\n findAll({\n client: this.client,\n headers: this.headers,\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<RecipientList>(\n unwrapData<{\n data: RecipientList[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }>(result),\n page,\n limit\n );\n }\n\n async create(request: CreateRecipientListRequest): Promise<RecipientList> {\n const result = await executeGenerated<RecipientList | { data: RecipientList }>(\n create({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async get(listId: string): Promise<RecipientList> {\n const result = await executeGenerated<RecipientList | { data: RecipientList }>(\n findOne({\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async update(listId: string, request: UpdateRecipientListRequest): Promise<RecipientList> {\n const result = await executeGenerated<RecipientList | { data: RecipientList }>(\n update({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<RecipientList>(result);\n }\n\n async delete(listId: string): Promise<void> {\n await this.deleteDetailed(listId);\n }\n\n async deleteDetailed(listId: string): Promise<MessageResponse> {\n const result = await executeGenerated<MessageResponse | { data: MessageResponse }>(\n remove({\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<MessageResponse>(result);\n }\n\n async getRecipients(\n listId: string,\n params?: RecipientsQueryParams\n ): Promise<PaginatedResponse<ListItem>> {\n const query = buildPaginationQuery(params);\n const page = params?.page ?? 1;\n const limit = params?.limit ?? 20;\n const result = await executeGenerated<\n | {\n data: ListItem[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }\n | {\n data: {\n data: ListItem[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n };\n }\n >(\n getRecipients({\n client: this.client,\n headers: this.headers,\n path: { listId },\n query,\n throwOnError: true,\n })\n );\n return normalizePaginatedResponse<ListItem>(\n unwrapData<{\n data: ListItem[];\n total: number;\n page?: number;\n limit?: number;\n totalPages?: number;\n }>(result),\n page,\n limit\n );\n }\n\n async addRecipient(listId: string, request: AddRecipientRequest): Promise<AddRecipientResult> {\n const result = await executeGenerated<AddRecipientResult | { data: AddRecipientResult }>(\n addRecipient({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<AddRecipientResult>(result);\n }\n\n async addRecipientsBulk(\n listId: string,\n request: AddRecipientsBulkRequest\n ): Promise<AddRecipientsBulkResult> {\n const result = await executeGenerated<\n AddRecipientsBulkResult | { data: AddRecipientsBulkResult }\n >(\n addRecipientsBulk({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { listId },\n throwOnError: true,\n })\n );\n return unwrapData<AddRecipientsBulkResult>(result);\n }\n\n async removeRecipient(listId: string, recipientId: string): Promise<void> {\n await this.removeRecipientDetailed(listId, recipientId);\n }\n\n async removeRecipientDetailed(\n listId: string,\n recipientId: string\n ): Promise<MessageResponse> {\n const result = await executeGenerated<MessageResponse | { data: MessageResponse }>(\n removeRecipient({\n client: this.client,\n headers: this.headers,\n path: { listId, recipientId },\n throwOnError: true,\n })\n );\n return unwrapData<MessageResponse>(result);\n }\n\n /**\n * Import recipients from a CSV file.\n * Uses multipart/form-data with field name 'file' (adjust if API spec defines differently).\n * Note: The spec has no typed body for multipart, so we pass FormData with a type assertion.\n */\n async importFromCsv(listId: string, file: File | Buffer): Promise<ImportListResponse> {\n if (!file) {\n throw new Error('importFromCsv: file is required');\n }\n const formData = createImportFormData(file);\n const result = await executeGenerated<ImportListResponse | { data: ImportListResponse }>(\n importFromFile({\n path: { listId },\n body: formData as never,\n bodySerializer: (b) => b as BodyInit,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<ImportListResponse>(result);\n }\n\n async createDistributionList(request: CreateDistributionListRequest): Promise<RecipientList> {\n const result = await this.createDistributionListDetailed(request);\n return unwrapDistributionList(result);\n }\n\n async createDistributionListDetailed(\n request: CreateDistributionListRequest\n ): Promise<DistributionListCreateResult> {\n const result = await executeGenerated<\n DistributionListCreateResult | { data: DistributionListCreateResult }\n >(\n createDistributionList({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<DistributionListCreateResult>(result);\n }\n\n async importCsvDistribution(request: ImportCsvDistributionRequest): Promise<RecipientList> {\n const result = await this.importCsvDistributionDetailed(request);\n return unwrapDistributionList(result);\n }\n\n async importCsvDistributionDetailed(\n request: ImportCsvDistributionRequest\n ): Promise<DistributionListCreateResult> {\n const result = await executeGenerated<\n DistributionListCreateResult | { data: DistributionListCreateResult }\n >(\n importCsvDistribution({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<DistributionListCreateResult>(result);\n }\n}\n",
22
+ "import { executeGenerated } from '../core/generated-transport';\nimport {\n createApiKey,\n deleteApiKey,\n getApiKeys,\n getProjectInfo,\n getProjectMembers,\n updateApiKey,\n} from '../gen';\nimport type { Client } from '../gen/client';\nimport {\n ApiKey,\n CreateApiKeyRequest,\n CreateApiKeyResult,\n MessageResponse,\n Project,\n ProjectMember,\n UpdateApiKeyRequest,\n} from './types';\nimport { unwrapData } from './response-utils';\n\nexport class ProjectService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async getInfo(): Promise<Project> {\n const result = await executeGenerated<Project | { data: Project }>(\n getProjectInfo({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<Project>(result);\n }\n\n async getMembers(): Promise<ProjectMember[]> {\n const result = await executeGenerated<ProjectMember[] | { data: ProjectMember[] }>(\n getProjectMembers({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<ProjectMember[]>(result);\n }\n\n async listApiKeys(): Promise<ApiKey[]> {\n const result = await executeGenerated<ApiKey[] | { data: ApiKey[] }>(\n getApiKeys({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<ApiKey[]>(result);\n }\n\n async createApiKey(request: CreateApiKeyRequest): Promise<CreateApiKeyResult> {\n const result = await executeGenerated<\n CreateApiKeyResult | { data: CreateApiKeyResult }\n >(\n createApiKey({\n body: request,\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n return unwrapData<CreateApiKeyResult>(result);\n }\n\n async updateApiKey(apiKeyId: string, request: UpdateApiKeyRequest): Promise<ApiKey> {\n const result = await executeGenerated<ApiKey | { data: ApiKey }>(\n updateApiKey({\n body: request,\n client: this.client,\n headers: this.headers,\n path: { apiKeyId },\n throwOnError: true,\n })\n );\n return unwrapData<ApiKey>(result);\n }\n\n async deleteApiKey(apiKeyId: string): Promise<void> {\n await this.deleteApiKeyDetailed(apiKeyId);\n }\n\n async deleteApiKeyDetailed(apiKeyId: string): Promise<MessageResponse> {\n const result = await executeGenerated<MessageResponse | { data: MessageResponse }>(\n deleteApiKey({\n client: this.client,\n headers: this.headers,\n path: { apiKeyId },\n throwOnError: true,\n })\n );\n return unwrapData<MessageResponse>(result);\n }\n}\n",
23
23
  "import { ValidationError } from '../core/errors';\n\nexport function validateEthereumAddress(address: string): boolean {\n return /^0x[a-fA-F0-9]{40}$/.test(address);\n}\n\nexport function validatePositiveNumber(value: string | number): boolean {\n const num = typeof value === 'string' ? parseFloat(value) : value;\n return !isNaN(num) && num > 0;\n}\n\nexport function validateChainId(chainId: number): void {\n if (!Number.isInteger(chainId) || chainId <= 0) {\n throw new ValidationError('Chain ID must be a positive integer');\n }\n}\n\nexport function validateRecipients(recipients: [string, string][]): void {\n if (!Array.isArray(recipients) || recipients.length === 0) {\n throw new ValidationError('Recipients must be a non-empty array');\n }\n\n for (let i = 0; i < recipients.length; i++) {\n const [address, amount] = recipients[i];\n\n if (!address || typeof address !== 'string') {\n throw new ValidationError(`Invalid address at index ${i}`);\n }\n\n if (!validateEthereumAddress(address)) {\n throw new ValidationError(`Invalid Ethereum address at index ${i}: ${address}`);\n }\n\n if (!validatePositiveNumber(amount)) {\n throw new ValidationError(`Invalid amount at index ${i}: ${amount}`);\n }\n }\n}\n\nexport function validateTokenAddress(address: string): void {\n if (!validateEthereumAddress(address)) {\n throw new ValidationError(`Invalid token address: ${address}`);\n }\n}\n\nexport function validateApiKey(apiKey: string): void {\n if (!apiKey || apiKey.trim().length < 10) {\n throw new ValidationError('Invalid API key format');\n }\n}\n",
24
- "import { executeGenerated } from '../core/generated-transport';\nimport { getChain, getChains, getToken, getTokens, searchTokens } from '../gen';\nimport type { Client } from '../gen/client';\nimport { Chain, Token } from './types';\nimport { validateChainId } from '../utils/validation';\n\nexport class CatalogsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async getChains(): Promise<Chain[]> {\n return executeGenerated<Chain[]>(\n getChains({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n }\n\n async getChain(chainId: string): Promise<Chain> {\n const parsedChainId = Number(chainId);\n validateChainId(parsedChainId);\n return executeGenerated<Chain>(\n getChain({\n client: this.client,\n headers: this.headers,\n path: { chainId: parsedChainId },\n throwOnError: true,\n })\n );\n }\n\n async getTokens(chainId?: string): Promise<Token[]> {\n const parsedChainId = chainId !== undefined ? Number(chainId) : undefined;\n if (parsedChainId !== undefined) validateChainId(parsedChainId);\n return executeGenerated<Token[]>(\n getTokens({\n client: this.client,\n headers: this.headers,\n query: parsedChainId !== undefined ? { chainId: parsedChainId } : undefined,\n throwOnError: true,\n })\n );\n }\n\n async getToken(chainId: string, address: string): Promise<Token> {\n const parsedChainId = Number(chainId);\n validateChainId(parsedChainId);\n return executeGenerated<Token>(\n getToken({\n client: this.client,\n headers: this.headers,\n path: { address, chainId: parsedChainId },\n throwOnError: true,\n })\n );\n }\n\n async searchTokens(symbol: string, chainId: string): Promise<Token[]> {\n const parsedChainId = Number(chainId);\n validateChainId(parsedChainId);\n return executeGenerated<Token[]>(\n searchTokens({\n client: this.client,\n headers: this.headers,\n query: {\n chainId: parsedChainId,\n symbol,\n },\n throwOnError: true,\n })\n );\n }\n}\n",
24
+ "import { executeGenerated } from '../core/generated-transport';\nimport { getChain, getChains, getToken, getTokens, searchTokens } from '../gen';\nimport type { Client } from '../gen/client';\nimport { Chain, Token } from './types';\nimport { validateChainId } from '../utils/validation';\n\nexport class CatalogsService {\n constructor(\n private readonly headers: { 'X-API-Key': string },\n private readonly client: Client\n ) {}\n\n async getChains(): Promise<Chain[]> {\n return executeGenerated<Chain[]>(\n getChains({\n client: this.client,\n headers: this.headers,\n throwOnError: true,\n })\n );\n }\n\n async getChain(chainId: string): Promise<Chain> {\n const parsedChainId = Number(chainId);\n validateChainId(parsedChainId);\n return executeGenerated<Chain>(\n getChain({\n client: this.client,\n headers: this.headers,\n path: { chainId: parsedChainId },\n throwOnError: true,\n })\n );\n }\n\n async getTokens(chainId?: string): Promise<Token[]> {\n const parsedChainId = chainId !== undefined ? Number(chainId) : undefined;\n if (parsedChainId !== undefined) validateChainId(parsedChainId);\n return executeGenerated<Token[]>(\n getTokens({\n client: this.client,\n headers: this.headers,\n query: parsedChainId !== undefined ? { chainId: parsedChainId } : undefined,\n throwOnError: true,\n })\n );\n }\n\n async getToken(chainId: string, address: string): Promise<Token> {\n const parsedChainId = Number(chainId);\n validateChainId(parsedChainId);\n return executeGenerated<Token>(\n getToken({\n client: this.client,\n headers: this.headers,\n path: { address, chainId: parsedChainId },\n throwOnError: true,\n })\n );\n }\n\n async searchTokens(symbol: string, chainId?: string): Promise<Token[]> {\n const parsedChainId = chainId !== undefined ? Number(chainId) : undefined;\n if (parsedChainId !== undefined) validateChainId(parsedChainId);\n return executeGenerated<Token[]>(\n searchTokens({\n client: this.client,\n headers: this.headers,\n query: {\n symbol,\n ...(parsedChainId !== undefined ? { chainId: parsedChainId } : {}),\n },\n throwOnError: true,\n })\n );\n }\n}\n",
25
25
  "import { createClient, type Client } from './gen/client';\nimport { setRuntimeConfig } from './openapi-runtime';\nimport { DistributionsService } from './services/distributions';\nimport { ListsService } from './services/lists';\nimport { ProjectService } from './services/project';\nimport { CatalogsService } from './services/catalogs';\nimport { validateApiKey } from './utils/validation';\n\nexport interface MultisenderConfig {\n /** API key for authentication */\n apiKey: string;\n /** Base URL for the API (default: production URL) */\n baseUrl?: string;\n /** Request timeout in milliseconds (default: 30000) */\n timeout?: number;\n /** Additional headers to include in all requests */\n headers?: Record<string, string>;\n}\n\n/**\n * Main Multisender SDK class\n *\n * @example\n * ```typescript\n * const multisender = new Multisender({\n * apiKey: 'your-api-key',\n * });\n *\n * // Create a distribution\n * const distribution = await multisender.distributions.distribute({\n * chainId: 1,\n * tokenAddress: '0x...',\n * tokenSymbol: 'USDC',\n * recipients: [\n * ['0x123...', '100'],\n * ['0x456...', '200'],\n * ],\n * });\n * ```\n */\nexport class Multisender {\n public readonly distributions: DistributionsService;\n public readonly lists: ListsService;\n public readonly project: ProjectService;\n public readonly catalogs: CatalogsService;\n private readonly client: Client;\n private readonly authHeaders: { 'X-API-Key': string };\n\n constructor(config: MultisenderConfig) {\n validateApiKey(config.apiKey);\n\n const resolvedConfig = {\n baseUrl: config.baseUrl || 'https://api.multisender.app',\n apiKey: config.apiKey,\n timeout: config.timeout,\n headers: config.headers,\n };\n\n this.client = createClient(setRuntimeConfig(resolvedConfig));\n this.authHeaders = { 'X-API-Key': config.apiKey };\n\n this.client.interceptors.error.use((error, response) => {\n if (!response) {\n return error;\n }\n\n return {\n body: error,\n status: response.status,\n };\n });\n\n this.distributions = new DistributionsService(this.authHeaders, this.client);\n this.lists = new ListsService(this.authHeaders, this.client);\n this.project = new ProjectService(this.authHeaders, this.client);\n this.catalogs = new CatalogsService(this.authHeaders, this.client);\n }\n\n static getVersion(): string {\n return '1.0.0';\n }\n}\n",
26
26
  "import { ValidationError } from '../core/errors';\n\nexport interface CsvParseOptions {\n delimiter?: string;\n skipRows?: number;\n hasHeader?: boolean;\n}\n\nexport function parseCsv(\n csvData: string,\n options: CsvParseOptions = {}\n): [string, string][] {\n const { delimiter = ',', skipRows = 0, hasHeader = true } = options;\n\n const lines = csvData\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter((line) => line.length > 0);\n\n if (lines.length === 0) {\n throw new ValidationError('CSV data is empty');\n }\n\n let startIndex = skipRows;\n if (hasHeader) {\n startIndex += 1;\n }\n\n const recipients: [string, string][] = [];\n\n for (let i = startIndex; i < lines.length; i++) {\n const line = lines[i];\n const parts = line.split(delimiter).map((p) => p.trim());\n\n if (parts.length < 2) {\n throw new ValidationError(`Invalid CSV format at line ${i + 1}: expected at least 2 columns`);\n }\n\n const [address, amount] = parts;\n\n if (!address || !amount) {\n throw new ValidationError(`Invalid CSV format at line ${i + 1}: address and amount are required`);\n }\n\n recipients.push([address, amount]);\n }\n\n if (recipients.length === 0) {\n throw new ValidationError('CSV must contain at least one recipient');\n }\n\n return recipients;\n}\n\nexport function toCsv(recipients: [string, string][], includeHeader = true): string {\n const lines: string[] = [];\n\n if (includeHeader) {\n lines.push('address,amount');\n }\n\n for (const [address, amount] of recipients) {\n lines.push(`${address},${amount}`);\n }\n\n return lines.join('\\n');\n}\n\nexport function validateCsv(csvData: string, options: CsvParseOptions = {}): boolean {\n try {\n parseCsv(csvData, options);\n return true;\n } catch {\n return false;\n }\n}\n"
27
27
  ],
28
- "mappings": "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",
29
- "debugId": "271FBC6D9C835BF364756E2164756E21",
28
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAM,wBAAwB,CAAC,MAAgB,KAAa,UAAyB;AAAA,EACnF,IAAI,OAAO,UAAU,YAAY,iBAAiB,MAAM;AAAA,IACtD,KAAK,OAAO,KAAK,KAAK;AAAA,EACxB,EAAO,SAAI,iBAAiB,MAAM;AAAA,IAChC,KAAK,OAAO,KAAK,MAAM,YAAY,CAAC;AAAA,EACtC,EAAO;AAAA,IACL,KAAK,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA;AAYnC,IAAM,yBAAyB;AAAA,EACpC,gBAAgB,CACd,SACa;AAAA,IACb,MAAM,OAAO,IAAI;AAAA,IAEjB,OAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,WAAW;AAAA,MAC7C,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,QACzC;AAAA,MACF;AAAA,MACA,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,QACxB,MAAM,QAAQ,CAAC,MAAM,sBAAsB,MAAM,KAAK,CAAC,CAAC;AAAA,MAC1D,EAAO;AAAA,QACL,sBAAsB,MAAM,KAAK,KAAK;AAAA;AAAA,KAEzC;AAAA,IAED,OAAO;AAAA;AAEX;AAEO,IAAM,qBAAqB;AAAA,EAChC,gBAAgB,CAAI,SAClB,KAAK,UAAU,MAAM,CAAC,MAAM,UAAW,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KAAM;AAChG;;ACpBA,IAAM,mBAAyC;AAAA,EAC7C,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AACX;AACA,IAAM,gBAAgB,OAAO,QAAQ,gBAAgB;;AC+B9C,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AAAA,MACyD;AAAA,EAC5D,IAAI;AAAA,EAEJ,MAAM,QAAQ,eAAe,CAAC,OAAe,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA,EAE7F,MAAM,eAAe,gBAAgB,GAAG;AAAA,IACtC,IAAI,aAAqB,wBAAwB;AAAA,IACjD,IAAI,UAAU;AAAA,IACd,MAAM,SAAS,QAAQ,UAAU,IAAI,gBAAgB,EAAE;AAAA,IAEvD,OAAO,MAAM;AAAA,MACX,IAAI,OAAO;AAAA,QAAS;AAAA,MAEpB;AAAA,MAEA,MAAM,UACJ,QAAQ,mBAAmB,UACvB,QAAQ,UACR,IAAI,QAAQ,QAAQ,OAA6C;AAAA,MAEvE,IAAI,gBAAgB,WAAW;AAAA,QAC7B,QAAQ,IAAI,iBAAiB,WAAW;AAAA,MAC1C;AAAA,MAEA,IAAI;AAAA,QACF,MAAM,cAA2B;AAAA,UAC/B,UAAU;AAAA,aACP;AAAA,UACH,MAAM,QAAQ;AAAA,UACd;AAAA,UACA;AAAA,QACF;AAAA,QACA,IAAI,UAAU,IAAI,QAAQ,KAAK,WAAW;AAAA,QAC1C,IAAI,WAAW;AAAA,UACb,UAAU,MAAM,UAAU,KAAK,WAAW;AAAA,QAC5C;AAAA,QAGA,MAAM,SAAS,QAAQ,SAAS,WAAW;AAAA,QAC3C,MAAM,WAAW,MAAM,OAAO,OAAO;AAAA,QAErC,IAAI,CAAC,SAAS;AAAA,UAAI,MAAM,IAAI,MAAM,eAAe,SAAS,UAAU,SAAS,YAAY;AAAA,QAEzF,IAAI,CAAC,SAAS;AAAA,UAAM,MAAM,IAAI,MAAM,yBAAyB;AAAA,QAE7D,MAAM,SAAS,SAAS,KAAK,YAAY,IAAI,iBAAmB,EAAE,UAAU;AAAA,QAE5E,IAAI,SAAS;AAAA,QAEb,MAAM,eAAe,MAAM;AAAA,UACzB,IAAI;AAAA,YACF,OAAO,OAAO;AAAA,YACd,MAAM;AAAA;AAAA,QAKV,OAAO,iBAAiB,SAAS,YAAY;AAAA,QAE7C,IAAI;AAAA,UACF,OAAO,MAAM;AAAA,YACX,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,YAC1C,IAAI;AAAA,cAAM;AAAA,YACV,UAAU;AAAA,YAEV,SAAS,OAAO,QAAQ,SAAS;AAAA,CAAI,EAAE,QAAQ,OAAO;AAAA,CAAI;AAAA,YAE1D,MAAM,SAAS,OAAO,MAAM;AAAA;AAAA,CAAM;AAAA,YAClC,SAAS,OAAO,IAAI,KAAK;AAAA,YAEzB,WAAW,SAAS,QAAQ;AAAA,cAC1B,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,cAC9B,MAAM,YAA2B,CAAC;AAAA,cAClC,IAAI;AAAA,cAEJ,WAAW,QAAQ,OAAO;AAAA,gBACxB,IAAI,KAAK,WAAW,OAAO,GAAG;AAAA,kBAC5B,UAAU,KAAK,KAAK,QAAQ,aAAa,EAAE,CAAC;AAAA,gBAC9C,EAAO,SAAI,KAAK,WAAW,QAAQ,GAAG;AAAA,kBACpC,YAAY,KAAK,QAAQ,cAAc,EAAE;AAAA,gBAC3C,EAAO,SAAI,KAAK,WAAW,KAAK,GAAG;AAAA,kBACjC,cAAc,KAAK,QAAQ,WAAW,EAAE;AAAA,gBAC1C,EAAO,SAAI,KAAK,WAAW,QAAQ,GAAG;AAAA,kBACpC,MAAM,SAAS,OAAO,SAAS,KAAK,QAAQ,cAAc,EAAE,GAAG,EAAE;AAAA,kBACjE,IAAI,CAAC,OAAO,MAAM,MAAM,GAAG;AAAA,oBACzB,aAAa;AAAA,kBACf;AAAA,gBACF;AAAA,cACF;AAAA,cAEA,IAAI;AAAA,cACJ,IAAI,aAAa;AAAA,cAEjB,IAAI,UAAU,QAAQ;AAAA,gBACpB,MAAM,UAAU,UAAU,KAAK;AAAA,CAAI;AAAA,gBACnC,IAAI;AAAA,kBACF,OAAO,KAAK,MAAM,OAAO;AAAA,kBACzB,aAAa;AAAA,kBACb,MAAM;AAAA,kBACN,OAAO;AAAA;AAAA,cAEX;AAAA,cAEA,IAAI,YAAY;AAAA,gBACd,IAAI,mBAAmB;AAAA,kBACrB,MAAM,kBAAkB,IAAI;AAAA,gBAC9B;AAAA,gBAEA,IAAI,qBAAqB;AAAA,kBACvB,OAAO,MAAM,oBAAoB,IAAI;AAAA,gBACvC;AAAA,cACF;AAAA,cAEA,aAAa;AAAA,gBACX;AAAA,gBACA,OAAO;AAAA,gBACP,IAAI;AAAA,gBACJ,OAAO;AAAA,cACT,CAAC;AAAA,cAED,IAAI,UAAU,QAAQ;AAAA,gBACpB,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,kBACA;AAAA,UACA,OAAO,oBAAoB,SAAS,YAAY;AAAA,UAChD,OAAO,YAAY;AAAA;AAAA,QAGrB;AAAA,QACA,OAAO,OAAO;AAAA,QAEd,aAAa,KAAK;AAAA,QAElB,IAAI,wBAAwB,aAAa,WAAW,qBAAqB;AAAA,UACvE;AAAA,QACF;AAAA,QAGA,MAAM,UAAU,KAAK,IAAI,aAAa,MAAM,UAAU,IAAI,oBAAoB,KAAK;AAAA,QACnF,MAAM,MAAM,OAAO;AAAA;AAAA,IAEvB;AAAA;AAAA,EAGF,MAAM,SAAS,aAAa;AAAA,EAE5B,OAAO,EAAE,OAAO;AAAA;;;ACtNX,IAAM,wBAAwB,CAAC,UAA+B;AAAA,EACnE,QAAQ;AAAA,SACD;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;AAIN,IAAM,0BAA0B,CAAC,UAA+B;AAAA,EACrE,QAAQ;AAAA,SACD;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;AAIN,IAAM,yBAAyB,CAAC,UAAgC;AAAA,EACrE,QAAQ;AAAA,SACD;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;AAIN,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAGI;AAAA,EACJ,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,iBACJ,gBAAgB,QAAQ,MAAM,IAAI,CAAC,MAAM,mBAAmB,CAAW,CAAC,GACxE,KAAK,wBAAwB,KAAK,CAAC;AAAA,IACrC,QAAQ;AAAA,WACD;AAAA,QACH,OAAO,IAAI;AAAA,WACR;AAAA,QACH,OAAO,IAAI,QAAQ;AAAA,WAChB;AAAA,QACH,OAAO;AAAA;AAAA,QAEP,OAAO,GAAG,QAAQ;AAAA;AAAA,EAExB;AAAA,EAEA,MAAM,YAAY,sBAAsB,KAAK;AAAA,EAC7C,MAAM,eAAe,MAClB,IAAI,CAAC,MAAM;AAAA,IACV,IAAI,UAAU,WAAW,UAAU,UAAU;AAAA,MAC3C,OAAO,gBAAgB,IAAI,mBAAmB,CAAW;AAAA,IAC3D;AAAA,IAEA,OAAO,wBAAwB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAAA,GACF,EACA,KAAK,SAAS;AAAA,EACjB,OAAO,UAAU,WAAW,UAAU,WAAW,YAAY,eAAe;AAAA;AAGvE,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,MAC6B;AAAA,EAC7B,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,MAAM,IAAI,MACR,sGACF;AAAA,EACF;AAAA,EAEA,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,mBAAmB,KAAK;AAAA;AAG7D,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAII;AAAA,EACJ,IAAI,iBAAiB,MAAM;AAAA,IACzB,OAAO,YAAY,MAAM,YAAY,IAAI,GAAG,QAAQ,MAAM,YAAY;AAAA,EACxE;AAAA,EAEA,IAAI,UAAU,gBAAgB,CAAC,SAAS;AAAA,IACtC,IAAI,SAAmB,CAAC;AAAA,IACxB,OAAO,QAAQ,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO;AAAA,MAC1C,SAAS,CAAC,GAAG,QAAQ,KAAK,gBAAiB,IAAe,mBAAmB,CAAW,CAAC;AAAA,KAC1F;AAAA,IACD,MAAM,gBAAe,OAAO,KAAK,GAAG;AAAA,IACpC,QAAQ;AAAA,WACD;AAAA,QACH,OAAO,GAAG,QAAQ;AAAA,WACf;AAAA,QACH,OAAO,IAAI;AAAA,WACR;AAAA,QACH,OAAO,IAAI,QAAQ;AAAA;AAAA,QAEnB,OAAO;AAAA;AAAA,EAEb;AAAA,EAEA,MAAM,YAAY,uBAAuB,KAAK;AAAA,EAC9C,MAAM,eAAe,OAAO,QAAQ,KAAK,EACtC,IAAI,EAAE,KAAK,OACV,wBAAwB;AAAA,IACtB;AAAA,IACA,MAAM,UAAU,eAAe,GAAG,QAAQ,SAAS;AAAA,IACnD,OAAO;AAAA,EACT,CAAC,CACH,EACC,KAAK,SAAS;AAAA,EACjB,OAAO,UAAU,WAAW,UAAU,WAAW,YAAY,eAAe;AAAA;;;AC1JvE,IAAM,gBAAgB;AAEtB,IAAM,wBAAwB,GAAG,MAAM,KAAK,WAA2B;AAAA,EAC5E,IAAI,MAAM;AAAA,EACV,MAAM,UAAU,KAAK,MAAM,aAAa;AAAA,EACxC,IAAI,SAAS;AAAA,IACX,WAAW,SAAS,SAAS;AAAA,MAC3B,IAAI,UAAU;AAAA,MACd,IAAI,OAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAAA,MAC9C,IAAI,QAA6B;AAAA,MAEjC,IAAI,KAAK,SAAS,GAAG,GAAG;AAAA,QACtB,UAAU;AAAA,QACV,OAAO,KAAK,UAAU,GAAG,KAAK,SAAS,CAAC;AAAA,MAC1C;AAAA,MAEA,IAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QACxB,OAAO,KAAK,UAAU,CAAC;AAAA,QACvB,QAAQ;AAAA,MACV,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QAC/B,OAAO,KAAK,UAAU,CAAC;AAAA,QACvB,QAAQ;AAAA,MACV;AAAA,MAEA,MAAM,QAAQ,KAAK;AAAA,MAEnB,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,QACzC;AAAA,MACF;AAAA,MAEA,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,QACxB,MAAM,IAAI,QAAQ,OAAO,oBAAoB,EAAE,SAAS,MAAM,OAAO,MAAM,CAAC,CAAC;AAAA,QAC7E;AAAA,MACF;AAAA,MAEA,IAAI,OAAO,UAAU,UAAU;AAAA,QAC7B,MAAM,IAAI,QACR,OACA,qBAAqB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb,CAAC,CACH;AAAA,QACA;AAAA,MACF;AAAA,MAEA,IAAI,UAAU,UAAU;AAAA,QACtB,MAAM,IAAI,QACR,OACA,IAAI,wBAAwB;AAAA,UAC1B;AAAA,UACA;AAAA,QACF,CAAC,GACH;AAAA,QACA;AAAA,MACF;AAAA,MAEA,MAAM,eAAe,mBACnB,UAAU,UAAU,IAAI,UAAqB,KAC/C;AAAA,MACA,MAAM,IAAI,QAAQ,OAAO,YAAY;AAAA,IACvC;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,IAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK;AAAA,MAOD;AAAA,EACJ,MAAM,UAAU,KAAK,WAAW,GAAG,IAAI,OAAO,IAAI;AAAA,EAClD,IAAI,OAAO,WAAW,MAAM;AAAA,EAC5B,IAAI,MAAM;AAAA,IACR,MAAM,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAAA,EAC3C;AAAA,EACA,IAAI,SAAS,QAAQ,gBAAgB,KAAK,IAAI;AAAA,EAC9C,IAAI,OAAO,WAAW,GAAG,GAAG;AAAA,IAC1B,SAAS,OAAO,UAAU,CAAC;AAAA,EAC7B;AAAA,EACA,IAAI,QAAQ;AAAA,IACV,OAAO,IAAI;AAAA,EACb;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,mBAAmB,CAAC,SAIjC;AAAA,EACD,MAAM,UAAU,QAAQ,SAAS;AAAA,EACjC,MAAM,mBAAmB,WAAW,QAAQ;AAAA,EAE5C,IAAI,kBAAkB;AAAA,IACpB,IAAI,oBAAoB,SAAS;AAAA,MAC/B,MAAM,oBACJ,QAAQ,mBAAmB,aAAa,QAAQ,mBAAmB;AAAA,MAErE,OAAO,oBAAoB,QAAQ,iBAAiB;AAAA,IACtD;AAAA,IAGA,OAAO,QAAQ,SAAS,KAAK,QAAQ,OAAO;AAAA,EAC9C;AAAA,EAGA,IAAI,SAAS;AAAA,IACX,OAAO,QAAQ;AAAA,EACjB;AAAA,EAGA;AAAA;;;ACrHK,IAAM,eAAe,OAC1B,MACA,aACgC;AAAA,EAChC,MAAM,QAAQ,OAAO,aAAa,aAAa,MAAM,SAAS,IAAI,IAAI;AAAA,EAEtE,IAAI,CAAC,OAAO;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,UAAU;AAAA,IAC5B,OAAO,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,KAAK,WAAW,SAAS;AAAA,IAC3B,OAAO,SAAS,KAAK,KAAK;AAAA,EAC5B;AAAA,EAEA,OAAO;AAAA;;;AC1BF,IAAM,wBAAwB;AAAA,EACnC,aAAa,CAAC;AAAA,KACX;AAAA,IACuB,CAAC,MAAM;AAAA,EACjC,MAAM,kBAAkB,CAAC,gBAAmB;AAAA,IAC1C,MAAM,SAAmB,CAAC;AAAA,IAC1B,IAAI,eAAe,OAAO,gBAAgB,UAAU;AAAA,MAClD,WAAW,QAAQ,aAAa;AAAA,QAC9B,MAAM,QAAQ,YAAY;AAAA,QAE1B,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,UACzC;AAAA,QACF;AAAA,QAEA,MAAM,UAAU,WAAW,SAAS;AAAA,QAEpC,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,UACxB,MAAM,kBAAkB,oBAAoB;AAAA,YAC1C,eAAe,QAAQ;AAAA,YACvB,SAAS;AAAA,YACT;AAAA,YACA,OAAO;AAAA,YACP;AAAA,eACG,QAAQ;AAAA,UACb,CAAC;AAAA,UACD,IAAI;AAAA,YAAiB,OAAO,KAAK,eAAe;AAAA,QAClD,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,UACpC,MAAM,mBAAmB,qBAAqB;AAAA,YAC5C,eAAe,QAAQ;AAAA,YACvB,SAAS;AAAA,YACT;AAAA,YACA,OAAO;AAAA,YACP;AAAA,eACG,QAAQ;AAAA,UACb,CAAC;AAAA,UACD,IAAI;AAAA,YAAkB,OAAO,KAAK,gBAAgB;AAAA,QACpD,EAAO;AAAA,UACL,MAAM,sBAAsB,wBAAwB;AAAA,YAClD,eAAe,QAAQ;AAAA,YACvB;AAAA,YACA;AAAA,UACF,CAAC;AAAA,UACD,IAAI;AAAA,YAAqB,OAAO,KAAK,mBAAmB;AAAA;AAAA,MAE5D;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK,GAAG;AAAA;AAAA,EAExB,OAAO;AAAA;AAMF,IAAM,aAAa,CAAC,gBAAmE;AAAA,EAC5F,IAAI,CAAC,aAAa;AAAA,IAGhB,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,eAAe,YAAY,MAAM,GAAG,EAAE,IAAI,KAAK;AAAA,EAErD,IAAI,CAAC,cAAc;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,IAAI,aAAa,WAAW,kBAAkB,KAAK,aAAa,SAAS,OAAO,GAAG;AAAA,IACjF,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,uBAAuB;AAAA,IAC1C,OAAO;AAAA,EACT;AAAA,EAEA,IACE,CAAC,gBAAgB,UAAU,UAAU,QAAQ,EAAE,KAAK,CAAC,SAAS,aAAa,WAAW,IAAI,CAAC,GAC3F;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,aAAa,WAAW,OAAO,GAAG;AAAA,IACpC,OAAO;AAAA,EACT;AAAA,EAEA;AAAA;AAGF,IAAM,oBAAoB,CACxB,SAGA,SACY;AAAA,EACZ,IAAI,CAAC,MAAM;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,IACE,QAAQ,QAAQ,IAAI,IAAI,KACxB,QAAQ,QAAQ,SAChB,QAAQ,QAAQ,IAAI,QAAQ,GAAG,SAAS,GAAG,OAAO,GAClD;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;AAGF,IAAM,gBAAgB;AAAA,EAC3B;AAAA,KACG;AAAA,MAIG;AAAA,EACN,WAAW,QAAQ,UAAU;AAAA,IAC3B,IAAI,kBAAkB,SAAS,KAAK,IAAI,GAAG;AAAA,MACzC;AAAA,IACF;AAAA,IAEA,MAAM,QAAQ,MAAM,aAAa,MAAM,QAAQ,IAAI;AAAA,IAEnD,IAAI,CAAC,OAAO;AAAA,MACV;AAAA,IACF;AAAA,IAEA,MAAM,OAAO,KAAK,QAAQ;AAAA,IAE1B,QAAQ,KAAK;AAAA,WACN;AAAA,QACH,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,QAAQ,QAAQ,CAAC;AAAA,QACnB;AAAA,QACA,QAAQ,MAAM,QAAQ;AAAA,QACtB;AAAA,WACG;AAAA,QACH,QAAQ,QAAQ,OAAO,UAAU,GAAG,QAAQ,OAAO;AAAA,QACnD;AAAA,WACG;AAAA;AAAA,QAEH,QAAQ,QAAQ,IAAI,MAAM,KAAK;AAAA,QAC/B;AAAA;AAAA,EAEN;AAAA;AAGK,IAAM,WAA+B,CAAC,YAC3C,OAAO;AAAA,EACL,SAAS,QAAQ;AAAA,EACjB,MAAM,QAAQ;AAAA,EACd,OAAO,QAAQ;AAAA,EACf,iBACE,OAAO,QAAQ,oBAAoB,aAC/B,QAAQ,kBACR,sBAAsB,QAAQ,eAAe;AAAA,EACnD,KAAK,QAAQ;AACf,CAAC;AAEI,IAAM,eAAe,CAAC,GAAW,MAAsB;AAAA,EAC5D,MAAM,SAAS,KAAK,MAAM,EAAE;AAAA,EAC5B,IAAI,OAAO,SAAS,SAAS,GAAG,GAAG;AAAA,IACjC,OAAO,UAAU,OAAO,QAAQ,UAAU,GAAG,OAAO,QAAQ,SAAS,CAAC;AAAA,EACxE;AAAA,EACA,OAAO,UAAU,aAAa,EAAE,SAAS,EAAE,OAAO;AAAA,EAClD,OAAO;AAAA;AAGT,IAAM,iBAAiB,CAAC,YAA8C;AAAA,EACpE,MAAM,UAAmC,CAAC;AAAA,EAC1C,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AAAA,IAC9B,QAAQ,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,GAC1B;AAAA,EACD,OAAO;AAAA;AAGF,IAAM,eAAe,IACvB,YACS;AAAA,EACZ,MAAM,gBAAgB,IAAI;AAAA,EAC1B,WAAW,UAAU,SAAS;AAAA,IAC5B,IAAI,CAAC,QAAQ;AAAA,MACX;AAAA,IACF;AAAA,IAEA,MAAM,WAAW,kBAAkB,UAAU,eAAe,MAAM,IAAI,OAAO,QAAQ,MAAM;AAAA,IAE3F,YAAY,KAAK,UAAU,UAAU;AAAA,MACnC,IAAI,UAAU,MAAM;AAAA,QAClB,cAAc,OAAO,GAAG;AAAA,MAC1B,EAAO,SAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,QAC/B,WAAW,KAAK,OAAO;AAAA,UACrB,cAAc,OAAO,KAAK,CAAW;AAAA,QACvC;AAAA,MACF,EAAO,SAAI,UAAU,WAAW;AAAA,QAG9B,cAAc,IACZ,KACA,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAK,KACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAAA;AAkBT,MAAM,aAA0B;AAAA,EAC9B,MAAiC,CAAC;AAAA,EAElC,KAAK,GAAS;AAAA,IACZ,KAAK,MAAM,CAAC;AAAA;AAAA,EAGd,KAAK,CAAC,IAAgC;AAAA,IACpC,MAAM,QAAQ,KAAK,oBAAoB,EAAE;AAAA,IACzC,IAAI,KAAK,IAAI,QAAQ;AAAA,MACnB,KAAK,IAAI,SAAS;AAAA,IACpB;AAAA;AAAA,EAGF,MAAM,CAAC,IAAmC;AAAA,IACxC,MAAM,QAAQ,KAAK,oBAAoB,EAAE;AAAA,IACzC,OAAO,QAAQ,KAAK,IAAI,MAAM;AAAA;AAAA,EAGhC,mBAAmB,CAAC,IAAkC;AAAA,IACpD,IAAI,OAAO,OAAO,UAAU;AAAA,MAC1B,OAAO,KAAK,IAAI,MAAM,KAAK;AAAA,IAC7B;AAAA,IACA,OAAO,KAAK,IAAI,QAAQ,EAAE;AAAA;AAAA,EAG5B,MAAM,CAAC,IAA0B,IAA+C;AAAA,IAC9E,MAAM,QAAQ,KAAK,oBAAoB,EAAE;AAAA,IACzC,IAAI,KAAK,IAAI,QAAQ;AAAA,MACnB,KAAK,IAAI,SAAS;AAAA,MAClB,OAAO;AAAA,IACT;AAAA,IACA,OAAO;AAAA;AAAA,EAGT,GAAG,CAAC,IAAyB;AAAA,IAC3B,KAAK,IAAI,KAAK,EAAE;AAAA,IAChB,OAAO,KAAK,IAAI,SAAS;AAAA;AAE7B;AAQO,IAAM,qBAAqB,OAK5B;AAAA,EACJ,OAAO,IAAI;AAAA,EACX,SAAS,IAAI;AAAA,EACb,UAAU,IAAI;AAChB;AAEA,IAAM,yBAAyB,sBAAsB;AAAA,EACnD,eAAe;AAAA,EACf,OAAO;AAAA,IACL,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB,gBAAgB;AAClB;AAEO,IAAM,eAAe,CAC1B,WAAqD,CAAC,OACR;AAAA,KAC3C;AAAA,EACH,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AAAA,KACd;AACL;;;ACtSO,IAAM,eAAe,CAAC,SAAiB,CAAC,MAAc;AAAA,EAC3D,IAAI,UAAU,aAAa,aAAa,GAAG,MAAM;AAAA,EAEjD,MAAM,YAAY,OAAe,KAAK,QAAQ;AAAA,EAE9C,MAAM,YAAY,CAAC,YAA2B;AAAA,IAC5C,UAAU,aAAa,SAAS,OAAM;AAAA,IACtC,OAAO,UAAU;AAAA;AAAA,EAGnB,MAAM,eAAe,mBAAuE;AAAA,EAE5F,MAAM,gBAAgB,OAAO,YAA4B;AAAA,IACvD,MAAM,OAAO;AAAA,SACR;AAAA,SACA;AAAA,MACH,OAAO,QAAQ,SAAS,QAAQ,SAAS,WAAW;AAAA,MACpD,SAAS,aAAa,QAAQ,SAAS,QAAQ,OAAO;AAAA,MACtD,gBAAgB;AAAA,IAClB;AAAA,IAEA,IAAI,KAAK,UAAU;AAAA,MACjB,MAAM,cAAc;AAAA,WACf;AAAA,QACH,UAAU,KAAK;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,IAEA,IAAI,KAAK,kBAAkB;AAAA,MACzB,MAAM,KAAK,iBAAiB,IAAI;AAAA,IAClC;AAAA,IAEA,IAAI,KAAK,SAAS,aAAa,KAAK,gBAAgB;AAAA,MAClD,KAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,IACrD;AAAA,IAGA,IAAI,KAAK,SAAS,aAAa,KAAK,mBAAmB,IAAI;AAAA,MACzD,KAAK,QAAQ,OAAO,cAAc;AAAA,IACpC;AAAA,IAEA,MAAM,MAAM,SAAS,IAAI;AAAA,IAEzB,OAAO,EAAE,MAAM,IAAI;AAAA;AAAA,EAGrB,MAAM,UAA6B,OAAO,YAAY;AAAA,IAEpD,QAAQ,MAAM,QAAQ,MAAM,cAAc,OAAO;AAAA,IACjD,MAAM,cAAuB;AAAA,MAC3B,UAAU;AAAA,SACP;AAAA,MACH,MAAM,oBAAoB,IAAI;AAAA,IAChC;AAAA,IAEA,IAAI,WAAU,IAAI,QAAQ,KAAK,WAAW;AAAA,IAE1C,WAAW,MAAM,aAAa,QAAQ,KAAK;AAAA,MACzC,IAAI,IAAI;AAAA,QACN,WAAU,MAAM,GAAG,UAAS,IAAI;AAAA,MAClC;AAAA,IACF;AAAA,IAIA,MAAM,SAAS,KAAK;AAAA,IACpB,IAAI;AAAA,IAEJ,IAAI;AAAA,MACF,WAAW,MAAM,OAAO,QAAO;AAAA,MAC/B,OAAO,QAAO;AAAA,MAEd,IAAI,cAAa;AAAA,MAEjB,WAAW,MAAM,aAAa,MAAM,KAAK;AAAA,QACvC,IAAI,IAAI;AAAA,UACN,cAAc,MAAM,GAAG,QAAO,WAAkB,UAAS,IAAI;AAAA,QAC/D;AAAA,MACF;AAAA,MAEA,cAAa,eAAe,CAAC;AAAA,MAE7B,IAAI,KAAK,cAAc;AAAA,QACrB,MAAM;AAAA,MACR;AAAA,MAGA,OAAO,KAAK,kBAAkB,SAC1B,YACA;AAAA,QACE,OAAO;AAAA,QACP;AAAA,QACA,UAAU;AAAA,MACZ;AAAA;AAAA,IAGN,WAAW,MAAM,aAAa,SAAS,KAAK;AAAA,MAC1C,IAAI,IAAI;AAAA,QACN,WAAW,MAAM,GAAG,UAAU,UAAS,IAAI;AAAA,MAC7C;AAAA,IACF;AAAA,IAEA,MAAM,SAAS;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IAEA,IAAI,SAAS,IAAI;AAAA,MACf,MAAM,WACH,KAAK,YAAY,SACd,WAAW,SAAS,QAAQ,IAAI,cAAc,CAAC,IAC/C,KAAK,YAAY;AAAA,MAEvB,IAAI,SAAS,WAAW,OAAO,SAAS,QAAQ,IAAI,gBAAgB,MAAM,KAAK;AAAA,QAC7E,IAAI;AAAA,QACJ,QAAQ;AAAA,eACD;AAAA,eACA;AAAA,eACA;AAAA,YACH,YAAY,MAAM,SAAS,SAAS;AAAA,YACpC;AAAA,eACG;AAAA,YACH,YAAY,IAAI;AAAA,YAChB;AAAA,eACG;AAAA,YACH,YAAY,SAAS;AAAA,YACrB;AAAA,eACG;AAAA;AAAA,YAEH,YAAY,CAAC;AAAA,YACb;AAAA;AAAA,QAEJ,OAAO,KAAK,kBAAkB,SAC1B,YACA;AAAA,UACE,MAAM;AAAA,aACH;AAAA,QACL;AAAA,MACN;AAAA,MAEA,IAAI;AAAA,MACJ,QAAQ;AAAA,aACD;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,UACH,OAAO,MAAM,SAAS,SAAS;AAAA,UAC/B;AAAA,aACG,QAAQ;AAAA,UAGX,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,UACjC,OAAO,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAAA,UAClC;AAAA,QACF;AAAA,aACK;AAAA,UACH,OAAO,KAAK,kBAAkB,SAC1B,SAAS,OACT;AAAA,YACE,MAAM,SAAS;AAAA,eACZ;AAAA,UACL;AAAA;AAAA,MAGR,IAAI,YAAY,QAAQ;AAAA,QACtB,IAAI,KAAK,mBAAmB;AAAA,UAC1B,MAAM,KAAK,kBAAkB,IAAI;AAAA,QACnC;AAAA,QAEA,IAAI,KAAK,qBAAqB;AAAA,UAC5B,OAAO,MAAM,KAAK,oBAAoB,IAAI;AAAA,QAC5C;AAAA,MACF;AAAA,MAEA,OAAO,KAAK,kBAAkB,SAC1B,OACA;AAAA,QACE;AAAA,WACG;AAAA,MACL;AAAA,IACN;AAAA,IAEA,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,IACtC,IAAI;AAAA,IAEJ,IAAI;AAAA,MACF,YAAY,KAAK,MAAM,SAAS;AAAA,MAChC,MAAM;AAAA,IAIR,MAAM,QAAQ,aAAa;AAAA,IAC3B,IAAI,aAAa;AAAA,IAEjB,WAAW,MAAM,aAAa,MAAM,KAAK;AAAA,MACvC,IAAI,IAAI;AAAA,QACN,aAAc,MAAM,GAAG,OAAO,UAAU,UAAS,IAAI;AAAA,MACvD;AAAA,IACF;AAAA,IAEA,aAAa,cAAe,CAAC;AAAA,IAE7B,IAAI,KAAK,cAAc;AAAA,MACrB,MAAM;AAAA,IACR;AAAA,IAGA,OAAO,KAAK,kBAAkB,SAC1B,YACA;AAAA,MACE,OAAO;AAAA,SACJ;AAAA,IACL;AAAA;AAAA,EAGN,MAAM,eAAe,CAAC,WAAkC,CAAC,YACvD,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,EAEhC,MAAM,YAAY,CAAC,WAAkC,OAAO,YAA4B;AAAA,IACtF,QAAQ,MAAM,QAAQ,MAAM,cAAc,OAAO;AAAA,IACjD,OAAO,gBAAgB;AAAA,SAClB;AAAA,MACH,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd;AAAA,MACA,WAAW,OAAO,MAAK,SAAS;AAAA,QAC9B,IAAI,WAAU,IAAI,QAAQ,MAAK,IAAI;AAAA,QACnC,WAAW,MAAM,aAAa,QAAQ,KAAK;AAAA,UACzC,IAAI,IAAI;AAAA,YACN,WAAU,MAAM,GAAG,UAAS,IAAI;AAAA,UAClC;AAAA,QACF;AAAA,QACA,OAAO;AAAA;AAAA,MAET,gBAAgB,oBAAoB,IAAI;AAAA,MACxC;AAAA,IACF,CAAC;AAAA;AAAA,EAGH,OAAO;AAAA,IACL;AAAA,IACA,SAAS,aAAa,SAAS;AAAA,IAC/B,QAAQ,aAAa,QAAQ;AAAA,IAC7B,KAAK,aAAa,KAAK;AAAA,IACvB;AAAA,IACA,MAAM,aAAa,MAAM;AAAA,IACzB;AAAA,IACA,SAAS,aAAa,SAAS;AAAA,IAC/B,OAAO,aAAa,OAAO;AAAA,IAC3B,MAAM,aAAa,MAAM;AAAA,IACzB,KAAK,aAAa,KAAK;AAAA,IACvB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,MACH,SAAS,UAAU,SAAS;AAAA,MAC5B,QAAQ,UAAU,QAAQ;AAAA,MAC1B,KAAK,UAAU,KAAK;AAAA,MACpB,MAAM,UAAU,MAAM;AAAA,MACtB,SAAS,UAAU,SAAS;AAAA,MAC5B,OAAO,UAAU,OAAO;AAAA,MACxB,MAAM,UAAU,MAAM;AAAA,MACtB,KAAK,UAAU,KAAK;AAAA,MACpB,OAAO,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA,OAAO,aAAa,OAAO;AAAA,EAC7B;AAAA;;ACrRF,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AAExB,IAAM,uBAAsC;AAAA,EAC1C,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS,CAAC;AACZ;AAEA,IAAM,gBAAe,CAAC,aAA8D;AAAA,KAC/E;AACL;AAEA,IAAM,mBAAmB,CAAC,cAAqC;AAAA,EAC7D,MAAM,UAAU,aAAa;AAAA,EAE7B,OAAQ,OAAO,OAA0B,SAAuB;AAAA,IAC9D,IAAI,OAAO,gBAAgB,eAAe,OAAO,YAAY,YAAY,YAAY;AAAA,MACnF,MAAM,gBAAgB,YAAY,QAAQ,OAAO;AAAA,MACjD,IAAI,CAAC,MAAM,QAAQ;AAAA,QACjB,OAAO,MAAM,OAAO,KAAK,MAAM,QAAQ,cAAc,CAAC;AAAA,MACxD;AAAA,MACA,MAAM,cAAa,IAAI;AAAA,MACvB,MAAM,QAAQ,MAAM,YAAW,MAAM;AAAA,MACrC,cAAc,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;AAAA,MAC7D,KAAK,OAAO,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;AAAA,MAC3D,MAAM,UAAS,YAAW;AAAA,MAC1B,OAAO,MAAM,OAAO,KAAK,MAAM,gBAAO,CAAC;AAAA,IACzC;AAAA,IAEA,MAAM,aAAa,IAAI;AAAA,IACvB,MAAM,QAAQ,WAAW,MAAM,WAAW,MAAM,GAAG,OAAO;AAAA,IAC1D,MAAM,QAAQ,iBAAiB,SAAS,MAAM,WAAW,MAAM,GAAG,EAAE,MAAM,KAAK,CAAC;AAAA,IAChF,MAAM,SAAS,WAAW;AAAA,IAC1B,IAAI;AAAA,MACF,OAAO,MAAM,MAAM,OAAO,KAAK,MAAM,OAAO,CAAC;AAAA,cAC7C;AAAA,MACA,aAAa,KAAK;AAAA;AAAA;AAAA;AAKxB,IAAM,iBAAiB,CAAC,YAAkD;AAAA,EACxE,SAAS,OAAO,WAAW;AAAA,EAC3B,OAAO,iBAAiB,OAAO,OAAO;AAAA,EACtC,SAAS;AAAA,OACJ,cAAa,OAAO,OAAO;AAAA,OAC1B,OAAO,SAAS,EAAE,aAAa,OAAO,OAAO,IAAI,CAAC;AAAA,EACxD;AACF;AAEO,IAAM,mBAAmB,CAAC,WAAiD;AAAA,EAChF,OAAO,eAAe;AAAA,OACjB;AAAA,OACA;AAAA,IACH,SAAS;AAAA,SACJ,qBAAqB;AAAA,SACrB,cAAa,OAAO,OAAO;AAAA,IAChC;AAAA,EACF,CAAC;AAAA;AAGI,IAAM,qBAAqB,CAChC,WAAsC,CAAC,OAEtC;AAAA,KACI,eAAe,oBAAoB;AAAA,KACnC;AAAA,EACH,SAAS;AAAA,OACJ,eAAe,oBAAoB,EAAE;AAAA,OACpC,SAAS,WAAW,CAAC;AAAA,EAC3B;AACF;;;AClFK,MAAM,yBAAyB,MAAM;AAAA,EAC1C,WAAW,CAAC,SAAiB;AAAA,IAC3B,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,OAAO,eAAe,MAAM,iBAAiB,SAAS;AAAA;AAE1D;AAAA;AAEO,MAAM,iBAAiB,iBAAiB;AAAA,EAEpC;AAAA,EACA;AAAA,EAFT,WAAW,CACF,QACA,MACP,SACA;AAAA,IACA,MAAM,WAAW,kCAAkC,QAAQ;AAAA,IAJpD;AAAA,IACA;AAAA,IAIP,KAAK,OAAO;AAAA,IACZ,OAAO,eAAe,MAAM,SAAS,SAAS;AAAA;AAElD;AAAA;AAEO,MAAM,qBAAqB,iBAAiB;AAAA,EACb;AAAA,EAApC,WAAW,CAAC,SAAwB,OAAe;AAAA,IACjD,MAAM,OAAO;AAAA,IADqB;AAAA,IAElC,KAAK,OAAO;AAAA,IACZ,OAAO,eAAe,MAAM,aAAa,SAAS;AAAA;AAEtD;AAAA;AAEO,MAAM,wBAAwB,iBAAiB;AAAA,EAChB;AAAA,EAApC,WAAW,CAAC,SAAwB,QAAiC;AAAA,IACnE,MAAM,OAAO;AAAA,IADqB;AAAA,IAElC,KAAK,OAAO;AAAA,IACZ,OAAO,eAAe,MAAM,gBAAgB,SAAS;AAAA;AAEzD;AAAA;AAEO,MAAM,qBAAqB,iBAAiB;AAAA,EACjD,WAAW,CAAC,UAAkB,mBAAmB;AAAA,IAC/C,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,OAAO,eAAe,MAAM,aAAa,SAAS;AAAA;AAEtD;;;ACjCA,IAAM,uBAAuB,CAAC,UAC5B,OAAO,UAAU,YAAY,UAAU,UAAS,YAAY,WAAS,UAAU;AAEjF,IAAM,6BAA6B,CAAI,UACrC,OAAO,UAAU,YAAY,UAAU,SAAQ,UAAU;AAEpD,IAAM,oBAAoB,CAAC,UAA0B;AAAA,EAC1D,IAAI,iBAAiB,OAAO;AAAA,IAC1B,IAAI,MAAM,SAAS,gBAAgB,MAAM,SAAS,gBAAgB;AAAA,MAChE,MAAM,IAAI,aAAa,iBAAiB;AAAA,IAC1C;AAAA,IACA,MAAM,IAAI,aAAa,MAAM,SAAS,KAAK;AAAA,EAC7C;AAAA,EAEA,IAAI,qBAAqB,KAAK,GAAG;AAAA,IAC/B,MAAM,IAAI,SAAS,MAAM,UAAU,KAAK,MAAM,QAAQ,KAAK;AAAA,EAC7D;AAAA,EAEA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,MAAM,IAAI,SAAS,KAAK,EAAE,SAAS,MAAM,GAAG,KAAK;AAAA,EACnD;AAAA,EAEA,MAAM,IAAI,SAAS,KAAK,OAAO,sBAAsB;AAAA;AAGhD,IAAM,mBAAmB,OAC9B,cACe;AAAA,EACf,IAAI;AAAA,IACF,MAAM,SAAU,MAAM;AAAA,IACtB,OAAO,2BAA2B,MAAM,IAAI,OAAO,OAAO;AAAA,IAC1D,OAAO,OAAO;AAAA,IACd,OAAO,kBAAkB,KAAK;AAAA;AAAA;;;ACvC3B,SAAS,oBAAoB,CAAC,QAAmD;AAAA,EACtF,IAAI,CAAC;AAAA,IAAQ,OAAO,CAAC;AAAA,EAErB,MAAM,QAAgC,CAAC;AAAA,EAEvC,IAAI,OAAO,SAAS,WAAW;AAAA,IAC7B,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,EACpC;AAAA,EAEA,IAAI,OAAO,UAAU,WAAW;AAAA,IAC9B,MAAM,QAAQ,OAAO,MAAM,SAAS;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS;AAAA,IAClB,MAAM,UAAU,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,OAAO,UAAU;AAAA,IACnB,MAAM,WAAW,OAAO;AAAA,EAC1B;AAAA,EAEA,IAAI,OAAO,QAAQ;AAAA,IACjB,MAAM,SAAS,OAAO;AAAA,EACxB;AAAA,EAEA,OAAO;AAAA;;;ACVF,IAAM,SAAS,aAAa,mBAAmB,aAA6B,CAAC,CAAC;;;ACM9E,IAAM,iBAAiB,CAAuC,aAAwD,QAAQ,UAAU,QAAQ,IAAiE,EAAE,KAAK,sBAAsB,QAAQ,CAAC;AAKvP,IAAM,oBAAoB,CAAuC,aAA2D,QAAQ,UAAU,QAAQ,IAAuE,EAAE,KAAK,8BAA8B,QAAQ,CAAC;AAK3Q,IAAM,aAAa,CAAuC,aAAoD,QAAQ,UAAU,QAAQ,IAAyD,EAAE,KAAK,+BAA+B,QAAQ,CAAC;AAKhP,IAAM,eAAe,CAAuC,aAAsD,QAAQ,UAAU,QAAQ,KAA8D;AAAA,EAC7M,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,eAAe,CAAuC,aAAsD,QAAQ,UAAU,QAAQ,OAAgE,EAAE,KAAK,0CAA0C,QAAQ,CAAC;AAKtQ,IAAM,eAAe,CAAuC,aAAsD,QAAQ,UAAU,QAAQ,MAA+D;AAAA,EAC9M,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,UAAU,CAAuC,aAAiD,QAAQ,UAAU,QAAQ,IAAmD,EAAE,KAAK,oBAAoB,QAAQ,CAAC;AAKzN,IAAM,SAAS,CAAuC,aAAgD,QAAQ,UAAU,QAAQ,KAAkD;AAAA,EACrL,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,SAAS,CAAuC,aAAgD,QAAQ,UAAU,QAAQ,OAAoD,EAAE,KAAK,6BAA6B,QAAQ,CAAC;AAKjO,IAAM,UAAU,CAAuC,aAAiD,QAAQ,UAAU,QAAQ,IAAmD,EAAE,KAAK,6BAA6B,QAAQ,CAAC;AAKlO,IAAM,SAAS,CAAuC,aAAgD,QAAQ,UAAU,QAAQ,MAAmD;AAAA,EACtL,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,gBAAgB,CAAuC,aAAuD,QAAQ,UAAU,QAAQ,IAA+D,EAAE,KAAK,wCAAwC,QAAQ,CAAC;AAKrQ,IAAM,eAAe,CAAuC,aAAsD,QAAQ,UAAU,QAAQ,KAA8D;AAAA,EAC7M,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,oBAAoB,CAAuC,aAA2D,QAAQ,UAAU,QAAQ,KAAwE;AAAA,EACjO,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,kBAAkB,CAAuC,aAAyD,QAAQ,UAAU,QAAQ,OAAsE,EAAE,KAAK,sDAAsD,QAAQ,CAAC;AAK9R,IAAM,iBAAiB,CAAuC,aAAwD,QAAQ,UAAU,QAAQ,KAAkE;AAAA,KAClN;AAAA,EACH,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,yBAAyB,CAAuC,aAAgE,QAAQ,UAAU,QAAQ,KAAkF;AAAA,EACrP,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,wBAAwB,CAAuC,aAA+D,QAAQ,UAAU,QAAQ,KAAgF;AAAA,EACjP,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAOM,IAAM,aAAa,CAAuC,aAAoD,QAAQ,UAAU,QAAQ,KAA0D;AAAA,EACrM,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,WAAW,CAAuC,aAAkD,QAAQ,UAAU,QAAQ,IAAqD,EAAE,KAAK,4BAA4B,QAAQ,CAAC;AAOrO,IAAM,UAAU,CAAuC,aAAiD,QAAQ,UAAU,QAAQ,KAAoD;AAAA,EACzL,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,WAAW,CAAuC,aAAkD,QAAQ,UAAU,QAAQ,IAAqD,EAAE,KAAK,iCAAiC,QAAQ,CAAC;AAO1O,IAAM,UAAU,CAAuC,aAAiD,QAAQ,UAAU,QAAQ,MAAqD;AAAA,EAC1L,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAOM,IAAM,mBAAmB,CAAuC,aAA0D,QAAQ,UAAU,QAAQ,MAAuE;AAAA,EAC9N,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAOM,IAAM,sBAAsB,CAAuC,aAA6D,QAAQ,UAAU,QAAQ,KAA4E;AAAA,EACzO,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,kBAAkB,CAAuC,aAAyD,QAAQ,UAAU,QAAQ,IAAmE,EAAE,KAAK,8CAA8C,QAAQ,CAAC;AAKnR,IAAM,WAAW,CAAuC,aAAkD,QAAQ,UAAU,QAAQ,IAAqD,EAAE,KAAK,uCAAuC,QAAQ,CAAC;AAKhP,IAAM,SAAS,CAAuC,aAAgD,QAAQ,UAAU,QAAQ,KAAkD,EAAE,KAAK,wCAAwC,QAAQ,CAAC;AAO1O,IAAM,qBAAqB,CAAuC,aAA4D,QAAQ,UAAU,QAAQ,KAA0E;AAAA,EACrO,KAAK;AAAA,KACF;AAAA,EACH,SAAS;AAAA,IACL,gBAAgB;AAAA,OACb,QAAQ;AAAA,EACf;AACJ,CAAC;AAKM,IAAM,oCAAoC,CAAuC,aAA2E,QAAQ,UAAU,QAAQ,IAAuG,EAAE,KAAK,kDAAkD,QAAQ,CAAC;AAK/V,IAAM,YAAY,CAAuC,aAAmD,QAAQ,UAAU,QAAQ,IAAuD,EAAE,KAAK,8BAA8B,QAAQ,CAAC;AAK3O,IAAM,WAAW,CAAuC,aAAkD,QAAQ,UAAU,QAAQ,IAAqD,EAAE,KAAK,wCAAwC,QAAQ,CAAC;AAKjP,IAAM,YAAY,CAAuC,aAAmD,QAAQ,UAAU,QAAQ,IAAuD,EAAE,KAAK,8BAA8B,QAAQ,CAAC;AAK3O,IAAM,eAAe,CAAuC,aAAsD,QAAQ,UAAU,QAAQ,IAA6D,EAAE,KAAK,qCAAqC,QAAQ,CAAC;AAK9P,IAAM,WAAW,CAAuC,aAAkD,QAAQ,UAAU,QAAQ,IAAqD,EAAE,KAAK,kDAAkD,QAAQ,CAAC;;AC9S3P,SAAS,UAAa,CAAC,QAAoB;AAAA,EAChD,MAAM,MAAM;AAAA,EACZ,IAAI,KAAK,QAAQ;AAAA,IAAM,OAAO,IAAI;AAAA,EAClC,OAAO;AAAA;AAIF,SAAS,kBAAkB,CAAC,QAA+B;AAAA,EAChE,MAAM,MAAM;AAAA,EAIZ,IAAI,KAAK,MAAM,gBAAgB;AAAA,IAAM,OAAO,IAAI,KAAK;AAAA,EACrD,IAAI,KAAK,gBAAgB;AAAA,IAAM,OAAO,IAAI;AAAA,EAC1C,OAAO;AAAA;AAIF,SAAS,sBAAsB,CAAC,QAAmC;AAAA,EACxE,MAAM,MAAM;AAAA,EAGZ,IAAI,KAAK,QAAQ;AAAA,IAAM,OAAO,IAAI;AAAA,EAClC,OAAO;AAAA;AAIF,SAAS,sBAAsB,CACpC,QACe;AAAA,EACf,IAAI,QAAQ,QAAQ,MAAM;AAAA,IACxB,MAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AAAA,EACA,OAAO,OAAO;AAAA;AAIT,SAAS,0BAA6B,CAC3C,QACA,MACA,OACsB;AAAA,EACtB,MAAM,MAAM;AAAA,EAIZ,IAAI,UAAU,OAAO,IAAI,QAAQ,QAAQ,MAAM,QAAQ,IAAI,IAAI,GAAG;AAAA,IAChE,OAAO;AAAA,EACT;AAAA,EACA,MAAM,QACJ,IAAI,QAAQ,OAAO,IAAI,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,OACjF,IAAI,OACL,MAAM,QAAQ,IAAI,IAAI,IACnB,MACD;AAAA,EACR,MAAM,QAAQ,SAAS,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC;AAAA,EACjE,MAAM,QAAQ,SAAS,OAAO,MAAM,UAAU,WAAW,MAAM,QAAQ,MAAM;AAAA,EAC7E,MAAM,eAAe,SAAS,OAAO,MAAM,SAAS,WAAW,MAAM,OAAO;AAAA,EAC5E,MAAM,gBAAgB,SAAS,OAAO,MAAM,UAAU,WAAW,MAAM,QAAQ;AAAA,EAC/E,MAAM,qBACJ,SAAS,OAAO,MAAM,eAAe,WACjC,MAAM,aACN,KAAK,KAAK,QAAQ,aAAa,KAAK;AAAA,EAC1C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,YAAY;AAAA,IACd;AAAA,EACF;AAAA;;;ACxCK,MAAM,qBAAqB;AAAA,EAEb;AAAA,EACA;AAAA,EAFnB,WAAW,CACQ,SACA,SACjB;AAAA,IAFiB;AAAA,IACA;AAAA;AAAA,OAGb,WAAU,CAAC,SAAyD;AAAA,IACxE,MAAM,SAAS,MAAM,KAAK,mBAAmB,OAAO;AAAA,IACpD,OAAO,mBAAmB,MAAM;AAAA;AAAA,OAG5B,mBAAkB,CAAC,SAA6D;AAAA,IACpF,MAAM,SAAS,MAAM,iBACnB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,uBAAuB,MAAM;AAAA;AAAA,OAGhC,YAAW,CAAC,SAA2D;AAAA,IAC3E,MAAM,SAAS,MAAM,iBACnB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAAA,OAGlC,YAAW,CAAC,IAAY,SAA2D;AAAA,IACvF,MAAM,SAAS,MAAM,iBACnB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAAA,OAGlC,kBAAiB,CACrB,IACA,SACuB;AAAA,IACvB,MAAM,SAAS,MAAM,iBACnB,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAAA,OAGlC,QAAO,CAAC,IAAY,SAA4D;AAAA,IACpF,MAAM,SAAS,MAAM,iBACnB,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAAA,OAGlC,mBAAkB,CAAC,SAA2D;AAAA,IAClF,MAAM,SAAS,MAAM,iBACnB,mBAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAAA,OAGrC,kCAAiC,CAAC,IAAsC;AAAA,IAC5E,MAAM,SAAS,MAAM,iBACnB,kCAA2C;AAAA,MACzC,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAAA,OAGrC,KAAI,CAAC,QAA6E;AAAA,IACtF,MAAM,QAAQ,qBAAqB,MAAM;AAAA,IACzC,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC/B,MAAM,SAAS,MAAM,iBAkBnB,SAAS;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,2BACL,WAMG,MAAM,GACT,MACA,KACF;AAAA;AAAA,OAGI,IAAG,CAAC,IAAmC;AAAA,IAC3C,MAAM,SAAS,MAAM,iBACnB,SAAS;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAAA,OAGlC,gBAAe,CACnB,IACA,QACqD;AAAA,IACrD,MAAM,QAAQ,qBAAqB,MAAM;AAAA,IACzC,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC/B,MAAM,SAAS,MAAM,iBAkBnB,gBAAgB;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,2BACL,WAMG,MAAM,GACT,MACA,KACF;AAAA;AAAA,OAGI,SAAQ,CAAC,IAAwC;AAAA,IACrD,MAAM,SAAS,MAAM,iBACnB,SAAS;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA8B,MAAM;AAAA;AAAA,OAGvC,OAAM,CAAC,IAAmC;AAAA,IAC9C,MAAM,SAAS,MAAM,iBACnB,OAAO;AAAA,MACL,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,GAAG;AAAA,MACX,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyB,MAAM;AAAA;AAE1C;;;AC/NA,IAAM,uBAAuB,CAAC,SAAkC;AAAA,EAC9D,MAAM,WAAW,IAAI;AAAA,EACrB,IAAI,gBAAgB,QAAQ;AAAA,IAC1B,SAAS,OAAO,QAAQ,IAAI,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,GAAG,YAAY;AAAA,IACtE,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,cAAc;AAAA,EACpB,SAAS,OAAO,QAAQ,aAAa,YAAY,IAAI;AAAA,EACrD,OAAO;AAAA;AAAA;AAGF,MAAM,aAAa;AAAA,EAEL;AAAA,EACA;AAAA,EAFnB,WAAW,CACQ,SACA,SACjB;AAAA,IAFiB;AAAA,IACA;AAAA;AAAA,OAGb,KAAI,CAAC,QAAsE;AAAA,IAC/E,MAAM,QAAQ,qBAAqB,MAAM;AAAA,IACzC,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC/B,MAAM,SAAS,MAAM,iBAkBnB,QAAQ;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,2BACL,WAMG,MAAM,GACT,MACA,KACF;AAAA;AAAA,OAGI,OAAM,CAAC,SAA6D;AAAA,IACxE,MAAM,SAAS,MAAM,iBACnB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA0B,MAAM;AAAA;AAAA,OAGnC,IAAG,CAAC,QAAwC;AAAA,IAChD,MAAM,SAAS,MAAM,iBACnB,QAAQ;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA0B,MAAM;AAAA;AAAA,OAGnC,OAAM,CAAC,QAAgB,SAA6D;AAAA,IACxF,MAAM,SAAS,MAAM,iBACnB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA0B,MAAM;AAAA;AAAA,OAGnC,OAAM,CAAC,QAA+B;AAAA,IAC1C,MAAM,KAAK,eAAe,MAAM;AAAA;AAAA,OAG5B,eAAc,CAAC,QAA0C;AAAA,IAC7D,MAAM,SAAS,MAAM,iBACnB,OAAO;AAAA,MACL,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAAA,OAGrC,cAAa,CACjB,QACA,QACsC;AAAA,IACtC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,IACzC,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,MAAM,QAAQ,QAAQ,SAAS;AAAA,IAC/B,MAAM,SAAS,MAAM,iBAkBnB,cAAc;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,2BACL,WAMG,MAAM,GACT,MACA,KACF;AAAA;AAAA,OAGI,aAAY,CAAC,QAAgB,SAA2D;AAAA,IAC5F,MAAM,SAAS,MAAM,iBACnB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA+B,MAAM;AAAA;AAAA,OAGxC,kBAAiB,CACrB,QACA,SACkC;AAAA,IAClC,MAAM,SAAS,MAAM,iBAGnB,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,OAAO;AAAA,MACf,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAoC,MAAM;AAAA;AAAA,OAG7C,gBAAe,CAAC,QAAgB,aAAoC;AAAA,IACxE,MAAM,KAAK,wBAAwB,QAAQ,WAAW;AAAA;AAAA,OAGlD,wBAAuB,CAC3B,QACA,aAC0B;AAAA,IAC1B,MAAM,SAAS,MAAM,iBACnB,gBAAgB;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,QAAQ,YAAY;AAAA,MAC5B,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAAA,OAQrC,cAAa,CAAC,QAAgB,MAAkD;AAAA,IACpF,IAAI,CAAC,MAAM;AAAA,MACT,MAAM,IAAI,MAAM,iCAAiC;AAAA,IACnD;AAAA,IACA,MAAM,WAAW,qBAAqB,IAAI;AAAA,IAC1C,MAAM,SAAS,MAAM,iBACnB,eAAe;AAAA,MACb,MAAM,EAAE,OAAO;AAAA,MACf,MAAM;AAAA,MACN,gBAAgB,CAAC,MAAM;AAAA,MACvB,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA+B,MAAM;AAAA;AAAA,OAGxC,uBAAsB,CAAC,SAAgE;AAAA,IAC3F,MAAM,SAAS,MAAM,KAAK,+BAA+B,OAAO;AAAA,IAChE,OAAO,uBAAuB,MAAM;AAAA;AAAA,OAGhC,+BAA8B,CAClC,SACuC;AAAA,IACvC,MAAM,SAAS,MAAM,iBAGnB,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyC,MAAM;AAAA;AAAA,OAGlD,sBAAqB,CAAC,SAA+D;AAAA,IACzF,MAAM,SAAS,MAAM,KAAK,8BAA8B,OAAO;AAAA,IAC/D,OAAO,uBAAuB,MAAM;AAAA;AAAA,OAGhC,8BAA6B,CACjC,SACuC;AAAA,IACvC,MAAM,SAAS,MAAM,iBAGnB,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAyC,MAAM;AAAA;AAE1D;;;ACrSO,MAAM,eAAe;AAAA,EAEP;AAAA,EACA;AAAA,EAFnB,WAAW,CACQ,SACA,SACjB;AAAA,IAFiB;AAAA,IACA;AAAA;AAAA,OAGb,QAAO,GAAqB;AAAA,IAChC,MAAM,SAAS,MAAM,iBACnB,eAAe;AAAA,MACb,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAoB,MAAM;AAAA;AAAA,OAG7B,WAAU,GAA6B;AAAA,IAC3C,MAAM,SAAS,MAAM,iBACnB,kBAAkB;AAAA,MAChB,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAAA,OAGrC,YAAW,GAAsB;AAAA,IACrC,MAAM,SAAS,MAAM,iBACnB,WAAW;AAAA,MACT,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAqB,MAAM;AAAA;AAAA,OAG9B,aAAY,CAAC,SAA2D;AAAA,IAC5E,MAAM,SAAS,MAAM,iBAGnB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA+B,MAAM;AAAA;AAAA,OAGxC,aAAY,CAAC,UAAkB,SAA+C;AAAA,IAClF,MAAM,SAAS,MAAM,iBACnB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,SAAS;AAAA,MACjB,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAAmB,MAAM;AAAA;AAAA,OAG5B,aAAY,CAAC,UAAiC;AAAA,IAClD,MAAM,KAAK,qBAAqB,QAAQ;AAAA;AAAA,OAGpC,qBAAoB,CAAC,UAA4C;AAAA,IACrE,MAAM,SAAS,MAAM,iBACnB,aAAa;AAAA,MACX,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,SAAS;AAAA,MACjB,cAAc;AAAA,IAChB,CAAC,CACH;AAAA,IACA,OAAO,WAA4B,MAAM;AAAA;AAE7C;;;ACpGO,SAAS,uBAAuB,CAAC,SAA0B;AAAA,EAChE,OAAO,sBAAsB,KAAK,OAAO;AAAA;AAGpC,SAAS,sBAAsB,CAAC,OAAiC;AAAA,EACtE,MAAM,MAAM,OAAO,UAAU,WAAW,WAAW,KAAK,IAAI;AAAA,EAC5D,OAAO,CAAC,MAAM,GAAG,KAAK,MAAM;AAAA;AAGvB,SAAS,eAAe,CAAC,SAAuB;AAAA,EACrD,IAAI,CAAC,OAAO,UAAU,OAAO,KAAK,WAAW,GAAG;AAAA,IAC9C,MAAM,IAAI,gBAAgB,qCAAqC;AAAA,EACjE;AAAA;AAGK,SAAS,kBAAkB,CAAC,YAAsC;AAAA,EACvE,IAAI,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,WAAW,GAAG;AAAA,IACzD,MAAM,IAAI,gBAAgB,sCAAsC;AAAA,EAClE;AAAA,EAEA,SAAS,IAAI,EAAG,IAAI,WAAW,QAAQ,KAAK;AAAA,IAC1C,OAAO,SAAS,UAAU,WAAW;AAAA,IAErC,IAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAAA,MAC3C,MAAM,IAAI,gBAAgB,4BAA4B,GAAG;AAAA,IAC3D;AAAA,IAEA,IAAI,CAAC,wBAAwB,OAAO,GAAG;AAAA,MACrC,MAAM,IAAI,gBAAgB,qCAAqC,MAAM,SAAS;AAAA,IAChF;AAAA,IAEA,IAAI,CAAC,uBAAuB,MAAM,GAAG;AAAA,MACnC,MAAM,IAAI,gBAAgB,2BAA2B,MAAM,QAAQ;AAAA,IACrE;AAAA,EACF;AAAA;AAGK,SAAS,oBAAoB,CAAC,SAAuB;AAAA,EAC1D,IAAI,CAAC,wBAAwB,OAAO,GAAG;AAAA,IACrC,MAAM,IAAI,gBAAgB,0BAA0B,SAAS;AAAA,EAC/D;AAAA;AAGK,SAAS,cAAc,CAAC,QAAsB;AAAA,EACnD,IAAI,CAAC,UAAU,OAAO,KAAK,EAAE,SAAS,IAAI;AAAA,IACxC,MAAM,IAAI,gBAAgB,wBAAwB;AAAA,EACpD;AAAA;;;AC1CK,MAAM,gBAAgB;AAAA,EAER;AAAA,EACA;AAAA,EAFnB,WAAW,CACQ,SACA,SACjB;AAAA,IAFiB;AAAA,IACA;AAAA;AAAA,OAGb,UAAS,GAAqB;AAAA,IAClC,OAAO,iBACL,UAAU;AAAA,MACR,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,cAAc;AAAA,IAChB,CAAC,CACH;AAAA;AAAA,OAGI,SAAQ,CAAC,SAAiC;AAAA,IAC9C,MAAM,gBAAgB,OAAO,OAAO;AAAA,IACpC,gBAAgB,aAAa;AAAA,IAC7B,OAAO,iBACL,SAAS;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,SAAS,cAAc;AAAA,MAC/B,cAAc;AAAA,IAChB,CAAC,CACH;AAAA;AAAA,OAGI,UAAS,CAAC,SAAoC;AAAA,IAClD,MAAM,gBAAgB,YAAY,YAAY,OAAO,OAAO,IAAI;AAAA,IAChE,IAAI,kBAAkB;AAAA,MAAW,gBAAgB,aAAa;AAAA,IAC9D,OAAO,iBACL,UAAU;AAAA,MACR,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,OAAO,kBAAkB,YAAY,EAAE,SAAS,cAAc,IAAI;AAAA,MAClE,cAAc;AAAA,IAChB,CAAC,CACH;AAAA;AAAA,OAGI,SAAQ,CAAC,SAAiB,SAAiC;AAAA,IAC/D,MAAM,gBAAgB,OAAO,OAAO;AAAA,IACpC,gBAAgB,aAAa;AAAA,IAC7B,OAAO,iBACL,SAAS;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,MAAM,EAAE,SAAS,SAAS,cAAc;AAAA,MACxC,cAAc;AAAA,IAChB,CAAC,CACH;AAAA;AAAA,OAGI,aAAY,CAAC,QAAgB,SAAoC;AAAA,IACrE,MAAM,gBAAgB,YAAY,YAAY,OAAO,OAAO,IAAI;AAAA,IAChE,IAAI,kBAAkB;AAAA,MAAW,gBAAgB,aAAa;AAAA,IAC9D,OAAO,iBACL,aAAa;AAAA,MACX,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,OAAO;AAAA,QACL;AAAA,WACI,kBAAkB,YAAY,EAAE,SAAS,cAAc,IAAI,CAAC;AAAA,MAClE;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,CACH;AAAA;AAEJ;;;ACpCO,MAAM,YAAY;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EAEjB,WAAW,CAAC,QAA2B;AAAA,IACrC,eAAe,OAAO,MAAM;AAAA,IAE5B,MAAM,iBAAiB;AAAA,MACrB,SAAS,OAAO,WAAW;AAAA,MAC3B,QAAQ,OAAO;AAAA,MACf,SAAS,OAAO;AAAA,MAChB,SAAS,OAAO;AAAA,IAClB;AAAA,IAEA,KAAK,SAAS,aAAa,iBAAiB,cAAc,CAAC;AAAA,IAC3D,KAAK,cAAc,EAAE,aAAa,OAAO,OAAO;AAAA,IAEhD,KAAK,OAAO,aAAa,MAAM,IAAI,CAAC,OAAO,aAAa;AAAA,MACtD,IAAI,CAAC,UAAU;AAAA,QACb,OAAO;AAAA,MACT;AAAA,MAEA,OAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ,SAAS;AAAA,MACnB;AAAA,KACD;AAAA,IAED,KAAK,gBAAgB,IAAI,qBAAqB,KAAK,aAAa,KAAK,MAAM;AAAA,IAC3E,KAAK,QAAQ,IAAI,aAAa,KAAK,aAAa,KAAK,MAAM;AAAA,IAC3D,KAAK,UAAU,IAAI,eAAe,KAAK,aAAa,KAAK,MAAM;AAAA,IAC/D,KAAK,WAAW,IAAI,gBAAgB,KAAK,aAAa,KAAK,MAAM;AAAA;AAAA,SAG5D,UAAU,GAAW;AAAA,IAC1B,OAAO;AAAA;AAEX;;ACzEO,SAAS,QAAQ,CACtB,SACA,UAA2B,CAAC,GACR;AAAA,EACpB,QAAQ,YAAY,KAAK,WAAW,GAAG,YAAY,SAAS;AAAA,EAE5D,MAAM,QAAQ,QACX,MAAM,OAAO,EACb,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAAA,EAEnC,IAAI,MAAM,WAAW,GAAG;AAAA,IACtB,MAAM,IAAI,gBAAgB,mBAAmB;AAAA,EAC/C;AAAA,EAEA,IAAI,aAAa;AAAA,EACjB,IAAI,WAAW;AAAA,IACb,cAAc;AAAA,EAChB;AAAA,EAEA,MAAM,aAAiC,CAAC;AAAA,EAExC,SAAS,IAAI,WAAY,IAAI,MAAM,QAAQ,KAAK;AAAA,IAC9C,MAAM,OAAO,MAAM;AAAA,IACnB,MAAM,QAAQ,KAAK,MAAM,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IAEvD,IAAI,MAAM,SAAS,GAAG;AAAA,MACpB,MAAM,IAAI,gBAAgB,8BAA8B,IAAI,gCAAgC;AAAA,IAC9F;AAAA,IAEA,OAAO,SAAS,UAAU;AAAA,IAE1B,IAAI,CAAC,WAAW,CAAC,QAAQ;AAAA,MACvB,MAAM,IAAI,gBAAgB,8BAA8B,IAAI,oCAAoC;AAAA,IAClG;AAAA,IAEA,WAAW,KAAK,CAAC,SAAS,MAAM,CAAC;AAAA,EACnC;AAAA,EAEA,IAAI,WAAW,WAAW,GAAG;AAAA,IAC3B,MAAM,IAAI,gBAAgB,yCAAyC;AAAA,EACrE;AAAA,EAEA,OAAO;AAAA;AAGF,SAAS,KAAK,CAAC,YAAgC,gBAAgB,MAAc;AAAA,EAClF,MAAM,QAAkB,CAAC;AAAA,EAEzB,IAAI,eAAe;AAAA,IACjB,MAAM,KAAK,gBAAgB;AAAA,EAC7B;AAAA,EAEA,YAAY,SAAS,WAAW,YAAY;AAAA,IAC1C,MAAM,KAAK,GAAG,WAAW,QAAQ;AAAA,EACnC;AAAA,EAEA,OAAO,MAAM,KAAK;AAAA,CAAI;AAAA;AAGjB,SAAS,WAAW,CAAC,SAAiB,UAA2B,CAAC,GAAY;AAAA,EACnF,IAAI;AAAA,IACF,SAAS,SAAS,OAAO;AAAA,IACzB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;",
29
+ "debugId": "4E39295D9A096FAA64756E2164756E21",
30
30
  "names": []
31
31
  }